实验环境:3台CentOS 7.8
安装DNS服务
[root@dns-server1 ~]# yum install -y bind
/usr/lib/systemd/system/named.service #服务文件
/etc/named.conf #主配置文件
/etc/named.rfc1912.zones #子配置文件
搭建正向DNS服务
[root@dns-server1 ~]# vim /etc/named.conf
// listen-on port 53 { 127.0.0.1; };
// listen-on-v6 port 53 { ::1; };
allow-query { 192.168.103.73; }; #允许递归查询
[root@dns-server1 ~]# vim /etc/named.rfc1912.zones
zone "ptg" IN {
type master;
file "ptg.com.zone";
}
[root@dns-server1 ~]# vim /var/named/ptg.com.zone
$TTL 1D
@ IN SOA master ptg.ptgmail.com. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS master
NS slave
master A 192.168.103.71
slave A 192.168.103.72
www A 192.168.103.74
host CNAME www
[root@dns-server1 ~]# chown named.named /var/named/ptg.com.zone
搭建反向DNS域
[root@dns-server1 ~]# vim /etc/named.rfc1912.zones
zone "103.168.192.in-addr.arpa" IN {
type master;
file "103.168.192.in-addr.arpa";
};
[root@dns-server1 ~]# vim /var/named/103.168.192.in-addr.arpa
$TTL 1D
@ IN SOA master.ptg.com. ptg.ptgmail.com. (
1
12H
10M
3D
1D
)
IN NS master.ptg.com.
IN NS slave.ptg.com.
74 IN PTR www.ptg.com.
73.103.168.192.in-addr.arpa. IN PTR client.ptg.com.
[root@dns-server1 ~]# chown named.named /var/named/103.168.192.in-addr.arpa
首先对主服务器允许从服务器地址进行同步
[root@dns-server1 ~]# vim /etc/named.conf
allow-transfer {192.168.103.72;};
对从服务器进行搭建
[root@dns-server2 ~]# vim /etc/named.conf
// listen-on port 53 { 127.0.0.1; };
// listen-on-v6 port 53 { ::1; };
// allow-query { localhost; };
[root@dns-server2 ~]# vim /etc/named.rfc1912.zones
zone "ptg.com" {
type slave;
masters { 192.168.103.71;};
file "slaves/ptg.com.slave";
};
zone "103.168.192.in-addr.arpa" {
type slave;
masters { 192.168.103.71;};
file "slaves/103.168.192.slave";
};
[root@dns-server2 ~]# ll /var/named/slaves/
total 8
-rw-r--r-- 1 named named 505 Mar 27 22:33 103.168.192.slave
-rw-r--r-- 1 named named 343 Mar 27 22:33 ptg.com.slave
创建智能DNS
[root@dns-server1 ~]# vim /etc/named.conf
#在Option字段前定义ACL
acl beijingnet {
192.168.103.73;
};
acl othernet {
any;
};
最后定义view
view beijingview {
match-clients { beijingnet;};
include "/etc/named.rfc1912.zones.bj";
};
view otherview {
match-clients { othernet;};
include "/etc/named.rfc1912.zones.other";
};
[root@dns-server1 ~]# vim /etc/named.rfc1912.zones #创建对应的zones文件,并且使用不同的file
named.rfc1912.zones.bj named.rfc1912.zones.other
[root@dns-server1 ~]# vim /etc/named.rfc1912.zones.bj
zone "ptg.com" {
type master;
file "bj.ptg.com.zone";
};
效果:
[root@Client1 ~]# ping www.ptg.com
PING www.ptg.com (192.168.103.74) 56(84) bytes of data.
64 bytes from 192.168.103.74 (192.168.103.74): icmp_seq=1 ttl=64 time=0.512 ms
64 bytes from 192.168.103.74 (192.168.103.74): icmp_seq=2 ttl=64 time=0.497 ms
^C
--- www.ptg.com ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1001ms
rtt min/avg/max/mdev = 0.497/0.504/0.512/0.023 ms
[root@Client2 ~]# ping www.ptg.com
PING www.ptg.com (192.168.103.111) 56(84) bytes of data.
64 bytes from 192.168.103.111 (192.168.103.111): icmp_seq=1 ttl=64 time=0.772 ms
64 bytes from 192.168.103.111 (192.168.103.111): icmp_seq=2 ttl=64 time=0.548 ms
^C
--- www.ptg.com ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1001ms
rtt min/avg/max/mdev = 0.548/0.660/0.772/0.112 ms