Networking
如何強制 nm-tool 更新其 DNS 伺服器
使用 Ubuntu 14.04LTS 並在更改 DNS 時遇到問題。我可以更改 /etc/resoolvconf/resolv.conf.d/base 和標頭檔中的伺服器,然後使用 sudo resolvconf -u 重新啟動 resolvconf,它會使用我所做的更改更新 /etc/resolv.conf。然後我可以探勘一個主機名,它告訴我它使用我剛剛指定的伺服器。但是,當我執行 nm-tool 時,它仍然顯示一些我不知道它們來自哪裡的 DNS 伺服器。這個系統沒有使用 DHCP,一切都是靜態配置的,但以防萬一我進入 /etc/dhcp/dhclient.conf 並添加“prepend domain-name-servers 8.8.8.8”,認為這會手動添加 8.8.8.8我在 nm-tool 中看到的 DNS 伺服器。在所有這些更改之後,我重新啟動了網路,但仍然沒有運氣。如何強制 nm-tool 使用我指定的內容以及如何找出這些其他條目的來源。?
我的
/etc/dhcp/dhclient.conf
文件使用以下配置,注意這一supercede
行# Configuration file for /sbin/dhclient, which is included in Debian's # dhcp3-client package. # # This is a sample configuration file for dhclient. See dhclient.conf's # man page for more information about the syntax of this file # and a more comprehensive list of the parameters understood by # dhclient. # # Normally, if the DHCP server provides reasonable information and does # not leave anything out (like the domain name, for example), then # few changes must be made to this file, if any. # option rfc3442-classless-static-routes code 121 = array of unsigned integer 8; #send host-name "andare.fugue.com"; send host-name = gethostname(); #send dhcp-client-identifier 1:0:a0:24:ab:fb:9c; #send dhcp-lease-time 3600; supersede domain-name-servers 208.67.222.222,208.67.220.220,8.8.8.8; # prepend domain-name-servers 208.67.222.222,208.67.220.220; request subnet-mask, broadcast-address, time-offset, routers, domain-name, domain-name-servers, domain-search, host-name, dhcp6.name-servers, dhcp6.domain-search, netbios-name-servers, netbios-scope, interface-mtu, rfc3442-classless-static-routes, ntp-servers, dhcp6.fqdn, dhcp6.sntp-servers;
這是 nm-tool 的輸出,它確認了我的 dns 伺服器
$ nm-tool | awk '/DNS/ {print $2}' 208.67.222.222 208.67.220.220 8.8.8.8
也許還有幫助的是,在我的
/etc/NetworkManager/NetworkManager.conf
, 我已經dns=dnsmasq
註釋掉了一行,這樣網路管理器就不會使用 dnsmasq 外掛除了這個方法,我還寫了一個腳本來自動更新每個連接的 dns,這可以作為替代方案,但想法仍然是一樣的 - 忽略 dhcp 提供的 dns,使用你的自己的。詳細資訊:https ://unix.stackexchange.com/a/164728/85039