一、DNS简介:

域名系统(英文:Domain Name System,缩写:DNS)是互联网的一项服务。它作为将域名和IP地址相互映射的一个分布式数据库,能够使人更方便地访问互联网。DNS使用TCP和UDP端口53。当前,对于每一级域名长度的限制是63个字符,域名总长度则不能超过253个字符。

二、DNS的作用及数据结构:

三、DNS的类型:

根据所管理的区域地质数据来源的不同,DNS系统可以分为不同的类型。常见的有缓存域名服务器、主域名服务器以及从域名服务器。

四、BIND域名服务

BIND表示唯一能够提供域名服务的DNS服务程序,但却是最广泛应用的,BIND可在大多数的Linux/UNIX主机中运行。

五、安装与配置DNS服务

1、DNS正向解析

(1)在服务器上使用yum安装执行“yum install bind -y”命令安装BIND软件包。

(2)执行“rpm - qc bind”命令查看安装的bind软件包是否完整。

(3)执行“vim /etc/named.conf”命令进入到主文件配置。

(4)在主文件配置中把原有模板中的IP地址换为本地主机的IP地址,并将权限中的“localhost”换为any,授权所有人访问。

(5)然后执行“vim /etc/named.rfc1912.zones”命令进入到区域配置文件。

(6)在区域配置文件中,我们可以复制一份模板来改写,将正向区域中的“localhost”换为“kgc.com”,然后改区域数据配置文件为“kgc.com.zone”即可。

(7)执行“cd /var/named/”命令进入区域数据配置文件的目录,我们再执行“cp -p named.localhost kgc.com.zone”命令保留原有权限的复制模板文件来修改。

(8)执行“vim kgc.com.zone”命令进入到区域数据配置文件。

(9)进入区域数据配置文件后,将“@”全部换为“kgc.com.”; 换“rname.invalid”为“admin.kgc.com.”管理员邮箱;在吧ip地址换为本地主机的IP地址;最后把其余内容删除并输入邮箱服务器的主机地址、正向解析条目、别名解析条目以及泛域名解析条目。

(10)执行“systemctl stop firewalled.service”关闭防火墙,再执行“setenforce 0”命令关闭增强型安全功能。

(11)执行“systemctl start named”命令重启服务,再执行“netstat -nuap”命令查看此服务的UDP 53号端口是否开启。

(12)执行“netstat -ntap”查看此服务的TCP 53号端口是否开启。

(13)执行“echo “nameserver 192.168.174.155” > /etc/resolv.conf”命令来指定本地主机IP地址为DNS服务器地址。

(14)使用host命令来即可获取解析到的IP地址。

2、DNS反向解析

(1)在上述正向解析的基础下,我们执行“vim /etc/named.rfc1912.zones”再次进入到区域配置文件中。

(2)在区域配置文件在复制反向解析模板,倒过来填写IP地址区域,并指定区域数据配置文件即可。

(3)执行“cp -p kgc.com.zone yun.com.loacl”命令保留原有权限的复制模板文件来修改。

(4)执行“vim yun.com.local”进入区域数据文件来修改, 将原有的“kgc”全换为yun;删除原有解析条目,输入反向解析条目即可。 (5)执行“systemctl start named”命令重启服务。

(6)使用host命令即可获取反向解析的域名。

3、DNS主从同步(双机热备)

(1)在另一台服务器上同样关闭防火墙及安全功能,并使用yum安装执行“yum install bind -y”命令安装BIND软件包。

(2)同样的进入到主配置文件。

(3)在主配置文件中把IP地址换成第二台服务器的IP地址,并授权所有人访问。

(4)执行“vim /etc/named.rfc1912.zones”进入到区域配置文件中。

(5)在区域配置文件中同样复制正向解析模板来修改,将类型换成从区域slave并指定下载文件存放目录,中指定主服务器的IP地址。

(6)然后再去到主服务器的区域配置文件修改。

(7)在主服务器的区域配置文件中将“update”换成“transfer”传输,并指定从服务器的IP地址。

(8)执行“systemctl start named”命令重启服务即可看到同步的文件。

(9)执行“echo “nameserver 192.168.174.151” > /etc/resolv.conf”命令来指定本地主机IP地址为DNS服务器地址。

(10)最后使用host命令来换取解析结果。