本例是在ubuntu18.04上進行的,其他版本的ubuntu同樣類似!
一、重點說明/etc/bind/named.conf.options配置文件
在進行bind9服務器配置時,/etc/bind/named.conf.options是十分關鍵的配置文件,它決定著DNS服務器是否可以正常工作。
重點解釋第30行:listen-on port 53 { 192.168.110.6; };
這行代碼指定了bind9服務器的監聽端口號為53,監聽的ip的地址為本機的IP地址。這里的IP地址一定是要注意,這個IP是本機網址所配置的IP。不用NAT所用的公網IP。只能是網卡實際配置的IP(即ifconfig顯示的IP),不管此IP是公網IP還是內網。
我們知道,通常情況下,即使是公網環境下,服務器也是NAT后面,所以服務器配置的IP地址仍然是內網IP。所以我想說的就是,第30行配置的IP就是網卡配置的IP,不用管這個IP是公網還內網。所以圖1中的IP必須與圖2中的IP保持一致。
圖1. /etc/bind/named.conf.options配置信息
圖2. ifconfig顯示網卡配置信息
配置完成以后,查看bind9的端口監聽情況:netstat -anp | grep 53
這里的正確顯示了bind9可以正常監聽53端口。
如果第30行配置的IP地址不是本機網卡的IP地址,那么bind9會無法正常監聽,也就不能正常提供DNS服務了。
從上圖可以看出systemd-resolved服務占用了53端口,但它監聽的IP地址與bind是不沖突的,所以配置bind9時是完全不用管systemd-resolved的(不用關閉它),也不用管它的配置文件/etc/resolv.conf。只要正確配置bind9的配置文件/etc/bind/named.conf.options就可以了。
二、查看服務狀態、打開/關閉服務等命令使用
#啟動bind9有兩個: /etc/init.d/bind9 restart /usr/sbin/named systemctl start bind9 #查看bind9啟動狀態,如果沒有正常啟動,它會顯示錯誤在哪里,比如配置信息哪里錯了 systemctl status bind9 #配置開機自啟動或關閉自啟動 systemctl enable bind9 systemctl disable bind9 #查看bind服務器狀態 sudo rndc status #重啟網絡服務 sudo service network-manager restart sudo systemctl restart networking.service #查看ubuntu自帶的resolve狀態 systemd-resolve --status #重啟ubuntu自帶resolve systemctl restart systemd-resolved