Ubuntu 11.10を使用していて、/ etc / resolv.confでDNSサーバーを手動で構成していますが、再起動するとどういうわけか上書きされます。どうすればこれを防ぐことができますか?
ありがとう。
Ubuntu 11.10を使用していて、/ etc / resolv.confでDNSサーバーを手動で構成していますが、再起動するとどういうわけか上書きされます。どうすればこれを防ぐことができますか?
ありがとう。
resolv.confのヘッダーで読むことができるように:
Dynamic resolv.conf file for glibc resolver generated by resolvconf
したがって、resolv.confが生成されます。再起動後にresolvconf構成を保持する場合は、/ etc / resolvconf / resolv.conf.d/baseを編集する必要があります。そのファイルに、resolv.confと同じように情報を入力します。
nameserver 8.8.8.8
次に、resolvconfを使用してresolv.confを再生成します。
sudo resolvconf -u
他の答えを読んだ後、私はまだ次の理由で何か違うものが必要でした:
resolvconf
、ただプレーン/etc/resolv.conf
です。chattr +i
ロックダウンに使用するのresolv.conf
はあまりにもハッキーなようです。必要に応じてPuppetが自由に変更できるようにする必要があります。私が見つけた最良の解決策dhclient
は、文書化されたフックを使用するデフォルトの動作をオーバーライドします。
/etc/dhcp/dhclient-enter-hooks.d/nodnsupdate
次の内容で新しいファイルを作成します。
#!/bin/sh
make_resolv_conf() {
:
}
次に、ファイルを実行可能にします。
chmod +x /etc/dhcp/dhclient-enter-hooks.d/nodnsupdate
これで、dhclientが実行されると(再起動時または手動で実行するとき)、sudo ifdown -a ; sudo ifup -a
このスクリプトがロードされますnodnsupdate
。make_resolv_conf()
このスクリプトは、通常は上書きresolv.conf
され、代わりに何も行わないという内部関数をオーバーライドします。
これはUbuntu12.04でうまくいきました。
NetworkManagerが/etc/resolv.confファイルを上書きしていることがわかりました。私の場合、DNSサーバーがリストされている順序を変更したかったのです。接続IP4V設定を編集することにより、NetworkManagerを介してこれを行うことができます。
これを行うDHCPクライアントがあります。これらの手順に従って、それをオーバーライドします。
私は次の行を使用します:chattr + i /etc/resolv.conf
使用を元に戻すには:chattr -i /etc/resolv.conf
それがうまくいったかどうか教えてください...
NetworkManagerは、手動で入力したIPv4構成を使用するように構成することも、DHCPIP/ネットマスク/ルーターからのみ取得するように構成することもできます。このような場合は/etc/resolv.confを変更しないでください。
ただし、/ etc/resolv.confに独自の設定を設定したい場合があります。検索するネームサーバーやドメインなどです。ドメインが必要なだけで、次のファイルを含む/etc/NetworkManager/dispatcher.d/99my_fixを追加しました。
#!/bin/bash
rc=/etc/resolv.conf; le="search my.domain"
grep -q domain $rc && ! grep -q "$le" $rc && echo "$le" >> $rc
もちろん、私はそれを+xでchmodしました。NetworkManagerは/etc/resolv.confを設定した後にそれを呼び出し、私のスクリプトは必要に応じてそれを修正します。最初のgrepはネットワークが稼働していることを検出し、2番目は修正が適用されなかったことを検出します。これらは両方とも修正を適用するために必要です。
同じ問題が発生し、domain-nameとdomain-name-serversを追加して`/etc/dhcp/dhclient.conf'ファイルを編集しました
supersede domain-name "local.com";
supersede domain-name-servers 192.168.56.103;
192.168.56.103はbind9を実行している私のVMであり、私のドメイン名はlocal.comです。
request
セクションからも同じものを削除しました。
サーバーインスタンスのネットワークインターフェイスがDHCPによって制御されている場合、ネットワークサービスが再起動されるたびに、dhclientプログラムは/etc/resolv.confファイルを上書きします。
この問題を修正するには、「/ etc / dhcp / dhclient.conf」ファイルを編集し、次のようにdomain-name、domain-search、domain-name-serversのsupersedeステートメントを追加します。
supersede domain-name "mydomain.com";
supersede domain-search "mydomain.com"
supersede domain-name-servers 8.8.8.8;
この特定のケースでは、ネームサーバーは「8.8.8.8」にあり、ドメイン名は「mydomain.com」です。特定の情報に置き換えてください。
各行はセミコロンで終了し、ドメイン名は二重引用符で囲まれていることに注意してください。