单台DNS服务器

1. DNS 服务器安装 bind 服务:

yum -y install bind-utils bind bind-devel bind-libs

2. 配置主配置文件:

vim /etc/named.conf

  1. options {
  2. listen-on port 53 { any; }; #监听的ip
  3. listen-on-v6 port 53 { ::1; };
  4. directory "/var/named";
  5. dump-file "/var/named/data/cache_dump.db";
  6. statistics-file "/var/named/data/named_stats.txt";
  7. memstatistics-file "/var/named/data/named_mem_stats.txt";
  8. recursing-file "/var/named/data/named.recursing";
  9. secroots-file "/var/named/data/named.secroots";
  10. allow-query { any; }; #允许的ip
  11. recursion yes;
  12. dnssec-enable yes;
  13. dnssec-validation yes;
  14. bindkeys-file "/etc/named.iscdlv.key";
  15. managed-keys-directory "/var/named/dynamic";
  16. pid-file "/run/named/named.pid";
  17. session-keyfile "/run/named/session.key";
  18. forwarders { 202.96.128.166;8.8.8.8; };
  19. };

3. 追加域名解析入口配置:

vim /etc/named.rfc1912.zones

  1. zone "dylan.com" IN { # 测试用的域是 dylan.com
  2. type master;
  3. file "dylan.com.zone"; # 配置文件为 dylan.com.zone,该文件目录为 /var/named/ 下
  4. };

4. 配置单独的解析文件

  1. cd /var/named/
  2. cp named.localhost dylan.com.zone
  3. chown named.named dylan.com.zone

修改配置:vim ``dylan.com.zone

  1. $TTL 1D ;TTL 修改配置生效时间,默认为一天
  2. @ IN SOA @ rname.invalid. (
  3. 0 ; serial,配置编号,每次改完配置 +1,这样从服务器就知道更新配置
  4. 1D ; refresh,从服务器刷新时间,默认一天刷新一次
  5. 1H ; retry,如果刷新失败,默认1小时重试一次
  6. 1W ; expire,缓存过期时间,一周
  7. 3H ) ; minimum
  8. NS @
  9. A 127.0.0.1
  10. AAAA ::1
  11. www IN A 192.168.100.112

我们新加了个 www.dylan.com 的 A 记录。

5. 启动服务测试

  1. systemctl start named
  2. systemctl enable named
  3. 查看端口:
  4. netstat -lnutp| grep 53
  5. ss --inutp|grep 53
  6. 本机测试解析:
  7. dig @127.0.0.1 www.dylan.com

查看
00-934957199.png
另外介绍两种检查配置的方法:

  1. # 检查主配置
  2. named-checkconf /etc/named.conf
  3. # 检查 zone 配置
  4. named-checkzone dylan.com /var/named/dylan.com.zone

结果如下:
0-1108376845.png

6.客户端测试

我们在客户端修改 DNS 配置测试,修改网卡 DNS 配置重启网卡:
19-246541790.png