主服务器:192.168.3.18
从服务器:192.168.3.19

主、从DNS服务器相同操作

安装软件

  1. yum -y install bind bind-chroot bind-utils

创建主配置文件

  1. touch /var/named/chroot/etc/named.conf
  2. chmod 640 /var/named/chroot/etc/named.conf
  3. chown root.named /var/named/chroot/etc/named.conf

拷贝 named.ca

  1. cp -p /var/named/named.ca /var/named/chroot/var/named/

主DNS服务器

以下在 192.168.3.18 主DNS服务器上操作

编辑主配置文件

  1. options {
  2. listen-on port 53 { any; };
  3. directory "/var/named";
  4. allow-query { any; }; // #指定允许哪些主机可以进行普通的DNS查询,可以是关键字:any/localhost/none,也可以是IPV4,IPV6地址
  5. recursion yes; //开启递归查询,默认值是 yes
  6. forward first;
  7. forwarders {
  8. 223.5.5.5;
  9. 223.6.6.6;
  10. 8.8.8.8;
  11. };
  12. };
  13. // 定义根域
  14. // 用于 本地DNS 向根服务器递归查询
  15. zone "." IN {
  16. type hint;
  17. // 保存 DNS根服务器地址
  18. file "named.ca";
  19. };
  20. //定义一个主域
  21. zone "abc.com" IN {
  22. type master;
  23. // 指定区域文件名
  24. file "abc.com.zone";
  25. allow-transfer { 192.168.3.19; };
  26. };
  27. // 定义一个反向解析,网段反写
  28. zone "3.168.192.in-addr.arpa" IN {
  29. type master;
  30. file "192.168.3.arpa";
  31. allow-transfer { 192.168.3.19; };
  32. };

创建并编辑区域文件

  1. touch /var/named/chroot/var/named/abc.com.zone
  2. chmod 640 /var/named/chroot/var/named/abc.com.zone
  3. chown root.named /var/named/chroot/var/named/abc.com.zone
  4. vim /var/named/chroot/var/named/abc.com.zone

文件内容:

  1. $TTL 1D
  2. @ IN SOA dns1.abc.com. rname.invalid. (
  3. 0 ; serial
  4. 1D ; refresh
  5. 1H ; retry
  6. 1W ; expire
  7. 3H
  8. ) ; minimum
  9. NS dns1.abc.com.
  10. NS dns2.abc.com.
  11. dns1 A 192.168.3.18
  12. dns2 A 192.168.3.19
  13. www A 192.168.3.100
  14. baike A 192.168.3.101
  15. news CNAME www

创建并编辑反向解析文件

  1. touch /var/named/chroot/var/named/192.168.3.arpa
  2. chown root.named /var/named/chroot/var/named/192.168.3.arpa
  3. chmod 640 /var/named/chroot/var/named/192.168.3.arpa
  4. vim /var/named/chroot/var/named/192.168.3.arpa

其内容如下:

  1. $TTL 1D
  2. 3.168.192.in-addr.arpa. IN SOA dns1.abc.com. rname.invalid. (
  3. 0 ; serial
  4. 1D ; refresh
  5. 1H ; retry
  6. 1W ; expire
  7. 3H ) ; minimum
  8. NS dns1.abc.com.
  9. NS dns2.abc.com.
  10. 18 PTR dns1.abc.com.
  11. 19 PTR dns2.abc.com.
  12. 100 PTR www.abc.com.

启动 named 服务并设置开机自启动

  1. systemctl start named
  2. systemctl enable named

从DNS服务器

从DNS服务器的主配置文件,在相同操作里边已经创建过了

编辑主配置文件

  1. vim /var/named/chroot/etc/named.conf

其内容:

  1. options {
  2. listen-on port 53 { any; };
  3. directory "/var/named";
  4. allow-query { any; }; // #指定允许哪些主机可以进行普通的DNS查询,可以是关键字:any/localhost/none,也可以是IPV4,IPV6地址
  5. recursion yes; //开启递归查询,默认值是 yes
  6. };
  7. // 定义根域
  8. // 用于 本地DNS 向根服务器递归查询
  9. zone "." IN {
  10. type hint;
  11. // 保存 DNS根服务器地址
  12. file "named.ca";
  13. };
  14. zone "abc.com" IN {
  15. type slave;
  16. file "abc.com.zone";
  17. masters { 192.168.3.18; };
  18. };
  19. // 定义一个反向解析,网段反写
  20. zone "3.168.192.in-addr.arpa" IN {
  21. type slave;
  22. masters { 192.168.3.18; };
  23. file "192.168.3.arpa";
  24. };

修改SELinux设置

  1. setsebool -P named_write_master_zones=1

启动 named 服务并设置开机自启动

  1. systemctl start named
  2. systemctl enable named

测试

关闭防火墙

  1. systemctl stop firewalld

设置 DNS解析

  1. vim /etc/resolv.conf

在 3.18 的服务器上设置的DNS是 3.19
在 3.19 的服务器上设置的DNS是 3.18

  1. nameserver 192.168.3.18

使用 nslookup 解析

image.png
image.png