一、DNS的含义
DNS是Domain Name System的英文缩写,被翻译为域名系统,是英特网的一项核心服务,它作为可以将域名和IP相互映射的一个数据库,使用户在访问互联网时只需要记住简单的域名(如www.baidu.com),而不需要记住复杂的被机器直接读取的IP数字串,即DNS的工作就是当用户在输入域名时,帮助用户自动找到该域名对应的IP从而使用户在使用互联网时更加方便。
二、DNS的部署
1、安装:yum install bind -y
2、系统启动并设置为开机自启动
systemctl start named
systemctl enable named
3、在主配置文件/etc/named.conf中将所有的接口打开并可以为所有的主机进行网络解析服务
修改配置文件后需要重新启动
二、DNS的基本使用
1、DNS的正向解析(即将域名解析为IP)
在DNS的子配置文件/etc/named.rfc1912.zones中写入需要被解析的域名
file表示在访问westos.com域名时读取的文件,需自己建立!!!
在数据目录/var/named下有系统设定的域名文件,可以通过cp复制为模板再进行更改
cp -p /var/named/name.localhost /var/named/westos.com.zone
注意:“@”符表示在子配置文件中所设定的那个域名(westos.com),该文件中所有的域名如dns.westos.com的结尾都需要 添加一个“.”,否则会被该@符读取!!!
第一行的TTL是一种设定,后面的1D表示该记录文件里面的各项记录的预设TTL值为86400秒,即刚好一天
IN定义出目前的记录类型是属于internet class的
SOA表示目前区域的授权记录开始,其后面的值为区域授权主机和管理信箱!!
serial表示修改的时间及次数,当自己在修改记录文件时需要更改serial的值,否则修改无法被slave识别;
refresh表示数据多久进行一次更新
retry表示如果slave的对数据更新失败后,多久后进行重试
expire记录逾期时间,即超过该时间slave未与master进行联系,系统会放弃retry并标记该数据标识为过期
minimum最小预设TTL的值,如果在文件开头没有设置TTL的值,将以该处的值为准!!
设定好服务端后需要对服务端的named进行重启,并对客户端的解析文件/etc/resolve进行指定DNS的设定
测试:在服务端主机进行域名解析:dig www.westos.com
如上图,该域名的解析地址,解析服务器都会呈现出来!!
2、DNS的反向解析
反向解析即将IP地址解析为域名!!
在DNS子配置文件/etc/named.rfv1912.zones里添加需要反向解析的IP数据段
如上图,反向解析的IP数据段在写如该文件时也需要反向写,file表示反向解析的记录文件,需要自行建立
与正向解析类似,可以在数据目录/var/named下复制一个反向解析记录文件模板进行建立
最后一行表示在该数据段下的225IP解析的域名为www.westos.com
修改完后需要重新启动named哟!!!
测试:在客户端进行反向解析:dig -x 172.25.254.225
3、DNS的双向解析
即设置两个数据文件,一个为指定IP客户端进行解析时读取的文件,成为内部文件;另一个为其他所有IP客户端进行解析时所读取的文件,这两个文件也需要在主配置文件中进行设定,使系统可以读取到!!!
内部解析的设置:
上图表示当IP为172.25.254.25的客户端进行解析时,读取/etc/named.rfc1912.zones的子配置文件中的解析的域名
外部解析的设置:
上图表示当其他客户主机来进行解析时,读取/etc.named.rfv1912.zones.inter子配置目录中的解析的域名
注意:该子配置文件需要自行建立(可cp模板进行建立),如下:
该记录文件需要自行建立!!!!、
为了进行区分,解析地址设置为不同于内部文件的!!!
测试:在ip为25和其他的一台主机均对www.westos.com进行解析,所得到的解析结果不相同!!!
如上图,外部解析和内部解析所得到的结果完全不同,表示双向解析设定OK!!
4、辅助DNS(即设置一个slave)
辅助DNS存在的意义在于当主DNS的解析用户过多时会造成解析速度太慢,用户体验太差,此时设置一个辅助DNS用于缓解主DNS的解析压力!!!
步骤:
在主DNS中的设定:
在子配置文件中设置辅助DNS的IP,即设定该服务器作为自己的辅助DNS
然后重启服务
在辅助DNS中的设定:
首先需要在辅助服务器上安装name服务(步骤设定同第二项)
在子配置文件中设置针对于哪些域名自己为slave服务器
type设置为slave,并指明自己的master的IP,file文件需自行建立但可以不写入内容!!!
重启服务后该辅助DNS便设置OK
测试:在客户主机上将解析地址设定为辅助DNS对www.westos.com进行解析
我们在双向解析中设定了除172.25.254.25外,其他主机均为外部解析,虽然测试主机仍未172.25.254.25,但这次解析是先通过172.25.254.125解析访问主DNS,所以172.25.254.125为外部主机,所以访问的是外部文件!!!
5、DNS的远程更新
基于IP的远程更新
在子配置文件中设定允许被谁更新
allow-update为允许谁远程更新数据!!
重启服务后,需要给/var/named目录添加权限,才能更新成功
测试:在172.25.254.125主机上用nsupdate命令进行更新
该更新为添加一个新的域名bbs.westos.com
若添加成功,则可以在测试主机上解析到
常见报错:
如果在更改时出现如下报错:
此时可以查看主DNS的报错日志,可能与安全上下文有关,运行如下命令即可:
此时便可被更改:
基于密码的远程更新
先复制一个密码的模板:cp -p /etc/rndc.key /etc/westos.key(该文件名称可以随意定义)
然后再通过密码生成命令进行生成密码和钥匙:
-a表示密码类型,此处的HMAC-MD5是哈西加密的一种类型;
-b表示密码的字节数,此处用128b;
-n表示密码的用户类型
密码生成后需要加密码放在/etc/westos.key里
该文件中密码名称必须和生成时密码的名称相同,secret的内容也要一致!!!
然后需要将该密码文件写入DNS的主配置文件,让系统可以识别该密码!!
还需要将子配置文件中允许IP远程更改改为密码验证更改
然后将改密码发送给其他服务器,有该密码该服务器才能进行远程修改
测试:在有密码的主机上对主DNS进行数据更新:
通过DHCP对DNS进行数据更新:
在上一步密码加密的基础上,修改记录文件,将www的服务器去掉
进行DHCP的设置:
在主DNS上搭建一个DHCP环境:
安装DHCP服务:yum install dhcp -y
制作DHCP服务的主配置文件:
进入配置文件中进行搭建DHCP的设置:
设置客户主机的域名和dns:
设置客户主机的可能获得的IP范围、子网掩码以及网关,加入主DNS的密码文件
然后重启服务!!
将其他一主机设置为dhcp分配网络,当该主机得到IP时,westos.com的解析服务器的IP就会变为该主机获得的IP