Linux之DNS服务大全

DNS(Domain Name System,域名系统),万维网上作为域名和IP地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串。通过域名,最终得到该域名对应的IP地址的过程叫做域名解析(或主机名解析)。DNS协议运行在UDP协议之上,使用端口号53
1.DNS高速缓存
 如果在同一个网络中的主机都要查询同一个域名时,就需要都去互联网上询问,这样效率比较低。如果在一个网络中添加一个dns服务器,让其它主机的dns指向该dns服务器,由该dns服务器去互联网上查询,并在本地进行缓存,当有主机查询时由于本地有数据,就不用再去互联网上查询。大大减少数据流量,和访问速度。这就是dns高速缓存。

dns服务器:
	   ip 172.25.254.180
	   DNS 114.114.114,114
测试主机:
	   DNS 172.25.254.180

 将dns服务器的DNS指向114.114.114.114,所以要求dns服务器必须能够上网。
DNS服务器配置

[root@dns-cache ~]# yum install bind	 #安装dns服务软件
[root@dns-cache ~]# vim /etc/named.conf  #编辑主配置文件

在这里插入图片描述
在这里插入图片描述

第11行是让53端口监测在所有的ip上;
第17行是允许所有主机访问;
第18行配置文件中并没有,需要自己添加,表示在本机没有对应的域名时去114.114.114.114上寻找;
第32行表示不需要自检。

重启dns服务,并关掉火墙:

[root@dns-cache ~]# systemctl start named
[root@dns-cache ~]# systemctl stop firewalld.service 
[root@dns-cache ~]# systemctl disable firewalld.service 

测试端配置:
将DNS指向dns服务器:

[root@test ~]# vim /etc/resolv.conf 
nameserver 172.25.254.180

在测试端测试:
第一次解析qq.com的地址需要32ms

[root@test ~]# dig qq.com

在这里插入图片描述
 由于dns服务器已经将qq.com的信息缓存了下来,所以第二次查询时只需要0msec:
在这里插入图片描述
2.权威DNS
 权威DNS就是在本地设置一个域,当有用户查询时可以在本机查找到。
 修改dns服务器配置文件,由于不用再去互联网上查询,所以将之前添加的forwarders删除:

[root@dns ~]# vim /etc/named.conf

在这里插入图片描述
 如果将所有维护的域都写在主配置文件/etc/named.conf,则该文件会特别的长,不利于维护,所以将需要维护的域写入子配置文件/etc/named.rfc1912.zones中。

[root@dns ~]# vim /etc/named.rfc1912.zones

在这里插入图片描述

25行"westos.com"为所要维护的域;
27行为westos.com域所对应的数据文件。

 切换到dns的数据目录,以named.localhost为模板创建westos.com.zone文件:

[root@dns named]# cp -p named.localhost westos.com.zone	#-p为复制权限
[root@dns named]# vim westos.com.zone 

westos.com.zone 文件内容如下:
在这里插入图片描述
第1行:表示数据在客户端缓存1天;
第2行:第一个dns.westos.com.表示权限的起始,第二个dns.westos.com.表示在出现问题时发邮件给dns.westos.com
第10行:表示www.westos.com域名对应的ip为172.25.80.1;
 该文件中的@表示所要维护的域,所有不以“.“结尾的都会自动补全@所代表的值。
重启dns服务:

[root@dns named]# systemctl restart named

 测试端查询www.westos.com域名对应的ip地址为172.25.80.1:
在这里插入图片描述
3.域名转化

[root@dns named]# vim westos.com.zone 

在这里插入图片描述
 上图红框中表示www.westos.com所代表的为域名为redhat.a.westos.com域,该域名有对应两个IP。
重启dns进行测试:

[root@dns named]# systemctl restart named

在这里插入图片描述
4.邮件域名解析

[root@dns named]# vim westos.com.zone 

在这里插入图片描述
 westos.com邮箱对应的IP为172.25.25.80主机,重启服务测试:

[root@dns named]# systemctl restart named
[root@test ~]# mail westos@westos.com
[root@test ~]# mailq

在这里插入图片描述
 发邮件给westos.com域,mailq查看邮件阵列,可以发现dns服务器将westos.com解析为了172.25.25.80。

5.反向解析

[root@dns named]# vim /etc/named.rfc1912.zones 

在这里插入图片描述

48行为所维护的网段
50行为该域对应的数据文件

 以named.loopback为模板创建172.25.254.ptr文件。

[root@dns named]# cp -p /var/named/named.loopback /var/named/172.25.254.ptr
[root@dns named]# vim /var/named/172.25.254.ptr

在这里插入图片描述
 表示将172.25.254.111解析为haha.westos.com域名,测试如下:

[root@dns named]# systemctl restart named
[root@test ~]# dig -x 172.25.254.111

在这里插入图片描述

6.双向解析
 让1.1.1网段访问www.westos.com的结果为1.1.1网段,其它网段解析的为172.25.254网段。

dns服务器必须有两个不同网段:
在这里插入图片描述
 如图编辑主配置文件,表示当客户端为1.1.1.0网段时去查找named.rfc1912.inter文件,其它网段的查找named.rfc1912.zones文件。

[root@dns ~]# vim /etc/named.conf 

在这里插入图片描述

[root@dns ~]# cp -p /etc/named.rfc1912.zones /etc/named.rfc1912.inter
[root@dns ~]# vim  /etc/named.rfc1912.inter

在这里插入图片描述

[root@dns ~]# cd /var/named/
[root@dns named]# cp -p westos.com.zone westos.com.inter
[root@dns named]# vim westos.com.inter 

在这里插入图片描述
 测试如下,80主机IP为172.25.254.80不是1.1.1.0网段,所以解析的地址为172.25.254网段。
在这里插入图片描述
 inter主机IP为1.1.1.80,所以其解析的地址为1.1.1.0网段。
在这里插入图片描述
7.dns数据同步
 为了减缓主DNS服务器的压力,所以需要一台与主DNS具有相同数据的dns-slave。要实现两台主机的数据同步,需要另一台dns-slave去同步主DNS服务器的数据。
dns-slave服务器安装dns软件bind,并修改配置文件。

[root@dns-slave ~]# yum install bind -y
[root@dns-slave ~]# vim /etc/named.conf 

在这里插入图片描述

[root@dns-slave ~]# vim /etc/named.rfc1912.zones

在这里插入图片描述
主DNS配置:

[root@dns named]# vim /etc/named.conf 

在这里插入图片描述

[root@dns named]# vim /etc/named.rfc1912.zones 

在这里插入图片描述
dns-slave开启DNS服务之后/var/named/slaves/下出现westos.com.zone文件:
在这里插入图片描述
dns-slave的dns指向自己:

 [root@dns-slave slaves]# vim /etc/resolv.conf 

在这里插入图片描述
测试:
 dns-slave的DNS指向自己,可以查询到westos.com域,所以dns-slave同步了主DNS的数据。

[root@dns-slave slaves]# dig www.westos.com

在这里插入图片描述
 将主dns的数据修改:
在这里插入图片描述

[root@dns named]# systemctl restart named

在这里插入图片描述
dns-slave的数据没有修改:
在这里插入图片描述
 如果修改了主DNS服务器的数据,但是dns-slave的数据并没有更新,要让dns-slave可以更新数据,需要添加一些参数:

[root@dns named]# vim /etc/named.rfc1912.zones 

在这里插入图片描述

第29行表示允许172.25.254.181(dns-slave)主机同步主DNS的数据。
第30行表示在主DNS数据修改之后让dns-slave也更新数据。

 dns-slave会对比两台主机的serial,如果serial值没有改变表示主DNS的数据没有改变,如果serial值不同,表示主DNS的值发生了改变。所以每次主dns的数据修改之后必须修改serial的值,最大10位。

[root@dns named]# vim westos.com.zone 

在这里插入图片描述

[root@dns-slave slaves]# systemctl stop firewalld.service
[root@dns named]# systemctl restart named

在这里插入图片描述
8.远程更新
 远程更新就是dns服务器允许另一台主机通过网络更新自己的数据。

[root@dns named]# chmod 770 /var/named/	#修改 /var/named/权限,保证该文件可以被更改
[root@dns named]# vim /etc/named.rfc1912.zones 

在这里插入图片描述
  /var/named/表示允许172.25.254.181主机更新数据。如果selinux没有关闭,则将dns的setsebool打开:
在这里插入图片描述
 172.25.254.181主机更新172.25.254.180的DNS,添加了一个test.westos.com主机。
在这里插入图片描述
172.25.254.180主机测试:
在这里插入图片描述

9.密码更新
 生成密码,由下图可知,该加密方式为对称加密:

[root@dns mnt]# dnssec-keygen -a HMAC-MD5 -b 128 -n HOST westoskey

在这里插入图片描述

[root@dns mnt]# cp -p /etc/rndc.key /etc/westos.key
[root@dns mnt]# vim /etc/westos.key 

在这里插入图片描述

[root@dns mnt]# vim /etc/named.conf 

在这里插入图片描述
修改更新方式为key更新:

[root@dns mnt]# vim /etc/named.rfc1912.zones 

在这里插入图片描述

[root@dns mnt]# systemctl restart named
[root@dns mnt]# scp Kwestos.key.+157+15806.* root@172.25.254.181:/mnt/
[root@updata mnt]# nsupdate -k Kwestoskey.+157+52710.private 	#用密码更新

在这里插入图片描述
删除如下:
在这里插入图片描述
测试,NXDOMAIN表示没有该域名:
在这里插入图片描述
远程更新或者密码更新都会在数据更新后会生成如下文件:
在这里插入图片描述
在重启服务后数据文件westos.com.zone文件才会被修改:
在这里插入图片描述
10.动态域名解析-dds-花生壳
 动态域名解析就是在DNS服务器上添加一个dhcp服务,当有主机通过dhcp服务获得IP地址时,dhcp服务会告诉DNS服务自己将什么IP分配给了哪台主机。这样DNS就直到了域名和IP的对应关系。
 实验之前将更新后的文件恢复,并删掉westos.com.zone.jnl文件:
在这里插入图片描述
安装配置dhcp:

[root@dns named]# yum install dhcp	#安装dhcp
[root@dns named]# cp -p /usr/share/doc/dhcp*/dhcpd.conf.example /etc/dhcp/dhcpd.conf
[root@dns named]# vim /etc/dhcp/dhcpd.conf 

在这里插入图片描述

第7行表示所维护的域为westos.com;
第8行为DNS指向;
第14行表示将打开动态域名解析的功能。

在这里插入图片描述
将该文件中没用的内容删掉,在后面添加上图所示内容,并重启服务;

[root@dns named]# systemctl restart dhcpd.service 

 game.westos.com主机通过dhcp方式获得了一个IP地址。其DNS指向dns服务器。dns服务器通过dhcp知道了game.westos.com域名所对应的IP地址,所以当有人询问game.westos.com对应的IP时,DNS就可以回馈给用户。
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值