搭建一个内网的 DNS: 一用做内网机器解析外网的缓存 DNS,二来解析一下自己内网的主机名。
内网的网段用的是:
172.18.0.0/24
172.18.1.0/24
172.18.2.0/24
/etc/named.conf:
zone "lusun.com" IN { type master; file "lusun.com.zone"; allow-transfer { 172.18.0.3; }; }; zone "18.172.in-addr.arpa" IN { type master; file "172.18.zone"; allow-transfer { 172.18.0.3; }; };
注:在 dns 的数据文件里不要使用 "_" 下划线 这一符号,会让named 程序无法识别
如写成
zabbix_proxy08 IN A 172.18.5.8
就会在重启的时候报错,建议在修改完区域数据文件后,用named-checkzone 命令查检一下。
应该写成
zabbix-proxy08 IN A 172.18.5.8
把下划线换成中线
正向文件还好写 lusun.com.zone:
IN NS dns1.lusun.com. IN NS dns2.lusun.com. dns1 IN A 172.18.0.2 dns2 IN A 171.18.0.3 www IN A 172.18.0.10 ftp1 IN A 172.18.1.1 ftp2 IN A 172.18.2.1
可是反向文件怎么写呢? 刚开始我写成了
IN NS dns1.lusun.com. IN NS dns2.lusun.com. 0.2 IN PTR dns1.lusun.com. 0.3 IN PTR dns2.lusun.com. 0.10 IN PTR www.lusun.com. 1.1 IN PTR ftp1.lusun.com. 2.1 IN PTR ftp2.lusun.com.
测试结果:
[root@hdp71 ~]# dig -x 172.18.0.10 ; <<>> DiG 9.9.4-RedHat-9.9.4-29.el7_2.3 <<>> -x 172.18.0.10 ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 45255 ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 1 ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 4096 ;; QUESTION SECTION: ;10.0.18.172.in-addr.arpa.INPTR ;; AUTHORITY SECTION: 18.172.in-addr.arpa.86400INSOAlusun.com. admin.lusun.com. 20160801 14400 1800 604800 86400
无法解析反向,后来折腾了半天,改成了这样:
IN NS dns1.lusun.com. IN NS dns2.lusun.com. 2.0 IN PTR dns1.lusun.com. 3.0 IN PTR dns2.lusun.com. 10.0 IN PTR www.lusun.com. 1.1 IN PTR ftp1.lusun.com. 1.2 IN PTR ftp2.lusun.com.
就好了,原来反向就要 “反得彻底”:
2.0 IN PTR dns1.lusun.com.
像这样一条记录,2 是最后一位 IP, 0是网段号,反过来就是 172.18.0.2 这个时候就能正常解析啦。
本文出自 “海风久远” 博客,请务必保留此出处http://beyondhf.blog.51cto.com/8953234/1841054
原文地址:http://beyondhf.blog.51cto.com/8953234/1841054