web-dev-qa-db-ja.com

新しいネットワークに接続するときに破棄される/etc/resolv.confへの変更

最近、12.04から12.10にアップグレードしましたが、インターネットへの接続に問題があります。

IPアドレスを取得し、ローカルネットワーク内の他のLAN IPにpingできますが、インターネットに接続できず、端末からwww.google.comにもpingできません。

どういうわけか/etc/resolv.confを変更し、resolvconfサービスを再起動してリブートすることはできますが、新しいネットワークに接続するたびにこれを行う必要があります。これらの変更を永続的にするにはどうすればよいですか?

誰かがこの問題の解決策を提案できますか?

3
sudheer

/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

変更を入れてみてください

/etc/resolvconf/resolv.conf.d/baseで、15分ごとに書き換えられると、/ etc/resolv.confに追加されます。

2
fabricator4

DISCLAIMER! DNSサーバーがネットワークマネージャーの一部として管理されている場合、この回答に従うと予期しない問題が発生する可能性があります-これはdnsmasqシステムより上にあるDNSサーバーとネットワークマネージャーの設定のDNSサーバーの使用を強制します。everything 。同様に、特定のネットワークおよび/または接続はrequireを使用することがありますtheir DNSサーバー物事を解決するインターネット。

/etc/resolvconf/resolv.conf.d/headを編集し、nameserver 1.2.3.4レコードをここに追加します。

これは、デスクトップインストールでも14.04で機能します。これは、ローカルゾーン解決のためにラップトップ上でローカルに(bind9を介して)DNSサーバーを実行しているためです(多くの仮想マシンの処理を行うため)。他のすべて。

1
Thomas Ward

私は自分自身でDNSに苦労し、 question とその解決策を投稿しました。これには、DNS設定を変更する方法のいくつかがリストされています。基本的に、2つの方法があります-/etc/resolvconf/resolv.conf.d/の3つのファイルのいずれかを編集するか、/etc/dhcp/dhclient.confを編集します。私は個人的に最初のものを好みます。

以下は、ubuntuおよびlinuxミントシステムに適用する方法の一部です。あなたの裁量で使用してください。

/ etc/dhcp/dhclient.conf

他の人がすでにresolv.confファイルをカバーしているので、これから始めます。以下に表示されるのは、このファイルの一部です。 prepent name serverという18行目を見てください。使用する接続に関係なく、指定したDNSを設定に追加します。

1#Debianに含まれる/ sbin/dhclientの設定ファイル

 2  #       dhcp3-client package.
 3  #
 4  # This is a sample configuration file for dhclient. See dhclient.conf's
 5  #       man page for more information about the syntax of this file
 6  #       and a more comprehensive list of the parameters understood by
 7  #       dhclient.
 8  #
 9  # Normally, if the DHCP server provides reasonable information and does
10  #       not leave anything out (like the domain name, for example), then
11  #       few changes must be made to this file, if any.
12  #

13  option rfc3442-classless-static-routes code 121 = array of unsigned integer 8;

14  #send Host-name "andare.fugue.com";
15  send Host-name = gethostname();
16  #send dhcp-client-identifier 1:0:a0:24:ab:fb:9c;
17  #send dhcp-lease-time 3600;
18  #supersede domain-name "fugue.com home.vix.com";
19  #prepend domain-name-servers 127.0.0.1;
20  prepend domain-name-servers 208.67.220.220;
21  request subnet-mask, broadcast-address, time-offset, routers,
22          domain-name, domain-name-servers, domain-search, Host-name,
23          dhcp6.name-servers, dhcp6.domain-search,
24          netbios-name-servers, netbios-scope, interface-mtu,
25          rfc3442-classless-static-routes, ntp-servers,
26          dhcp6.fqdn, dhcp6.sntp-servers;
27  #require subnet-mask, domain-name-servers;
28  #timeout 60;
29  #retry 60;
30  #reboot 10;
31  #select-timeout 5;
32  #initial-interval 2;
33  #script "/etc/dhcp3/dhclient-script";
34  #media "-link0 -link1 -link2", "link0 link1";
35  #reject 192.33.137.209;

36  #alias {
37  #  interface "eth0";

/ etc/resolvconf/resolv.conf.d /

3つのいずれかのテキストが/etc/resolv.confに追加されるため、どちらを選択するかは重要ではないと思います。個人的にtailを使用します。任意のテキストエディタで開いてnameserver 8.8.8.8を追加します。8.8.8.8はGoogleのパブリックDNSですが、任意のDNSを使用できます。

小さなチップ

/etc/Network-Manager/Network-Manager.confでは、dns=dnsmasq行をコメントアウトすることをお勧めします。この行は、ネットワークマネージャーのプラグインであり、自動的に最も近い/最も簡単にdnsに到達します。ネットワークのDNSを渡し、独自のDNSを使用します。

サイドノート:resolv.confが書き換えられるという事実は実際には正常です-私のマシン上のすべての新しい接続でも同様です。理由に答えることはできませんが、NetworkManagerはローカル接続からdhcpリースを取得し、そのローカル接続の設定、dnsなどを使用するため、resolv.confをそれに適応させる必要があります。

0

以下は、ネームサーバーの情報処理における既知のバグを修正する一般的な手順です。

Resolvconfはインストールされていますか?その場合は、次を実行します。

Sudo dpkg-reconfigure resolvconf

インストールされていない場合は、次を実行します。

Sudo apt-get install resolvconf

Resolvconfが正しくインストールされたので、resolvconfにネームサーバー情報が提供されるように再起動します。

ネームサービスがまだ壊れていて、NetworkManagerを使用してネットワークを管理している場合は、エディターで/etc/NetworkManager/NetworkManager.confを開き、「dns = dnsmasq」の行をコメントアウトします。コメントアウトするには、行の先頭に「#」文字を入力します。

gksudo gedit /etc/NetworkManager/NetworkManager.conf

次に、接続エディターを開き、使用している接続が適切に構成されていることを確認します。たとえば、ほとんどの場合、「ネットワークインジケータ|接続の編集... |有線|有線接続1 |編集... | IPv4設定|メソッド」は「自動(DHCP)」に設定され、「追加DNSサーバー」アドレスは設定されません。

次に、network-managerを再起動します。

Sudo restart network-manager

予想されるネームサーバーアドレスが/etc/resolv.confに表示されることを確認します。

NetworkManagerを使用してインターフェイスを構成せず、ifupを使用している場合は、/etc/network/interfacesを編集し、適切なifaceスタンザにdns-nameserversおよびdns-search行を含めます。必要です。 /etc/resolvconf/resolv.conf.d/headにコメント行のみが含まれていること、および/etc/resolvconf/resolv.conf.d/baseおよび/etc/resolvconf/resolv.conf.d/tailが存在しないか空であることを確認してください。 。次に、ifdownおよびifupインターフェース。/etc/network/interfacesに追加したネームサーバーアドレスが/etc/resolv.confに表示されることを確認します。

それでもネームサービスが機能しない場合は、ローカルの問題が考えられます。たとえば、DHCPサーバーの構成ミスなどです。問題のもう1つの既知の原因は、シンボリックリンク/etc/resolv.confを破壊するサードパーティのVPNクライアントです。 LANに問題がないようで、サードパーティのネットワークソフトウェアを使用していない場合は、NetworkManagerまたはresolvconfのいずれか(バグの可能性が高いと思われる方)に対してバグレポートを提出してください。

0
jdthood