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