web-dev-qa-db-ja.com

resolv.confからlocalhostネームサーバーを削除する方法

現在、私の/etc/resolv.conf読み取り:

nameserver 127.0.0.1  
nameserver 10.255.0.101  
nameserver 10.255.0.11  

代わりに読んでほしい:

search [my domain]  
nameserver 10.255.0.101  
nameserver 10.255.0.11  
nameserver 208.67.222.222  
nameserver 208.67.220.220  

/etc/resolv.conf/etc/resolv.conf.d/headの両方を手動で編集することはできませんが、この変更を行うにはどうすればよいですか?

8
user217676

まず、/etc/resolvconf/resolv.conf.d/headを手動で編集できますDO NOT EDIT THIS FILE BY HANDと言うファイル内のコメントは、/etc/resolvconf/resolv.conf.d/head自体には適用されませんが、前者が付加される/etc/resolv.confに適用されます。

ただし、通常の状況では、/etc/resolvconf/resolv.conf.d/headを編集する必要はありません。

ファイル/etc/resolvconf/resolv.conf.d/headおよび/etc/resolvconf/resolv.conf.d/tailは、例外的な状況で必要な場合に生成されるresolv.confに頭と尻尾を強制する方法として提供されますが、resolvconfを適切に通常の状態で使用している場合状況では、これを行う必要はありません。

ファイルの内容は

nameserver 127.0.0.1
nameserver 10.255.0.101
nameserver 10.255.0.11

nameserver 127.0.0.1の存在は、dnsmasqなどのローカル転送ネームサーバーを実行していることを示唆しています。上記のファイルは、これらの状況下でresolvconfが通常生成するものではありません。通常、次のようなファイルを生成します。

# 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
search foo.com

私の推測では、システム上の/etc/resolv.conf../run/resolvconf/resolv.confへのシンボリックリンクではなく、resolvconf以外によって生成される場合と生成されない場合があるプレーンファイルです。ファイルが完全に静的な場合は、単に編集して、見た目が見えるようにします。ファイルがresolvconf以外のツールによって生成された場合、どのツールがファイルを生成しているかを把握し、そのツールを構成します。

または、シンボリックリンク/etc/resolv.conf -> ../run/resolvconf/resolv.confを復元し、resolvconfを適切に構成します。

Localhostネームサーバーをresolv.confから削除するにはどうすればよいですか?

次の手順は、resolvconfを使用して/etc/resolv.confを管理する場合にのみ適用されます。つまり、/etc/resolv.conf../run/resolvconf/resolv.confへのシンボリックリンクです。

nameserver 127.0.0.1/etc/resolvconf/resolv.conf.d/のいずれかのファイルにある場合は、そこから削除します。

それ以外の場合、その行はローカルで実行されているネームサーバーから来ています。そのネームサーバーをアンインストールするか、アドレス127.0.0.1をresolvconfに登録しないようにそのネームサーバーを構成します。特に、ローカル名のBIND 9を実行している場合は、それを削除するか、RESOLVCONF=no/etc/default/bind9を設定します。

参照: https://bugs.launchpad.net/debian/+source/bind9/+bug/93372

5
jdthood

試してみる

Sudo vi /run/resolvconf/interface/NetworkManager

ネームサーバー127.0.0.1を削除または交換してから使用します

Sudo resolvconf -u.
2
Mitre Slavchev

NetworkManagerの構成を確認します。

Sudo NetworkManager --print-config

もしあれば

dns=systemd-resolved

次に、設定を編集します

/run/resolvconf/interface/systemd-resolved

そして更新

Sudo resolvconf -u

私の場合は

/run/resolvconf/interface/tun0.openvpn

干渉を避けるために安全に削除できるファイル(OpenVPNによって作成):

Sudo rm /run/resolvconf/interface/tun0.openvpn
1
Valery Markov