2011-06-17

Ubuntu 安裝和使用 Unbound 啟用 DNS Cache 功能

Ubuntu 並沒有像 Windows 7 一樣的把 DNS Cache 納入預設的功能,所以,Ubuntu 預設是沒有 DNS Cache 的功能的,如果想要讓 Ubuntu 有 DNS Cache 的功能,那得就要自己安裝才行哩 ! 阿舍找了一下,好像大家都用 dnsmasq 這一套比較多,不然,就是 nscd daemon 這一套,後來,還找到 Unbound 這一套哩 !

阿舍比較了一下,第一套的 dnsmasq 除了 DNS Cache 的功能外,也有 DNS Server 的功能,而第二套和第三套都是單純的 DNS Cache,但是,第三套的 Unbound 還多了一個 Recursive DNS Server,所以,阿舍就選這個 Ubound 來用用囉 !

首先,要先安裝 Unbound 這套軟體,請用下面的指令來安裝。

sudo apt-get update
sudo apt-get install unbound

安裝完成之後,要去把這台電腦的 DNS Server 指向 127.0.0.1 (本機) ,所以,要去修改 /etc/resolv.conf 這個檔,把原來的 nemeserver 加上 # 符號來註記掉,然後,再加上 127.0.0.1 這組 nameserver,以阿舍的 resolv.conf 為例,修改後的內容就會像下面這樣。

#nameserver 168.95.1.1
#nameserver 168.95.192.1
nameserver 127.0.0.1

如果,你有啟用 Network Manager,而且,是用 DHCP 取 IP 位址,或是使用虛擬機器配合 NAT 上網,那麼,每次重開,Network Manager 都會貼心的幫你設回外部的 DNS Server,所以,/etc/resolv.conf 的設定會改不過,要解決這個問題的話,要在改好 /etc/resolv.conf  後,用下面的指令把 /etc/resolv.conf  設定成唯讀,好讓 Network Manager 沒辦法改才行。

sudo chattr +i /etc/resolv.conf

都弄好以後,就把電腦給重開,重新開機之後,要來測試一下,以阿舍的網域用 nslookp 指令來測試,Name Server 應該會是使用 127.0.0.1,而且,可以查出網域的 IP 位址哩 !

$ nslookup www.arthurtoday.com
Server: 127.0.0.1Address:    127.0.0.1#53

Non-authoritative answer:www.arthurtoday.com    canonical name = arthurtoday.com.
Name:    arthurtoday.com
Address: 216.239.32.21
Name:    arthurtoday.com
Address: 216.239.34.21
Name:    arthurtoday.com
Address: 216.239.38.21
Name:    arthurtoday.com
Address: 216.239.36.21

推薦閱讀


有疑問? 問題還是沒解決嗎? 歡迎下方留言提問和討論 😁

沒有留言 :

張貼留言

歡迎留言提問和討論 .... 😁