Bind支援帶下劃線域名的解析
阿新 • • 發佈:2018-12-29
公司內部使用的一臺使用Linux Bind做的DNS伺服器,上面跑著一個域名(abc.com),一直執行的好好的。今天又要新增一個域名,不就是把配置檔案複製一份,然後在主配置檔案中新增一個域就好了。配置如下:
one "def.com" { type master; file "/etc/bind/def.com.hosts"; };
$ttl 38400 @ IN SOA ns.def.com. admin.def.com. ( 1243951711 10800 3600 604800 38400 ) @ IN NS ns ns IN A 172.16.17.10 file IN A 172.16.20.12 live-mng IN A 172.16.20.13 photo_mng IN A 172.16.20.14
然後進行語法檢查也沒有報錯,然後重啟服務也是成功的。
但是進行dig的時候,def.com下的域名都無法解析,但是abc.com下的域名都正常執行。難道是不支援多域名解析,顯然不是這樣的。
反正經過一段時間的折騰,發現竟然是photo_mng.def.com這個域名導致的無法解析,注意看了,photo_mng.def.com這個域名使用了下劃線,Bind預設是不支援下劃線域名解析的(支援-線),但是比較坑爹的是它沒有任何提示資訊,也不會報錯,就是無法解析,媽蛋。
當然了,解決辦法也是有的,那就是如果一定要用下劃線,可以取消check-names。
有兩種方法:
一、在/etc/resolv.conf加入options no-check-names
二、主配置域中新增check-names ignore引數
zone "def.com" { type master; file "/etc/bind/def.com.hosts"; check-names ignore; };