Linux菜鸟成长日记 ( Linux 企业级域名解析服务器部署(DNS) )_nsupdate refuse-程序员宅基地

技术标签: linux 系统服务管理  域名解析(DNS)服务器部署  主 DNS 服务器(权威 DNS 服务器)  从属 DNS 服务器  高速缓存 DNS 服务器  DDNS 动态域名服务  

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!

开启服务
这里写图片描述

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 )进行配置
这里写图片描述
这里写图片描述

在客户端

 编辑 /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毫秒
这里写图片描述
客户端3 进行dig,查询时间:0毫秒
这里写图片描述
以上操作验证了高速缓存服务器的作用,客户端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 )
这里写图片描述
2.编辑区域配置文件(/etc/named.rfc1912.zones)
这里写图片描述
上述区域配置文件(/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
这里写图片描述
在客户端
修改客户端 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
这里写图片描述
dig www.server.com 来查看 CNAME 的效果
第一次 dig
这里写图片描述
第二次 dig
这里写图片描述
与 dig 百度的域名是类似的
这里写图片描述

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
这里写图片描述
在服务端进行验证
可以直接使用 nslookup 命令来检验解析结果,仅需输入 IP 地址即可查询到对应的域名信息。

 nslookup  #查询Internet名称服务器

在部署反向解析服务器之前:
这里写图片描述
部署反向解析服务器之后:
这里写图片描述

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
这里写图片描述

配置完成后为外网添加 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
这里写图片描述
编辑: /var/named/server.com.inter
这里写图片描述
在可客户端进行测试
client2 是企业内用户,看到的是 172.25.151.0
这里写图片描述
client3 是外网用户,看到的是192.268.1.0
这里写图片描述

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
这里写图片描述
这里写图片描述
编辑 /etc/named.rfc1912.zones
这里写图片描述
子服务端配置完成
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 

执行如下:
这里写图片描述
如上就完成了对 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
这里写图片描述
client3:dig www.server.com
这里写图片描述

若是在对主服务器的 地址信息进行了变化,需要对 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 服务

执行如下:
在主服务器修改信息
这里写图片描述
在客户端进行 dig 测试(未修改 serial 从属服务器是不会识别更改的)
client2:dig www.server.com
这里写图片描述
client3:dig www.server.com (无法观察到变化)
这里写图片描述
修改 serial 后
这里写图片描述

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
这里写图片描述
修改 /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 获取密钥
这里写图片描述
创建密钥文件并进行编辑
这里写图片描述
编辑内容如下
这里写图片描述
编辑 /etc/named.conf
这里写图片描述
编辑 /etc/named.rfc1912.zones
这里写图片描述
将密钥上传给子服务器
这里写图片描述

从属服务器上

在从属服务器上执行:
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 并重启服务
这里写图片描述
这里写图片描述

在从属服务器端

 为从属服务器动态分配 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 测试
这里写图片描述
在服务端修改自动获取的 IP 范围为 172.25.151.41 - 172.25.151.49,重启从服务端网络,再进行dig 测试
这里写图片描述

主服务器端重启服务后,linux.server.com 的信息出现在配置文件(/var/named/server/com/zone)中
这里写图片描述

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

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/Buster_ZR/article/details/80413512

智能推荐

苹果https java_apple登录 后端java实现最终版-程序员宅基地

文章浏览阅读298次。import com.alibaba.fastjson.JSONArray;import com.alibaba.fastjson.JSONObject;import com.auth0.jwk.Jwk;import com.helijia.appuser.modules.user.vo.AppleCredential;import com.helijia.common.api.model.Api..._com.auth0.jwk.jwk

NLP学习记录(六)最大熵模型MaxEnt_顺序潜在最大熵强化学习(maxent rl)-程序员宅基地

文章浏览阅读4.7k次。原理在叧掌握关于未知分布的部分信息的情况下,符合已知知识的概率分布可能有夗个,但使熵值最大的概率分布最真实地反映了事件的的分布情况,因为熵定义了随机变量的不确定性,弼熵值最大时,随机变量最不确定,最难预测其行为。最大熵模型介绍我们通过一个简单的例子来介绍最大熵概念。假设我们模拟一个翻译专家的决策过程,关于英文单词in到法语单词的翻译。我们的翻译决策模型p给每一个单词或短语分配一..._顺序潜在最大熵强化学习(maxent rl)

计算机毕业设计ssm科研成果管理系统p57gs系统+程序+源码+lw+远程部署-程序员宅基地

文章浏览阅读107次。计算机毕业设计ssm科研成果管理系统p57gs系统+程序+源码+lw+远程部署。springboot基于springboot的影视资讯管理系统。ssm基于SSM高校教师个人主页网站的设计与实现。ssm基于JAVA的求职招聘网站的设计与实现。springboot校园头条新闻管理系统。ssm基于SSM框架的毕业生离校管理系统。ssm预装箱式净水站可视化信息管理系统。ssm基于SSM的网络饮品销售管理系统。

Caused by: org.xml.sax.SAXParseException; lineNumber: 38; columnNumber: 9; cvc-complex-type.2.3: 元素_saxparseexception; linenumber: 35; columnnumber: 9-程序员宅基地

文章浏览阅读1.6w次。不知道大家有没有遇到过与我类似的报错情况,今天发生了此错误后就黏贴复制了报错信息“Caused by: org.xml.sax.SAXParseException; lineNumber: 38; columnNumber: 9; cvc-complex-type.2.3: 元素 'beans' 必须不含字符 [子级], 因为该类型的内容类型为“仅元素”。”然后就是一顿的百度啊, 可一直都没有找到..._saxparseexception; linenumber: 35; columnnumber: 9; cvc-complex-type.2.3:

计算机科学与技术创新创业意见,计算机科学与技术学院大学生创新创业工作会议成功举行...-程序员宅基地

文章浏览阅读156次。(通讯员 粟坤萍 2018-04-19)4月19日,湖北师范大学计算机科学与技术学院于教育大楼学院会议室1110成功召开大学生创新创业工作会议。参与本次会议的人员有党总支副书记黄海军老师,创新创业学院吴杉老师,计算机科学与技术学院创新创业活动指导老师,15、16、17级各班班主任及学生代表。首先吴杉老师介绍了“互联网+”全国大学生创新创业大赛的相关工作进度,动员各级班主任充分做好“大学生创新创业大..._湖北师范 吴杉

【Android逆向】爬虫进阶实战应用必知必会-程序员宅基地

文章浏览阅读1.1w次,点赞69次,收藏76次。安卓逆向技术是一门深奥且充满挑战的领域。通过本文的介绍,我们了解了安卓逆向的基本概念、常用工具、进阶技术以及实战案例分析。然而,逆向工程的世界仍然在不断发展和变化,新的技术和方法不断涌现。展望未来,随着安卓系统的不断更新和加固,逆向工程将面临更大的挑战。同时,随着人工智能和机器学习技术的发展,我们也许能够看到更智能、更高效的逆向工具和方法的出现。由于篇幅限制,本文仅对安卓逆向技术进行了介绍和案例分析。

随便推点

Python数据可视化之环形饼图_数据可视化绘制饼图或圆环图-程序员宅基地

文章浏览阅读1.1k次。制作饼图还需要下载pyecharts库,Echarts 是一个由百度开源的数据可视化,凭借着良好的交互性,精巧的图表设计,得到了众多开发者的认可。随着学习python的热潮不断增加,Python数据可视化也不停的被使用,那我今天就介绍一下Python数据可视化中的饼图。在我们的生活和学习中,编程是一项非常有用的技能,能够丰富我们的视野,为各行各业的领域提供了新的角度。环形饼图的制作并不难,主要是在于数据的打包和分组这里会有点问题,属性的标签可以去 这个网站进行修改。图中的zip压缩函数,并分组打包。_数据可视化绘制饼图或圆环图

SpringMVC开发技术~5~基于注解的控制器_jsp/servlet到controller到基于注解的控制器-程序员宅基地

文章浏览阅读325次。1 Spring MVC注解类型Controller和RequestMapping注释类型是SpringMVC API最重要的两个注释类型。基于注解的控制器的几个优点:一个控制器类可以控制几个动作,而一个实现了Controller接口的控制器只能处理一个动作。这就允许将相关操作写在一个控制器类内,从而减少应用类的数量基于注解的控制器的请求映射不需要存储在配置文件中,而是使用RequestM..._jsp/servlet到controller到基于注解的控制器

利用波特图来满足动态控制行为的要求-程序员宅基地

文章浏览阅读260次,点赞3次,收藏4次。相位裕量可以从增益图中的交越频率处读取(参见图2)。使用的开关频率、选择的外部元件(例如电感和输出电容),以及各自的工作条件(例如输入电压、输出电压和负载电流)都会产生巨大影响。图2所示为波特图中控制环路的增益曲线,其中提供了两条重要信息。对于图2所示的控制环路,这个所谓的交越频率出现在约80 kHz处。通过使用波特图,您可以查看控制环路的速度,特别是其调节稳定性。图2. 显示控制环路增益的波特图(约80 kHz时,达到0 dB交越点)。图3. 控制环路的相位曲线,相位裕量为60°。

Glibc Error: `_obstack@GLIBC_2.2.5‘ can‘t be versioned to common symbol ‘_obstack_compat‘_`_obstack@glibc_2.2.5' can't be versioned to commo-程序员宅基地

文章浏览阅读1.8k次。Error: `_obstack@GLIBC_2.2.5’ can’t be versioned to common symbol '_obstack_compat’原因:https://www.lordaro.co.uk/posts/2018-08-26-compiling-glibc.htmlThis was another issue relating to the newer binutils install. Turns out that all was needed was to initi_`_obstack@glibc_2.2.5' can't be versioned to common symbol '_obstack_compat

基于javaweb+mysql的电影院售票购票电影票管理系统(前台、后台)_电影售票系统javaweb-程序员宅基地

文章浏览阅读3k次。基于javaweb+mysql的电影院售票购票电影票管理系统(前台、后台)运行环境Java≥8、MySQL≥5.7开发工具eclipse/idea/myeclipse/sts等均可配置运行适用课程设计,大作业,毕业设计,项目练习,学习演示等功能说明前台用户:查看电影列表、查看排版、选座购票、查看个人信息后台管理员:管理电影排版,活动,会员,退票,影院,统计等前台:后台:技术框架_电影售票系统javaweb

分分钟拯救监控知识体系-程序员宅基地

文章浏览阅读95次。分分钟拯救监控知识体系本文出自:http://liangweilinux.blog.51cto.com0 监控目标我们先来了解什么是监控,监控的重要性以及监控的目标,当然每个人所在的行业不同、公司不同、业务不同、岗位不同、对监控的理解也不同,但是我们需要注意,监控是需要站在公司的业务角度去考虑,而不是针对某个监控技术的使用。监控目标1.对系统不间断实时监控:实际上是对系统不间..._不属于监控目标范畴的是 实时反馈系统当前状态

推荐文章

热门文章

相关标签