您的位置:首页 > 其它

dns的基本设定(二)

2017-11-28 00:24 148 查看
一、从属dns

在网络越来越发达的时代,若dns出现问题,则整个网络均会处于瘫痪的状态,为了缓解dns的巨大压力,所以出现了主从dns服务器。

dns利用类似于树形目录的架构,将主机名的管理分配在不同的层级的dns服务器中,并进行分层管理,所以每一台dns服务器记忆的信息就不会很多,而且若有ip的变动时也相对来说更容易修改。

##开启第二台虚拟机,作出以下策略。

1、配置yum源。

2、yum install bind -y

3、systemctl stop firewalld

4、systemctl disable firewalld

5、systemctl start named

6、systemctl enable named

##配置好从属dns后.

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; };



vim  /etc/named.rfc1912.zones

 24 zone "westos.com" IN {

 25         type slave;                                                 ##类型为从属dns

 26         masters {172.25.254.173;};                       ##主dns为172.25.254.173

 27         file "slavec/westos.com.inter";                   ##文件为172.25.254.173的westos.com.inter

 28         allow-update { none; };                              ##没有人可以进行更新

 29 };



主dns服务器:

因为在主dns服务器上设置过双向解析的实验,所以以下实验均在外网的配置文件中实现。

vim /etc/named.rfc1912.zones.inter

 24 zone "westos.com" IN {

 25         type master;

 26         file "westos.com.inter";

 27         allow-update { none; };

 28         also-notify {172.25.254.71;};          ##更新知会71从属dns服务器。

 29 };



在主dns与从属dns上,如果将主dns中文件进行了改变,在从属dns服务器上若必须进行重启服务的行为,则是一种非常麻烦的行为,所以可以在双方的配置文件中进行配置,在主dns上改变了相应的文件,从属dns是在不用重启服务的情况下,直接进行文件的更新。在此在配置文件中有一个非常重要的参数,(serial)。每次在将主dns上的配置文件改变是,必须将serial参数进行相应的改变,从属dns才会有对配置文件的更新,此参数的最大数值为10位数,所以可将此数改为2017112701,表示为2017年11月27号文件的第一次改动,会更加方便管理。

改变主dns服务器上westos.com.inter文件的内容。



对主dns进行重启服务,systemctl restart named

测试:



###理论上讲,在从属dns上的/var/named/slaves/目录中应该有主dns的westos.com.inter文件,但若没有出现,则或许是selinux,权限的问题。

####在进行以下实验时,注意将主dns上的文件westos.com.inter进行复制一份,因为在进行以下实验时,若在主dns上将服务重启后,改文件会进行相应的改变,为了方便下次实验的进行,最好将该文件复制一份,在复制时,注意加上-p,

二、dns的远程更新

在dns服务器上修改配置文件

vim /etc/named.rfc1912.zones.inter

 24 zone "westos.com" IN {

 25         type master;

 26         file "westos.com.inter";

 27         allow-update { 172.25.254.71; };            ##允许172.25.254.71主机进行远程更新

 28         also-notify {172.25.254.71;};

 29 };

重启服务systemctl restart named

测试:##此时测试时会出现问题,注意日志的报错。

[root@slave slaves]# nsupdate

> server 172.25.254.173

> update add bbs.westos.com 86400 A 1.1.1.116

> send

update failed: REFUSED



日志报错为:文件权限不够,被拒绝



解决方法:chmod g+w /var/named

重新测试:

[root@slave slaves]# nsupdate

> server 172.25.254.173

> update add bbs.westos.com 86400 A 1.1.1.116

> send





在主dns上重启服务后,westos.com.intet被改变为:



三、key的制作

远程更新的ip是可以被别的主机进行冒充,会造成不安全的行为
4000
所以在此制作一个key,将公钥与私钥传给需要远程更新的主机。

1、制作key

cp -p /etc/rndc.key /etc/zhaoyan.key

2、[root@server named]# dnssec-keygen -a HMAC-MD5 -b 128 -n HOST zhaoyan

Kzhaoyan.+157+38425

3、改变/etc/zhaoyan/key 中的内容

  1 key "zhaoyan" {

  2         algorithm hmac-md5;

  3         secret "7DZwUW8TwNC4GYeblR0vPQ==";

  4 };



4、改变/etc/named.conf文件中的内容



将所建成的公钥私钥传给远程更新的主机

scp Kzhaoyan.+157+38425.* root@172.25.254.71:/mnt/



5、重启服务

测试:

[root@desktop mnt]# nsupdate -k Kzhaoyan.+157+38425.key

> server 172.25.254.173

> update delete bbs.westos.com

> send

>





四、动态ip的远程更新

(要进行远程更新主机与域名必须一致,本次实验为www.westos.com)

上述的远程的更新的ip是静态的,但也是一种不安全的行为,若其他主机将ip改为配置文件中允许远程更新的ip,是一种非常不安全的行为,若可进行远程更新的主机是一个动态获取ip,在每次重启网络服务时就会改变ip,更加不利于管理。此时,将dhcp与dns进行一种结合,会是一种非常明智的行为.

1、下载dhcp服务

2、修改配置文件



3、先做好dhcpd服务

vim /etc/dhcp/dhcpd.conf

  7 option domain-name "westos.com";                                           ##域名为westos.com

  8 option domain-name-servers 172.25.254.173;                          ##dns为172.25.254.173



 30 subnet 172.25.254.0 netmask 255.255.255.0 {              

 31   range 172.25.254.190 172.25.254.200;                       ##要使ip在此范围内

 32   option routers 172.25.254.173;                                    ##网关为172.25.254.173

 33 }



重启服务:

此时应已经可以实现dhcp的动态获取

但与dns并没有关联,通过man得知interim的使用



在/etc/dhcp/dhcpd.conf文件中修改配置文件



此时要远程更新的钥匙是不用给对应的主机了,在dns服务器上是知道此ip与钥匙的。

 34 key zhaoyan {

 35         algorithm hmac-md5;

 36         secret "Ki9lzMIPZJOLSGoxQMaJgg==";

 37 };

 38

 39 zone westos.com. {

 40   primary 127.0.0.1;                                   ##使用dns服务器内部的传输,速度会有很大的提升

 41   key zhaoyan;

 42 }



此时打开另一台虚拟机,将ip的配置文件改为dhcp动态获取模式,并且关闭除了dns服务器之外其他所有的dhcp服务,以免造成干扰,然后在这台虚拟机上重启网络服务。

测试结果:

动态获取的结果:



dns服务器监控结果:



###总结:在dns的所有配置中,有报错,基本会有以下几点。

1、 NXDOMAIN  证明在dns服务器上没有此域名

2、SERFAIL  :

(1)、本机没有做本地解析文件,出现失败的报错

(2)、dns服务器上没有关闭firewalld

(3)、dns服务器上没有关闭selinux

(4)、实验中经常会出现cp文件,没有加-p参数,使得权限出现了问题。

##排错思想均为连接出现失败时,清空日志,重新连接,找出错误原因,大部分原因均是打错行为,尤其是在name.localname文件复制过去后,重新编辑此文件,注意此文件中@的用法,很重要!!!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: