Linux菜鸟成长日记 ( Linux 企业级域名解析服务器部署(DNS) )

Linux 企业级域名解析服务器部署

  • DNS (Domain Name System,域名系统)
    相较于由数字构成的 IP 地址,域名更容易被理解和记忆,所以我们通常更习惯通过域名的方式来访问网络中的资源。但是,网络中的计算机之间只能基于 IP 地址来相互识别对方的身份,而且要想在互联网中传输数据,也必须基于外网的 IP 地址来完成。
    为了降低用户访问网络资源的门槛,DNS(Domain Name System,域名系统)技术应运而生。这是一项用于管理和解析域名与 IP 地址对应关系的技术,简单来说,就是能够接受用户输入的域名或 IP 地址,然后自动查找与之匹配(或者说具有映射关系)的 IP 地址或域名,即将域名解析为 IP 地址(正向解析),或将 IP 地址解析为域名(反向解析)。
    这样一来,我们只需要在浏览器中输入域名就能打开想要访问的网站了。DNS 域名解析技术的正向解析也是我们最常使用的一种工作模式。
  • DNS 服务器主要分为以下三种:
    • 主服务器(权威服务器):在特定区域内具有唯一性,负责维护该区域内的域名与 IP 地址之间的对应关系。
    • 从服务器:从主服务器中获得域名与 IP 地址的对应关系并进行维护,以防主服务器宕机等情况。
  • 缓存服务器:通过向其他域名解析服务器查询获得域名与 IP 地址的对应关系,并将经常查询的域名信息保存到服务器本地,以此来提高重复查询时的效率。

下面来介绍 DNS 服务器的配置

1. 安装 bind 服务

  • BIND
    BIND( Berkeley Internet Name Domain),伯克利因特网名称域)服务是全球范围内使用最广泛、最安全可靠且高效的域名解析服务程序。
    在 bind 服务程序有以下三个关键的文件:
  • 主配置文件( /etc/named.conf ):只有 58 行,而且在去除注释信息和空行之后,实际有
    效的参数仅有 30 行左右,这些参数用来定义 bind 服务程序的运行。
  • 区域配置文件( /etc/named.rfc1912.zones ):用来保存域名和 IP 地址对应关系的所在位置。类似于图书的目录,对应着每个域和相应 IP 地址所在的具体位置,当需要查看或修改时,可根据这个位置找到相关文件。
  • 数据配置文件目录( /var/named ):该目录用来保存域名和 IP 地址真实对应关系的数据配置文件。

执行如下命令进行安装:

 [root@dns-server ~]# yum install bind.x86_64 -y
 Loaded plugins: langpacks
 Resolving Dependencies
 --> Running transaction check
 ---> Package bind.x86_64 32:9.9.4-14.el7 will be installed
 .........(省略安装过程)..........

 Installed:
   bind.x86_64 32:9.9.4-14.el7                                                   

 Complete!

开启服务
Linux菜鸟成长日记 ( Linux 企业级域名解析服务器部署(DNS) )_第1张图片

2. 高速缓存 DNS 服务器部署

高速缓存 DNS 服务器:通过向其他域名解析服务器查询获得域名与 IP 地址的对应关系,并将经常查询的域名信息保存到服务器本地,以此来提高重复查询时的效率。

在 DNS 服务器端
对主配置文件( /etc/named.conf )进行配置
/etc/named.conf named 服务的配置文件。语句用括号括起来,以分号结束。语句中的子句也是分号终止。支持通常的注释样式。

编辑配置文件第11,18,33行:
 [root@dns-server ~]# vim /etc/named.conf 
 ........(我是用来省略的)........
 10 options {
 11         listen-on port 53 { any; };  #允许任何ip通过53端口进行访问
 12         listen-on-v6 port 53 { ::1; };
 13         directory       "/var/named";
 14         dump-file       "/var/named/data/cache_dump.db";
 15         statistics-file "/var/named/data/named_stats.txt";
 16         memstatistics-file "/var/named/data/named_mem_stats.txt";
 17         allow-query     { any; };
            #控制哪些客户端可以向 DNS 服务器询问信息
 18         forwarders {114.114.114.114; }; 
            #包含 DNS 查询将转发至的名称服务器列表
 19 
 ........(我是用来省略的)........ 
 32         dnssec-enable yes;
 33         dnssec-validation no;    #DNS安全扩展验证关闭
 配置完成重启服务
 [root@dns-server ~]# systemctl restart named
 关闭服务器防火墙
 [root@dns-server ~]# systemctl stop firewalld
 [root@dns-server ~]# systemctl disable firewalld

执行如下:
对主配置文件( /etc/named.conf )进行配置
Linux菜鸟成长日记 ( Linux 企业级域名解析服务器部署(DNS) )_第2张图片
这里写图片描述

在客户端

 编辑 /etc/resolv.conf 设置获取 DNS 服务的服务器
 [root@client3 ~]# vim /etc/resolv.conf 
 编辑如下:
  1 # Generated by NetworkManager
  2 nameserver 172.25.151.150   #DNS 服务器 IP
 关闭客户端防火墙
 [root@client3 ~]# systemctl stop firewalld
 [root@client3 ~]# systemctl disable firewalld
 通过 dig 命令查看是否设置成功
 dig  #DNS 查找工具
 [root@client3 ~]# dig www.baidu.com

执行如下:
编辑 /etc/resolv.conf 设置获取 DNS 服务的服务器
这里写图片描述
通过 dig 服务进行 DNS 查询
客户端2 进行dig,查询时间:1618毫秒
Linux菜鸟成长日记 ( Linux 企业级域名解析服务器部署(DNS) )_第3张图片
客户端3 进行dig,查询时间:0毫秒
Linux菜鸟成长日记 ( Linux 企业级域名解析服务器部署(DNS) )_第4张图片
以上操作验证了高速缓存服务器的作用,客户端2 进行 DNS 查询时,DNS 服务器从其他域名解析服务器查询获得域名保存在本地,下一次有客户端进行访问时,将会快速查询

3. 权威 DNS 服务器(主服务器)部署

权威 DNS 服务器:在特定区域内具有唯一性,负责维护该区域内的域名与 IP 地址之间的对应关系。

3.1 正向 DNS 解析服务器部署

在 DNS 域名解析服务中,正向解析是指根据域名(主机名)查找到对应的 IP 地址。也就是说,当用户输入了一个域名后,bind 服务程序会自动进行查找,并将匹配到的 IP 地址返给用户。这也是最常用的 DNS 工作模式。

配置如下:

 编辑主配置文件( /etc/named.conf )
 [root@dns-server ~]# vim /etc/named.conf
 18         forwarders {114.114.114.114; };  #删除此行
 编辑区域配置文件(/etc/named.rfc1912.zones)
 [root@dns-server ~]# vim /etc/named.rfc1912.zones
 添加如下内容:
 26 zone "server.com" IN {
 27         type master;    
            #服务类型
 28         file "server.com.zone";  
            #域名与 IP 地址解析规则保存的文件位置
 29         allow-update { none; };
            #允许哪些客户动态更新解析信息
 30 };

执行如下:
1.编辑主配置文件( /etc/named.conf )
Linux菜鸟成长日记 ( Linux 企业级域名解析服务器部署(DNS) )_第5张图片
2.编辑区域配置文件(/etc/named.rfc1912.zones)
Linux菜鸟成长日记 ( Linux 企业级域名解析服务器部署(DNS) )_第6张图片
上述区域配置文件(/etc/named.rfc1912.zones)第 28 行的域名与 IP 地址解析规则保存的文件 server.com.zone 在/var/named 下
可通过执行 cp -p named.localhost server.com.znoe 通过模版文件生成
注意 cp - p 命令,保留文件的属性,如果此文件named 用户不可读,则会导致 named 服务无法识别此文件
在主服务器端:
编辑配置文件 /var/named/server.com.zone

 [root@dns-server ~]# vim /var/named/server.com.zone
 内容如下:
  1 $TTL 1D
  2 @       IN SOA  dns.server.com. root.server.com. (
  3                                         0       ; serial
  4                                         1D      ; refresh
  5                                         1H      ; retry
  6                                         1W      ; expire
  7                                         3H )    ; minimum
  8         NS      dns.server.com.   #域名服务器记录
  9 dns     A       117.25.151.150    #地址记录(dns.server.com)
 10 lin     A       172.25.151.139    #地址记录(lin.server.com)
 11 juan    A       172.25.151.140    #地址记录(jun.server.com)
 12 www     CNAME   node1.server.com.  #定义了node1 的别名为 www
 13 node1   A       172.25.151.100
 14 node1   A       172.25.151.200
 
~
====================================================================
 其中:                                         
 TTL  #time to live 生存时间,默认为秒
 @    #表示相应的域名,表示一个域名定义的开始
      #这里代表server.com
 IN   #表示后面的数据使用的是INTERNET标准
 SOA  #表示授权开始
 dns.server.com.    #该域的主域名服务器
 root.server.com.   #管理员邮件地址

serial  #更新序列号。表示配置文件的修改版本,格式是年月日当日修改的次数,每次修改时都应该
        #修改这个数字,要不然所做修改的不会更新到网上的其它DNS服务器的数据库上,即你所做
        #的更新很可能对于不以你你的所配置的DNS服务器数据库上,即你所做的更新很可能对于不
        #以你的所配置的DNS服务器为DNS服务器的客户端来说就不会反映出你的更新,也就对他们来
        #说你的更新是没意义的

refresh   #定义以单位(M分,H时,W周,默认是秒即不带单位)的刷新频率,即规定从域名服务器
          #多长时间查询一个主服务器,以服务器的数据的是最新的
	
retry     #以30分钟的时间间隔重试,即当从服务器试图在主服务器上查询更新时,而连接失败了,
          #则这个值规定了从服务器多长时间后重试

expire    #规定从服务器在向主服务器更新失败之后清除记录的时间
	
minimum   #规定缓冲服务器不能与主服务器联系上的清除记录时间
NS ( net server )     #表示该主机是域名服务器
A ( address )         #定义了一条A记录,表示该主机名到IP地址的对应记录
CNAME 	  #定义了对应主机的一个别名
[root@dns-server ~]# systemctl restart named
#重启 named 服务

执行如下:
编辑配置文件 /var/named/server.com.zone
Linux菜鸟成长日记 ( Linux 企业级域名解析服务器部署(DNS) )_第7张图片
在客户端
修改客户端 dns 服务器

 编辑 /etc/resolv.conf
 [root@client2 ~]# vim /etc/resolv.conf
 内容如下:
  1 # Generated by NetworkManager
  2 nameserver 172.25.151.150   #DNS 服务器 IP
 dig 服务器端有的地址记录进行 DNS 服务器配置确认 

执行如下:
1.修改客户端 dns 服务器
这里写图片描述
2.通过 dig 来测试 DNS 服务器是否部署成功
dig lin.server.com
Linux菜鸟成长日记 ( Linux 企业级域名解析服务器部署(DNS) )_第8张图片
dig www.server.com 来查看 CNAME 的效果
第一次 dig
Linux菜鸟成长日记 ( Linux 企业级域名解析服务器部署(DNS) )_第9张图片
第二次 dig
Linux菜鸟成长日记 ( Linux 企业级域名解析服务器部署(DNS) )_第10张图片
与 dig 百度的域名是类似的
Linux菜鸟成长日记 ( Linux 企业级域名解析服务器部署(DNS) )_第11张图片

3.2 反向 DNS 解析服务器部署

DNS 域名解析服务中,反向解析的作用是将用户提交的 IP 地址解析为对应的域名信息,它一般用于对某个 IP 地址上绑定的所有域名进行整体屏蔽,屏蔽由某些域名发送的垃圾邮件。它也可以针对某个 IP 地址进行反向解析,大致判断出有多少个网站运行在上面。当购买虚拟主机时,可以使用这一功能验证虚拟主机提供商是否有严重的超售问题。

在 DNS 服务器端

 编辑:/etc/named.rfc1912.zones
 [root@dns-server ~]# vim /etc/named.rfc1912.zones
 内容如下:
 50 zone "151.25.172.in-addr.arpa" IN {
     #表示 172.25.151.0/24 网段的反向解析区域
 51         type master;
 52         file "server.com.ptr";
 53         allow-update { none; };
 54 };

 #通过 cp -p /var/named/loopback /var/named/server.com.ptr 创建上述对应的文件
 [root@dns-server ~]# cp -p /var/named/named.loopback /var/named/server.com.ptr
 编辑 /var/named/server.com.ptr
 [root@dns-server ~]# vim /var/named/server.com.ptr
 内容如下:
  1 $TTL 1D
  2 @       IN SOA  dns.server.com. root.server.com. (
  3                                         0       ; serial
  4                                         1D      ; refresh
  5                                         1H      ; retry
  6                                         1W      ; expire
  7                                         3H )    ; minimum
  8         NS      dns.server.com.
  9 dns     A       172.25.151.150
 10 139     PTR     lin.server.com.    #PTR 为指针记录,仅用于反向解析
 11 140     PTR     juan.server.com.
~                                   

注: 配置完成后重启服务
执行如下:
编辑:/etc/named.rfc1912.zones
这里写图片描述
编辑:/var/named/server.com.ptr
Linux菜鸟成长日记 ( Linux 企业级域名解析服务器部署(DNS) )_第12张图片
在服务端进行验证
可以直接使用 nslookup 命令来检验解析结果,仅需输入 IP 地址即可查询到对应的域名信息。

 nslookup  #查询Internet名称服务器

在部署反向解析服务器之前:
Linux菜鸟成长日记 ( Linux 企业级域名解析服务器部署(DNS) )_第13张图片
部署反向解析服务器之后:
Linux菜鸟成长日记 ( Linux 企业级域名解析服务器部署(DNS) )_第14张图片

3.3 内外网 DNS 服务器部署

在一个企业中,DNS 服务器应该可以保证企业内用户和使用本企业 DNS 的外网用户访问到的 IP 不同,从而方便企业内的用户进行操作

在服务端

编辑主配置文件 /etc/named.conf

内容如下:
.........(我是用来省略的).........
 51 /*
 52 zone "." IN {
 53         type hint;
 54         file "named.ca";
 55 };
 56 
 57 include "/etc/named.rfc1912.zones";
 58 include "/etc/named.root.key";
 59 */
 #将上述内容注释:
 
 61 view  localnet {                          #本地客户访问的 DNS 服务
 62         match-clients { 172.25.151.25; }; #允许固定IP或网段的用户访问
 63         zone "." IN{
 64                 type hint;
 65                 file "named.ca";
 66 };
 67 include "/etc/named.rfc1912.zones";
 68 };
 69 
 70 
 71 view  internet {                        #外网客户访问的 DNS 服务
 72         match-clients { any; };         #允许所有用户访问
 73         zone "." IN{
 74                 type hint;
 75                 file "named.ca";
 76 };
 77 include "/etc/named.rfc1912.zones.inter";
 78 };

执行如下:
编辑 /etc/named.conf
Linux菜鸟成长日记 ( Linux 企业级域名解析服务器部署(DNS) )_第15张图片

配置完成后为外网添加 DNS 服务器配置文件

 执行 cp -p /etc/named.rfc1912.zones /etc/named.rfc1912.zones.inter
 将外网DNS的主配置文件创建出来
 编辑/etc/named.rfc1912.znoes.inter

 内容如下:将外网用户的 DNS 解析文件,设置为 “server.com.inter” 
 25 zone "server.com" IN {
 26 
 27         type master;
 28         file "server.com.inter";
 29         allow-update { none; };
 30 };

 执行 cp -p /var/named/server.com.zone /var/named/server.com.inter
 将外网 DNS 的解析文件创建出来
 编辑: /var/named/server.com.inter
 [root@dns-server ~]# vim /var/named/server.com.inter
 内容如下:
  1 $TTL 1D
  2 @       IN SOA  dns.server.com. root.server.com. (
  3                                         0       ; serial
  4                                         1D      ; refresh
  5                                         1H      ; retry
  6                                         1W      ; expire
  7                                         3H )    ; minimum
  8         NS      dns.server.com.
  9 dns     A       192.168.1.150
 10 lin     A       192.168.1.139
 11 juan    A       192.168.1.140
 12 www     CNAME   node1.server.com.
 13 node1   A       192.168.1.100
 14 node1   A       192.168.1.200

注: 配置完成后重启服务
执行如下:
编辑: /etc/named.rfc1912.zones.inter
Linux菜鸟成长日记 ( Linux 企业级域名解析服务器部署(DNS) )_第16张图片
编辑: /var/named/server.com.inter
Linux菜鸟成长日记 ( Linux 企业级域名解析服务器部署(DNS) )_第17张图片
在可客户端进行测试
client2 是企业内用户,看到的是 172.25.151.0
Linux菜鸟成长日记 ( Linux 企业级域名解析服务器部署(DNS) )_第18张图片
client3 是外网用户,看到的是192.268.1.0
Linux菜鸟成长日记 ( Linux 企业级域名解析服务器部署(DNS) )_第19张图片

4. 从属 DNS 服务器(DNS 集群)部署

从主服务器中获得域名与 IP 地址的对应关系并进行维护,以防主服务器宕机等情况。

4.1 从属 DNS 服务器部署

部署 DNS 集群前,先将主 DNS 服务器中关于内外网的 DNS 的相关配置去掉

首先在子 DNS 服务器安装 DNS 服务
1. 配置 DNS 子服务器

 在从属服务器中配置如下(编辑/etc/named.conf)
 [root@dns-slave ~]# vim /etc/named.conf
 内容如下:
 10 options {
 11         listen-on port 53 { any; };
 12         listen-on-v6 port 53 { ::1; };
 13         directory       "/var/named";
 14         dump-file       "/var/named/data/cache_dump.db";
 15         statistics-file "/var/named/data/named_stats.txt";
 16         memstatistics-file "/var/named/data/named_mem_stats.txt";
 17         allow-query     { any; };
.........(省略).........

编辑 /etc/named.rfc1912.zones 

 25 zone "server.com" IN {
 26         type slave;         #类型为从属
 27         masters { 172.25.151.150 }; #为 172.25.151.150 服务
 28         file "slaves/server.com"; 
 29         allow-update { none; };
 30 };

配置完成,重启 named 服务

注:重启 named 服务
执行如下:
编辑 /etc/named.conf
Linux菜鸟成长日记 ( Linux 企业级域名解析服务器部署(DNS) )_第20张图片
这里写图片描述
编辑 /etc/named.rfc1912.zones
Linux菜鸟成长日记 ( Linux 企业级域名解析服务器部署(DNS) )_第21张图片
子服务端配置完成
2. 配置主服务器
在主服务器中配置 /etc/named.conf


 25 zone "server.com" IN {
 26         type master;
 27         file "server.com.zone";
 28         allow-update { none; };
 29         also-notify { 172.25.151.50; }; #也通知 172.25.151.50 这台主机
 30 };
 31 

执行如下:
Linux菜鸟成长日记 ( Linux 企业级域名解析服务器部署(DNS) )_第22张图片
如上就完成了对 DNS 从服务器的部署
在客户端,将 client2 的 DNS 服务器设为主服务器,client3 的 DNS 服务器设为从属服务器进行验证
client2 的 DNS 为172.25.151.150(为主 DNS 服务器)
这里写图片描述
client3 的 DNS 为172.25.151.5(从 DNS 服务器)
这里写图片描述
执行dig 命令进行验证:
client2:dig www.server.com
Linux菜鸟成长日记 ( Linux 企业级域名解析服务器部署(DNS) )_第23张图片
client3:dig www.server.com
Linux菜鸟成长日记 ( Linux 企业级域名解析服务器部署(DNS) )_第24张图片

若是在对主服务器的 地址信息进行了变化,需要对 serial 前的数字修改,否则从属服务器无法识别修改内容

serial: 更新序列号。表示配置文件的修改版本,格式是年月日当日修改的次数,每次修改时都应该修改这个数字,要不然所做修改的不会更新到网上的其它DNS服务器的数据库上,即你所做的更新很可能对于不以你你的所配置的DNS服务器数据库上,即你所做的更新很可能对于不以你的所配置的DNS服务器为DNS服务器的客户端来说就不会反映出你的更新,也就对他们来你的更新是没意义的

编辑 /var/named/server.com.zone

 [root@dns-server ~]# vim /var/named/server.com.zone
 内容如下:
  1 $TTL 1D
  2 @       IN SOA  dns.server.com. root.server.com. (
  3                                 2018052201      ; serial  
  4                                         1D      ; refresh
  5                                         1H      ; retry
  6                                         1W      ; expire
  7                                         3H )    ; minimum
  8         NS      dns.server.com.
  9 dns     A       172.25.151.150
 10 lin     A       172.25.151.139
 11 juan    A       172.25.151.140
 12 www     CNAME   node1.server.com.
 13 node1   A       172.25.151.101      #修改 IP 
 14 node1   A       172.25.151.201

配置完成,重启 named 服务

执行如下:
在主服务器修改信息
Linux菜鸟成长日记 ( Linux 企业级域名解析服务器部署(DNS) )_第25张图片
在客户端进行 dig 测试(未修改 serial 从属服务器是不会识别更改的)
client2:dig www.server.com
Linux菜鸟成长日记 ( Linux 企业级域名解析服务器部署(DNS) )_第26张图片
client3:dig www.server.com (无法观察到变化)
Linux菜鸟成长日记 ( Linux 企业级域名解析服务器部署(DNS) )_第27张图片
修改 serial 后
Linux菜鸟成长日记 ( Linux 企业级域名解析服务器部署(DNS) )_第28张图片

4.2 DNS 更新

有时候需要从 DNS 从属服务器向主服务器更新 DNS 信息

4.2.1 普通模式 DNS 更新(非加密模式)

在主服务器中编辑配置文件 /etc/named.rfc1912.zones

 [root@dns-server ~]# vim /etc/named.rfc1912.zones
 内容如下:
 25 zone "server.com" IN {
 26         type master;
 27         file "server.com.zone";
 28         allow-update { 172.25.151.50; };  #允许 172.25.151.50 进行上传
 29         also-notify { 172.25.151.50; };
 30 };

配置完成,重启 named 服务

更新后修改 /var/named/ 目录的权限,让 “组权限” 可写,否则从属服务器无法上传信息到主服务器

 [root@dns-server ~]# chmod 770 /var/named/

若还是拒绝(refuse)可查看配置文件,允许更新的主机IP是否正确,再查看是否与SELinux有关
在 DNS 从属服务器端,执行如下,进行 DNS 更新

 在从属服务器中执行 nsupdate 命令进行更新
 nsupdate   #动态域名更新实用程序
 [root@dns-slave ~]# nsupdate              
 > server 172.25.151.150      #要上传的目的地(主服务器)
 > update add test.server.com 86400 A 172.25.151.138
                             #添加需要更新的 DNS 
 > send                       #发送当前的消息。这相当于输入一个空行。

上传成功后会在 DNS 主服务器中产生一个文件 /var/named/server.com.zone.jnl
客户端就可以 dig 到 test.server.com
现在主服务器的 /var/named/server.com.zone 的 DNS 内容是没有更新的
在主服务器重启服务之后才会更新(systemctl restart named)
执行如下:
在主服务器端:
编辑 :/etc/named.rfc1912.zones
Linux菜鸟成长日记 ( Linux 企业级域名解析服务器部署(DNS) )_第29张图片
修改 /var/named/ 的权限
这里写图片描述
在从属服务器端
进行 DNS 上传
这里写图片描述

4.2.2 DNS 加密传输更新

上述通过指定子服务器 IP 来更新 DNS 不够安全,可以通过密钥的方式来进行

主服务器上

 在主服务器执行dnssec-keygen 获取密钥 
 dnssec-keygen    #DNSSEC密钥生成工具
            -a    #选择加密算法。(与/etc/rndc.key 算法类型一致)
            -b    #密钥长度(HMAC-MD5 的密钥长度在 1~512 位之间)
            -n    #密钥的类型(HOST 表示与主机相关)
 [root@dns-server ~]# dnssec-keygen -a HMAC-MD5 -b 128 -n HOST server
 编辑 /etc/named.conf
 [root@dns-server ~]# cat Kserver.+157+45394.key 
 server. IN KEY 512 3 157 R09+8ydlKpcxjr1gZSU/Yg==
 #密钥名字为:server       密钥内容为:R09+8ydlKpcxjr1gZSU/Yg==
 执行:cp -p /etc/rndc.key /etc/server.key 创建出密钥文件
 编辑密钥文件:
 [root@dns-server ~]# vim /etc/server.key
 内容如下:
  1 key "server" {                    #密钥名称
  2         algorithm hmac-md5;       #加密类型
  3         secret "R09+8ydlKpcxjr1gZSU/Yg==";    #密钥内容
  4 };
===========================================================================
 编辑:/etc/named.conf
 [root@dns-server ~]# vim /etc/named.conf
 内容如下:在 logging 前添加 include "/etc/server.key";让 dns 服务可以识别生成的密钥
 44 include "/etc/server.key";
 45 
 46 logging {
===========================================================================
  编辑: /etc/named.rfc1912.zones
 [root@dns-server ~]# vim /etc/named.rfc1912.zones
 内容如下:
 25 zone "server.com" IN {
 26         type master;
 27         file "server.com.zone";
 28         allow-update { key server; };   #以密钥形式进行上传
 29         also-notify { 172.25.151.50; };
 30 };
 重启 named 服务
 将密钥上传给从属服务器
 [root@dns-server ~]# scp Kserver.+157+45394.* [email protected]:/mnt/

执行如下:
在主服务器执行dnssec-keygen 获取密钥
Linux菜鸟成长日记 ( Linux 企业级域名解析服务器部署(DNS) )_第30张图片
创建密钥文件并进行编辑
Linux菜鸟成长日记 ( Linux 企业级域名解析服务器部署(DNS) )_第31张图片
编辑内容如下
这里写图片描述
编辑 /etc/named.conf
这里写图片描述
编辑 /etc/named.rfc1912.zones
Linux菜鸟成长日记 ( Linux 企业级域名解析服务器部署(DNS) )_第32张图片
将密钥上传给子服务器
Linux菜鸟成长日记 ( Linux 企业级域名解析服务器部署(DNS) )_第33张图片

从属服务器上

在从属服务器上执行:
nsupdate -k /mnt/Kserver.+157+44728.private
                             #动态域名更新实用程序
> server 172.25.254.139      #要上传的目的地(主服务器)
> update add test.server.com 86400 A 172.25.151.138
                             #添加需要更新的 DNS 
> send                       #发送当前的消息。这相当于输入一个空行。

执行如下:
没有密钥进行上传,被拒绝
这里写图片描述
用密钥进行上传,成功
这里写图片描述

5. DHCP 更新DNS 动态域名服务部署

  • DDNS(Dynamic Domain Name Server)是动态域名服务
  • DDNS 是将用户的动态IP地址映射到一个固定的域名解析服务上,用户每次连接网络的时候客户端程序就会通过信息传递把该主机的动态 IP 地址传送给位于服务商主机上的服务器程序,服务器程序负责提供 DNS 服务并实现动态域名解析。
  • 宽带营运商大多只提供动态的IP地址,DDNS 可以捕获用户每次变化的 IP 地址,然后将其与域名相对应,这样其他上网用户就可以通过域名来与用户交流了。
  • DDNS 还可以帮你在自己的公司或家里构建虚拟主机。

在主服务器端

首先在 DNS 主服务器中安装配置 DHCP 服务

 [root@dns-server ~]# yum install dhcp.x86_64 
 Loaded plugins: langpacks
 rhel7.0                                                  | 4.1 kB      00:00     
 Resolving Dependencies
 --> Running transaction check
 ---> Package dhcp.x86_64 12:4.2.5-27.el7 will be installed
 .........(我是用来省略的).........
 Installed:
   dhcp.x86_64  12:4.2.5-27.el7                                                   

 Complete!

安装 dhcpd 服务后
cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf
编辑 dhcp 主配置文件

 [root@dns-server ~]# vim /etc/dhcp/dhcpd.conf
 内容如下:
 .........(我是用来省略的).........
  6 # option definitions common to all supported networks...
  7 option domain-name "server.com";     #备选域名
  8 option domain-name-servers 172.25.151.150; #备选域名服务器 
  9 
 .........(我是用来省略的).........
 13 # Use this to enble / disable dynamic dns updates globally.
    # 使用此功能可在全局范围内禁用/禁用动态dns更新。
 14 ddns-update-style interim;      #启用
 .........(我是用来省略的).........
 29 
 30 subnet 172.25.254.0 netmask 255.255.255.0 {  #设置动态分配的网段和子网掩码
 31   range 172.25.254.10 172.25.254.20;         #设置动态分配的 IP 范围
 32   option routers 172.25.254.139;             #分配的网关
 33 }
 34 
 35 key server {                 #dns 服务密钥
 36   algorithm hmac-md5;
 37   secret R09+8ydlKpcxjr1gZSU/Yg==;
 38 }
 39 
 40 zone server.com. {          #dns 服务区域
 41   primary 127.0.0.1;        #允许哪个主机进行动态同步(写 DNS服务器所在 IP )
 42   key server;               #通过密钥进行
 43 }
 44 
 重启 dhcpd 服务:
 [root@dns-server ~]# systemctl restart dhcpd.service

执行如下:
配置 /etc/dhcp/dhcpd.conf 并重启服务
Linux菜鸟成长日记 ( Linux 企业级域名解析服务器部署(DNS) )_第34张图片
Linux菜鸟成长日记 ( Linux 企业级域名解析服务器部署(DNS) )_第35张图片

在从属服务器端

 为从属服务器动态分配 IP
 编辑网络配置文件,设置 IP 获取类型为 dhcp
 [root@dns-slave ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0
 内容如下:
  1 DEVICE=eth0
  2 NAME=eth0
  3 ONBOOT=yes
  4 BOOTPROTO=dhcp        #设置动态自动获取 IP 
 重启网络服务
 修改子服务器主即名为:linux.server.com 
 #注:必须为 .server.com 为此域名下的,否则无法识别
 [root@dns-slave ~]# hostnamectl set-hostname linux.server.com
 在主服务器端配置好后,重启网络,执行 dig linux.server.com 可以查到此域名
 在主服务器端修改动态网络配置范围,再重子服务器网络,执行 dig linux.server.com 进行查
 看,此服务器域名 IP 可获取,并为自动修改。 而且每次获取的域名信息会在重启主服务器named服
 务后保存在 /var/named/server.com.zone 下

执行如下:
在子服务端修改 IP 类型为自动获取 IP
这里写图片描述
修改主机名称
这里写图片描述
进行 dig 测试
Linux菜鸟成长日记 ( Linux 企业级域名解析服务器部署(DNS) )_第36张图片
在服务端修改自动获取的 IP 范围为 172.25.151.41 - 172.25.151.49,重启从服务端网络,再进行dig 测试
Linux菜鸟成长日记 ( Linux 企业级域名解析服务器部署(DNS) )_第37张图片

主服务器端重启服务后,linux.server.com 的信息出现在配置文件(/var/named/server/com/zone)中
Linux菜鸟成长日记 ( Linux 企业级域名解析服务器部署(DNS) )_第38张图片

**以上表示,自动获取 IP 成功且自动修改 DNS **

你可能感兴趣的:(linux,系统服务管理)