web-dev-qa-db-ja.com

DNSを変更しても/etc/resolv.confが更新されないのはなぜですか?

DNSを8.8.8.88.8.4.4に変更しようとしましたが、それができないようです。

/etc/resolv.confにある

# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
#     DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
nameserver 127.0.0.1

/etc/resolvconf/resolv.conf.d/baseに追加しました

nameserver 8.8.8.8
nameserver 8.8.4.4

Sudo resolvconf -uで再読み込み

/etc/resolv.confで変更はありません

/etc/resolvconf/resolv.conf.d/baseのスペルを間違えた場合、たとえばameserver 8.8.8.8を追加してcat /etc/resolv.confを再読み込みすると表示されます。

# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
#     DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
nameserver 127.0.0.1
ameserver 8.8.8.8

DNSを変更するにはどうすればよいですか、それが機能しているかどうかを確認するにはどうすればよいですか?

4
Qwertie

ここで他の答えを拡張し、ここでいくつかの混乱を解決するために、Network Managerを使用して接続を管理している場合は、dnsmasqの小さなバージョンも含まれています。これは、resolv.confの127. *アドレス(dnsmasqがバインドされているlocalhostのIPアドレス)です。

Network Managerは、DNSサーバーで構成されている場合、dnsmasqに要求を中継するDNSサーバーを通知します。

Network Managerの設定でDNSサーバーとして8.8.8.8を設定した場合、dnsmasqは実際の解決のために8.8.8.8にキャッシュされていないすべての要求を転送しますが、コンピューターは処理のためにDNS要求をdnsmasqに直接送信します。

わかりにくいですが、Network Managerを使用して接続を管理しているときに、resolv.confを使用して使用中のDNSサーバーを表示することはできません。

5
Thomas Ward

最初にコメントで行ったすべてを元に戻します。

つかいます:

$ nmcli device 

ネットワークマネージャーのステータスを取得するには:

DEVICE  TYPE      STATE        CONNECTION 
enp3s0  ethernet  connected    myConnection

したがって、私のインターフェースはenp3s0であり、私の接続名はmyConnectionです。

接続で使用しているDNSサーバーを確認できます。

$ nmcli -f IP4.DNS connection show myConnection

あなたのために私はそれが表示されると思います:

ipv4.dns:                               127.0.0.1

次に、希望するDNSサービスを設定します。

nmcli connection modify myConnecion ipv4.dns "8.8.8.8, 8.8.4.4"

接続をすべてリロードした後:

nmcli connection down myConnecion
nmcli connection up myConnecion

次に、/etc/resolv.confを確認します。

cat /etc/resolv.conf

それでもDNSサーバーとして127.0.0.1を使用していると表示される場合は、「dnsmasq」を使用している可能性が高く、実行を確認します。

Sudo ss -pln sport = 53

ポート53でリッスンするプロセスとしてdnsmasq nameを取得する必要があります。したがって、すべてが正常であり、正しいDNS名サーブを使用しています。127.0.0.1は、ユーザーと設定したサーバー間の単なるレイヤーです。

/etc/resolv.confで実際に「8.8.8.8」を表示する場合は、「dnsmasq」を無効にする必要があります。

このファイルを開きます:

/etc/NetworkManager/NetworkManager.conf

dns=dnsmasq#dns=dnsmasqに変更します。

最後に:

Sudo systemctl restart NetworkManager

/etc/resolv.confをもう一度確認してください。

3
Ravexina