企业级Linux之DNS服务器的高级配置

高速缓存dns

1>实验环境的配置

1.虚拟机上网配置,真机上开启火墙的伪装功能,虚拟机上配置网卡信息。
1>firewall-cmd --add-masqunetwork       ###开启火墙的伪装功能,(将域内路由伪装成)可以充当路由器
2>vim /etc/sysconfig/network-scripts/ifcfg-eth0       ###编辑网卡eth0的配置信息

DEVICE=eth0
NAME=eth0
ONBOOT=yes
BOOTPROTO=none
IPADDR=172.25.254.106
NETMASK=255.255.255.0
GATEWAY=172.25.254.6             ###将网关设置成172.25.254.6(开启伪装功能火墙的主机的一张网卡的ip地址

测试: ping  114.114.114.114

2.yum源配置    此过程,在基础篇的部分有介绍,在此不赘述。有问题的可以查看之前的软件安装篇。

yum repolist

2>netstat -an( 表示不做解析)tlup(programm)e(扩展信息)


2>设置高速缓存dns


1)在一台虚拟机上面下载bind软件
yum search dns                    ###查找dns软件,此软件名称是bind.x86_64
yum install bind.x86_64 -y   ###安装bind软件
systemctl stop firewalld       ###关闭此机器的火墙
systemctl start named         ###     
vim /etc/named.conf            ###编辑文件分别修改下面的四个地方

13         listen-on port 53 { any; };                    ###将网卡上的ip的53接口打开,这个接口用于dns的传送

19         allow-query     { any; };                        ###此部分如果是locahost,就是只允许本机查询,any——>允许所有人查询
20         forwarders {114.114.114.114; };      ###设置首先查的dns服务器是114.114.114.114,此操作会节省响应时间,不做此设置,系统甚至会去美国的dns服务器查询(源服务器)

35         dnssec-validation no;                         ###不检测dns的安全性,此服务需要网警介入,需要资金

2)在测试端,
vim /etc/resolve.conf
nameserver 172.25.254.106   ###高速缓存服务器

systemctl stop firewalld            ###将firewalld服务关掉,火墙会影响服务

测试:

1.在dns服务器端先dig 一个网址,

dig www.4399.com

2.在测试端也dig同一个网址,如果在测试端dig的响应时间远远小于dns服务器端的响应时间,说明实验成功。

dig www.4399.com  

邮件传输
邮件传输协议:smtp   25端口    postfix软件
(http   80)apache软件

3> dns的正向解析

vim /etc/named.rfc1912.zone               ###此文件是文件/etc/named.conf文件的扩展文件,里面写的是什么域在什么文件中查询

文件中写入:
 25 zone "westos.com" IN {                    ###域wetsos.com在westos.com.zone文件中查询
 26         type master;
 27         file "westos.com.zone";
 28         allow-update { none; };
 29 };

cd /var/named
cp -p named.localhost    westos.com.zone   ###注:前边是正向解析的模板文件
vim westos.com.zone                                      ###编辑查询文件
  1 $TTL 1D
  2 @       IN SOA  dns.westos.com. sun.westos.com. (       ###注:前面一个域名是域名起始,后面一个域名是记录维护该域名服务器的人
  3                                         0       ; serial            ###文件修改标记,后面会介绍其用法
  4                                         1D      ; refresh        ###刷新客户的缓存时间
  5                                         1H      ; retry            ###查询不到的话,用户可以在一个小时之后再次查询
  6                                         1W      ; expire        ###死亡期限,1W天
  7                                         3H )    ; minimum   ###最短时间,在此时间内可以用缓存来回应查询
  8         NS      dns.westos.com.
  9 dns        A       172.25.254.106
 10 www     A       172.25.254.107

注:此文件中在系统读取的时候会默认加上westos.com,所以在书写完整域名的时候要在最后加上点(.),表示完整的域名否则会报错

#测试
在测试主机中
vim /etc/resolv.conf
nameserver 172.25.254.106

dig www.westos.com


dig dns.westos.com

反向解析ptr

用ip地址反向解析到域名

步骤:
1> vim  /etc/named.rfc1912.zones
在文件中写入;
 49 zone "254.25.172.in-addr.arpa" IN {        ###反向书写
 50         type master;
 51         file "172.25.254.ptr";                         ###在172.25.254.ptr文件中查询
 52         allow-update { none; };
 53 };

2> cd /var/named/
3> cp -p named.loopback 172.25.254.ptr          ###named.loopback是反向解析的模板文件,注意要加上-p,将文件所有的权限复制过来

4> vim 172.25.254.ptr

                               

#测试
[root@localhost named]# dig -x 172.25.254.107


dns双向解析

在实际的情况中会遇到,本公司网域的用户要查到的ip地址,

实验步骤
1> vim /etc/named.conf                                   ###修改配置文件

 view localnet{
 52         match-clients{localhost; };              ###匹配用户:本机(localhost)注:这里的loacl可以换成172.25.254/24,一个网域,需要突出实验结果就设置成本机
 53         zone "." IN {
 54         type hint;
 55         file "named.ca";
 56 };
 57 include "/etc/named.rfc1912.zones";    ###本机用户的附加文件是/etc/named.rfc1912.zones里面会链接到wesstos.com.zone
 58 };                                                                ###文件中写的是172.25.254.106
 59
 61 view any{                                                
 62         match-clients{any; };           
 63         zone "." IN {
 64         type hint;
 65         file "named.ca";
 66 };
 67 include "/etc/named.rfc1912.zones.inter";   

###除了本机之外的用户的附加文件是/etc/named.rfc1912.zones里面会链接到wesstos.com.zone.inter,文件中是192.25.254.106...
 68 };
 69
 70 /*zone "." IN {
 71         type hint;
 72         file "named.ca";
 73 };
 74 */
 75 #include "/etc/named.rfc1912.zones";
 76 include "/etc/named.root.key";

2>  [root@dns-server named]# cp -p westos.com.zone westos.com.zone.inter

3> [root@dns-server named]# vim westos.com.zone.inter

外网查询网址得到192.168网段的ip地址。

注:named服务的配置文件是/etc/named.conf此文件会链接扩展文件————

/etc/named.rfc1912.zones此文件中又会链接到————

/var/westos.com.zone此文件是dns服务器的数据文件。

4> systemctl restart named    ###将named服务重启

测试:在本机

dig www.westos.com

在测试端

dig www.westos.com

辅助dns的设置

在实际的工作中会遇到dns服务器访问量太大而导致dns服务器的负载太大,这时候就需要设置辅助dns来缓解主dns服务器的压力

准备工作:将刚刚设置的双向dns进行还原,只需要将named的主配置文件进行修改。

将双向dns的配置语句注释掉就行了

重启named服务

1>主dns的设定

vim /etc/named.rfc1912.zones.inter                       ###将inter的dns的负载分享出去
 zone "westos.com" IN {
 26         type master;
 27         file "westos.com.inter";
 28         allow-update { none; };
 29         also-notify{172.25.254.206; };                   ###总是通知172.25.254.206这台主机
 30    };

systemctl restart named
注意:每次更改主dns记录文件必须更改serial的数值,这个数值最大十位

辅助dns上
1> yum install bind -y
2> systemctl restart named
3> systemctl stop fiewalld
4> vim /etc/name.conf                  ###文件中更改三个地方

分别是:

vim /etc/name/rfc1912.zones

测试:将另外一台机器的nameserver设置成192.25.254.206(第二台dns服务器的ip地址)

dig www.westos.com

更新副dns服务器的dns数据:

修改主dns的文件

vim /var/named/westos.com.zone.inter

注:副dns的dns源的更新机制是由上面截图的serial值来控制的,只要副文件中的serial值和主dns服务器上的serial值不一样,辅dns服务器就会更新自己的文件

在另外一台主机上

dig hello.westos.com

成功!

dns的远程更新

基于ip的


vim /etc/name.rfc1912.zone.inter    
24
 25 zone "westos.com" IN {
 26         type master;
 27         file "westos.com.zone";
 28         allow-update {172.25.254.206; };
 29         also-notify {172.25.254.206; };

systemctl restart named

chmod  770 /var/named

将selinux设置成disable或者peimissive

不然会上传不了dns的更新信息

#测试
#在200这台主机上
#[root@dns-slave ~]#nsupdate
#> server 172.25.254.106    ##添加
#> update add bbs.westos.com 86400 A 1.1.1.3
#> send

在测试的主机上dig bbs.westos.com


#> server 172.25.254.106    ##删除
#> update delete bbs.westos.com
#> send
#


dns的加密远程更新

基于key

在上面一个部分是基于ip的dns更新,黑客可以通过修改ip来更新dns文件,所以这种更新的方式是非常不安全的。这就引出了基于key的dns文件的更新模式

1> [root@localhost named]# dnssec-keygen -a HMAC-MD5 -b 128 -n HOST westos
Kwestos.+157+08888
2>cp /etc/rndc.key /etc/westos.key -p  ###注:前面一个文件是密码文件的模板

3> 将生成的密码文件中的加密字符写到下面的文件中

[root@dns-server mnt]# cat Kwestos.+157+56012.key

westos. IN KEY 512 3 157 21GfmUPfRjRB4sM4VKp2aw==
1 key "westos" {
  2         algorithm hmac-md5;
  3         secret "21GfmUPfRjRB4sM4VKp2aw==";          ###加密字符
  4 };

vim /etc/named.rfc1912.zones.inter
 25 zone "westos.com" IN {
 26         type master;
 27         file "westos.com.zone";
 28         allow-update { key westos; };
 29         also-notify {172.25.254.206; };   
 ###注:将允许更新dns的方式修改为key westos


systemctl restart named

#测试
scp Kwestos.+157+08888.* [email protected]:/mnt/
cd /mnt
nsupdate -k K[tab].key
>server 172.25.254.106
>update add hello.westos.com 86400 A 172.25.254.222
>send
>quit

成功!

猜你喜欢

转载自blog.csdn.net/halobios_/article/details/87469529