nm-toolがDNSサーバーを更新するように強制する方法

nm-toolがDNSサーバーを更新するように強制する方法

Ubuntu 14.04LTSを使用しており、DNSの変更に問題があります。 /etc/resolvconf/resolv.conf.d/base とヘッダファイルでサーバを変更し、sudo resolvconf -u を使用して resolvconf を再起動すると、変更内容で /etc/resolv.conf が更新されます。その後、ホスト名を探すと、指定したサーバーを使用していることがわかります。ただし、nm-toolを実行すると、どこから来たのかわからない一部のDNSサーバーが引き続き表示されます。システムはDHCPを使用せずにすべてが静的に構成されていますが、/etc/dhcp/dhclient.confに行き、「front nameservers 8.8.8.8」を追加した場合に備えて、親DNSサーバーに8.8.8.8を手動で追加する必要があります。と思いました。 nm-toolを参照してください。これらの変更をすべて実行した後、ネットワークを再起動しましたが、まだ運がありません。 nm-toolが私が指定したものを使用するように強制する方法と、これらの他の項目のソースをどのように知ることができますか? ?

答え1

私の/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;

これは私のDNSサーバーをチェックするnm-toolの出力です。

$ nm-tool | awk '/DNS/ {print $2}'                                                                                      
208.67.222.222
208.67.220.220
8.8.8.8

おそらく役に立つのは、ネットワーク管理者がdnsmasqプラグインを使用しないようにその行をコメントアウトしたことです/etc/NetworkManager/NetworkManager.confdns=dnsmasq

この方法に加えて、各接続のDNSを自動的に更新するスクリプトも書きましたが、これは代替として使用できますが、アイデアはまだ同じです。 dhcpが提供するDNSを無視し、自分のDNSを使用してください。詳細はこちら:https://unix.stackexchange.com/a/164728/85039

関連情報