Linux系统之DNS解析

一、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

  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值