Centos7搭建主从DNS服务器

1、准备

例:两台192.168.11.10(主),192.168.11.11(从),域名www.test1.com

# 主从DNS服务器均需要安装bind、bind-chroot、bind-utils
yum -y install bind bind-utils bind-chroot
# 如果防火墙开启,配置防火墙,添加服务(防火墙已禁用则忽略)
firewall-cmd --permanent --add-service=dns
firewall-cmd --reload

2、主DNS服务器(192.168.11.10)配置

# 编辑配置文件
vim /etc/named.conf
# 找到其中两行
  listen-on port { 127.0.0.1; };
  allow-query { localhost; };
# 修改为
  listen-on port 53 { any; };
  allow-query { any; };

3、配置正向解析

# 编辑文件/etc/named.rfc1912.zones,在末尾添加需要解析的域
zone "test1.com" IN {
type master;
file "data/test1.com.zone";
};
# 创建test1.com.zone解析域
vim /var/named/data/test1.com.zone
  $TTL 3H
  @     IN SOA test1.com. root (
                         ; serial
                        1D ; refresh
                        1H ; retry
                        1W ; expire
                        3H ) ; minimum
       IN   NS   @
       IN   A   192.168.11.10
  www   IN   A   192.168.11.10
  ftp   IN   A   192.168.11.10
# 编辑/etc/resolv.conf,添加
  search localdomain
  nameserver 192.168.11.10

4、重启DNS服务器

# 重启named
systemctl restart named
# 查看状态
systemctl status named

5、检查解析是否成功

# ping命令验证
ping -c www.test1.com
# 输出如下即解析成功
  PING www.test1.com (192.168.11.10) () bytes of data.
   bytes from ftp.test1.com (192.168.11.10): icmp_seq= ttl= time=0.033 ms
   bytes from ftp.test1.com (192.168.11.10): icmp_seq= ttl= time=0.058 ms
   bytes from ftp.test1.com (192.168.11.10): icmp_seq= ttl= time=0.066 ms
   bytes from ftp.test1.com (192.168.11.10): icmp_seq= ttl= time=0.057 ms
  --- www.test1.com ping statistics ---
   packets transmitted, received, % packet loss, time 3000ms
  rtt min/avg/max/mdev = 0.033/0.053/0.066/0.014 ms
# nslookup命令验证
nslookup
>www.test1.com
# 输出如下即解析成功
  Server: 192.168.11.10
  Address: 192.168.11.10#
  Name: www.test1.com
  Address: 192.168.11.10

6、配置反向解析

# 编辑文件/etc/named.rfc1912.zones,在末尾添加
vim etc/named.rfc1912.zones
zone "11.168.192.in-addr.arpa" IN {
type master;
file "data/11.168.192.zone";
  };
# 创建11.168.192.zone解析域
vim /var/named/data/11.168.192.zone
$TTL 3H
@ IN SOA web3.com. root (
                    ; serial
                    1D ; refresh
                    1H ; retry
                    1W ; expire
                    3H ) ; minimum
@ IN NS www.test1.com.
   IN PTR www.test1.com.
   IN PTR ftp.test1.com.

7、重启DNS服务器

# 重启named
systemctl restart named
# 查看状态
systemctl status named

8、检查解析是否成功

# ping命令验证
ping -c 192.168.11.10
# 输出如下即解析成功
  PING 192.168.11.10 (192.168.11.10) () bytes of data.
   bytes from 192.168.11.10: icmp_seq= ttl= time=0.061 ms
   bytes from 192.168.11.10: icmp_seq= ttl= time=0.058 ms
   bytes from 192.168.11.10: icmp_seq= ttl= time=0.081 ms
   bytes from 192.168.11.10: icmp_seq= ttl= time=0.060 ms
  --- 192.168.11.10 ping statistics ---
   packets transmitted, received, % packet loss, time 3000ms
  rtt min/avg/max/mdev = 0.058/0.065/0.081/0.009 ms
# nslookup命令验证
nslookup 192.168.11.10
# 输出如下即解析成功
  Server: 192.168.11.10
  Address: 192.168.11.10#
  10.11.168.192.in-addr.arpa name = ftp.test1.com.
  10.11.168.192.in-addr.arpa name = www.test1.com.

9、配置从DNS服务器(192.168.11.11)

# 先修改主DNS服务器(192.168.11.10)的配置/etc/named.rfc1912.zones
vim /etc/named.rfc1912.zones
zone "test1.com" IN {
type master;
file "data/test1.com.zone";
allow-transfer {192.168.11.11;};
notify yes;
also-notify {192.168.11.11
;};
};
zone "11.168.192.in-addr.arpa" IN {
type master;
file "data/11.168.192.zone";
allow-transfer {192.168.11.11;};
notify yes;
also-notify {192.168.11.11
;};
};

10、配置从DNS服务器(192.168.11.11)正向解析

# 编辑named.conf文件
vim /etc/named.conf
  # 找到其中两行  
  listen-on port { 127.0.0.1; };   
  allow-query { localhost; };
  # 修改为
  listen-on port { any; };
  allow-query { any; };
# 编辑文件/etc/named.rfc1912.zones,在末尾添加需要解析的域
vim /etc/named.rfc1912.zones
  zone "test1.com" IN {
      type slave;
      file "data/test1.com.zone"; };
      masters { 192.168.11.10; };
# 创建test1.com.zonek空文件
touch /var/named/data/test1.com.zone
# 设置所有者  
chown named:named test1.com.zone
# 编辑/etc/resolv.conf,添加
vim /etc/resolv.conf
  search localdomain
  nameserver 192.168.11.11

11、重启DNS服务器

# 重启named
systemctl restart named
# 查看状态
systemctl status named

12、检测解析是否成功

# ping命令验证
ping -c www.test1.com
# 输出如下即解析成功
  PING www.test1.com (192.168.11.10) () bytes of data.
   bytes from ftp.test1.com (192.168.11.10): icmp_seq= ttl= time=0.033 ms
   bytes from ftp.test1.com (192.168.11.10): icmp_seq= ttl= time=0.058 ms
   bytes from ftp.test1.com (192.168.11.10): icmp_seq= ttl= time=0.066 ms
   bytes from ftp.test1.com (192.168.11.10): icmp_seq= ttl= time=0.057 ms
  --- www.test1.com ping statistics ---
   packets transmitted, received, % packet loss, time 3000ms
  rtt min/avg/max/mdev = 0.033/0.053/0.066/0.014 ms
# nslookup命令验证
nslookup
>www.test1.com
# 输出如下即解析成功
  Server: 192.168.11.11
  Address: 192.168.11.11#
  Name: www.test1.com
  Address: 192.168.11.10

13、配置从DNS服务器(192.168.11.11)反向解析

# 在文件/etc/named.rfc1912.zones中添加
vim etc/named.rfc1912.zones
zone "11.168.192.in-addr.arpa" IN {
type slave;
file "data/11.168.192.zone";
      masters { 192.168.11.10; };   
};
# 创建空文件11.168.192.zone
touch /var/named/data/11.168.192.zone
# 设置所有者  
chown named:named 11.168.192.zone

14、重启DNS服务器

# 重启named
systemctl restart named
# 查看状态
systemctl status named

15、查看文件/var/named/data/test1.com.zone和/var/named/data/11.168.192.zone是否有二进制数据

cat /var/named/data/test1.com.zone
cat /var/named/data/11.168.192.zone

16、检查解析是否成功

# ping命令验证
ping -c 4 192.168.11.11
# 输出如下即解析成功
  PING 192.168.11.11 (192.168.11.11) 56(84) bytes of data.
  64 bytes from 192.168.11.11: icmp_seq=1 ttl=64 time=0.061 ms
  64 bytes from 192.168.11.11: icmp_seq=2 ttl=64 time=0.058 ms
  64 bytes from 192.168.11.11: icmp_seq=3 ttl=64 time=0.081 ms
  64 bytes from 192.168.11.11: icmp_seq=4 ttl=64 time=0.060 ms
  --- 192.168.11.11 ping statistics ---
  4 packets transmitted, 4 received, 0% packet loss, time 3000ms
  rtt min/avg/max/mdev = 0.058/0.065/0.081/0.009 ms
# nslookup命令验证
nslookup 192.168.11.11
# 输出如下即解析成功
  Server: 192.168.11.11
  Address: 192.168.11.11#53
  10.11.168.192.in-addr.arpa name = ftp.test1.com.
  10.11.168.192.in-addr.arpa name = www.test1.com.
上一篇:使用Dnsmasq搭建本地dns服务器上网


下一篇:ruby-on-rails-对于子目录中的页面缓存,我的Nginx重写规则应适用于带有乘客的Rails?