教你使用Ubuntu搭建DNS服務器

本例是在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

到此這篇關於Ubuntu搭建DNS服務器的文章就介紹到這瞭,更多相關Ubuntu搭建DNS服務器內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!

推薦閱讀: