resolv.confファイルが毎回再生成されるのはなぜですか?


17

私の/etc/resolv.confファイルは、私は私の3Gモデムを再接続したときに、私はGoogleのDNSサーバーを失う作り、たびに再生成されます。

DNS設定を変更するために、私はhttp://code.google.com/intl/fr-FR/speed/public-dns/docs/using.htmlを見ました。

dhclient.confはかなり大きい(58行)ので、pastebinに投稿しました。

ただし、dhclient.confコメント行または空白行のない全体は次のとおりです。

option rfc3442-classless-static-routes code 121 = array of unsigned integer 8;
send host-name "<hostname>";
request subnet-mask, broadcast-address, time-offset, routers,
    domain-name, domain-name-servers, domain-search, host-name,
    netbios-name-servers, netbios-scope, interface-mtu,
    rfc3442-classless-static-routes, ntp-servers;
prepend domain-name-servers 8.8.8.8, 8.8.4.4;

wvdialNetwork Managerの代わりに使用しています。


残念ながら、私はについて何も知りませんwvdial。この時点で、私はそれを疑うか、まだ発見されていない別のパッケージがここに含まれていると思います。DNS、DHCP、インターフェイスなどに何らかの形で触れる可能性のある他のネットワーク関連のアプリケーションやツールをインストールしたかどうかを知っていますか?
ベラク

回答:


6

12.04では、resolvconfがデフォルトでインストールされます。一般的な使用例でDNS構成を変更する方法の概要を以下に示します。

を使用した静的構成の場合ifup、を使用しdns-nameservers、のdns-searchエントリを使用します/etc/network/interfaces

を使用した静的構成の場合はNetworkManager、を選択し、接続エディターのおよびフィールドにAutomatic (DHCP) addresses only Methodアドレスとドメイン名を入力します。Additional DNS serversAdditional search domains

resolvconfのデフォルト設定を上書きするにはbaseheadtailを使用し/etc/resolvconf/resolv.conf.d/ます。これらのファイルには、上記のように実際には別の場所に属しているため、一時的な手段としてアドレスとドメイン名のみを入力してください。

resolvconfを無効にすることはお勧めしませんが、シンボリックリンク/etc/resolv.confを通常のファイルに置き換えることができます。

詳細については、StéphaneGraberのブログ投稿を参照してください。


4

Google DNSサーバーをresolv.confに保持することだけが必要な場合は、編集
/etc/dhcp3/dhclient.confして追加できます。

prepend domain-name-servers 8.8.8.8;
prepend domain-name-servers 8.8.4.4;

あなたが持っているものと私がここで示しているものとの唯一の違いは、あなたが言及したドキュメントごとに、1行で両方のネームサーバーを持っているということです。

何かが足りない場合を除き、dhclient.confはここでは問題ありません。この時点で、問題はwvdialに関係していると考えています。

ubuntuforumsから試してみてください。

gksudo gedit /etc/ppp/peers/wvdial

パラメータusepeerdnsを削除し、ファイルを保存します。コード:

gksudo gedit /etc/wvdial.conf

次の行を追加します。

check DNS = no
auto DNS = no

@jgbelacqua私はやりのラインでそれを試してみましたが、動作しませんでした:P
ジャクサイドリク

@Jakh先頭に近い行を追加することも失敗すると仮定していますか?(これが私の設定方法です。)
belacqua

@jgbelacquaはい、私もそれを試してみました;]
ジャク・サイドリク

@Jakh- request subnet-mask, broadcast-address, time-offset, routers, domain-name, domain-name-servers, domain-search, host-name, netbios-name-servers, netbios-scope, interface-mtu, rfc3442-classless-static-routes, ntp-servers;行を編集してネームサーバーを削除しようとしましたか?
ベラク

@jgbelacqu病気は今試してみて、あなたに知らせましょう
ジャクサイドリク

4

NetworkMangerを使用せずに、静的アドレスを使用して、または接続から独立して、CLIを介してネームサーバーを設定する最良の方法は次のとおりです。

resolvconfパッケージをインストールします。

走る

sudo nano /etc/resolvconf/resolv.conf.d/head

(恐ろしい警告は無視してください。/etc/resolv.confは自動生成されるため、警告が存在するため、/ etc / resolv.confの生成時に/etc/resolv.confに格納されます。)ファイルの最後まで、追加

 nameserver <ip_of_nameserver>

Ctrl xファイルを保存するには、[はい]を押して答えます。最後に、/ etc / resolv.confを再生成して、変更がすぐに適用されるようにします。

 sudo resolvconf -u

一般に、resolv.confに静的なネームサーバーアドレスを配置することはお勧めできません。/usr/share/doc/resolvconf/README.gzをお読みください。
jdthood

0

domain-name-serversdhclient.confオプションを設定できます。


彼のペーストビンを確認してください-彼はすでにこれを持っているようです。
ベラク

おかげで、私はそれに気づかなかった。ところで、あなたのソリューションは正しいかもしれませんので、コメントではなく答えとして投稿することを検討してください。
アダムByrtek

こんにちは@adamはyoupleaseはより明確にすることができイムAのnoob:]感謝
Jakh Saidlikp

0

次のコマンドで同じ問題を解決しました。

echo "nameserver 212.217.0.1" >> /etc/resolvconf/resolv.conf.d/head
ln -s /etc/resolvconf/resolv.conf.d/head /etc/resolv.conf
resolvconf -u
/etc/init.d/networking restart

1
この方法で問題を解決した可能性がありますが、それは完全な誤設定です。最終的に/etc/resolv.confを静的ファイルにシンボリックリンクしましたが、これはたまたまresolvconfの構成ファイルの1つです。resolvconfを無効にする場合は、シンボリックリンク/etc/resolv.confを削除して、そこに静的ファイルを配置するだけではるかに簡単になります。
jdthood

-1

パケットresolvconfがインストールされていることが適切です。その場合、インターフェースが起動するたびに、resolv.confが更新されます。/etc/resolv.conf.tailファイルを使用して静的エントリを追加できます。詳細については、resolv.confのマニュアルページを参照してください。


noo私はそのパッケージをインストールしてい
ません

resolvconfプログラムは/etc/resolv.confを更新しますが、これは/etc/resolv.confが../run/resolvconf/resolv.confへのシンボリックリンクである場合のみです。resolvconfパッケージが導入されたのは、他の多くプログラムが互いに独立して/etc/resolv.confを踏み、混乱を招いたためです。/usr/share/doc/resolvconf/README.gzをお読みください。したがって、/ etc / resolv.confが更新されたという事実から、resolvconfがインストールされた(2011年3月に質問されたとき)ことにはなりません。おそらくpppdがファイルを書き換えていた可能性があります。(ただし、Ubuntu 12.04の時点では、resolvconfはベースシステムの一部です。)
jdthood

-1

私はまったく同じ問題を抱えていました。私のモバイルプロバイダーが提供するDNSサーバーはかなり貧弱だったので、GoogleのDNSを使用したかったのです。また、NetworkManagerはモバイルブロードバンド接続の処理が非常に貧弱なのでwvdial、必要です。

判明したように、これ/etc/resolv.confはシンボリックリンクでubuntu 12.10あり、場合によっては偶数12.04です。このsudo unlink /etc/resolv.conf後、私がやっ たことは、あなたが選択resolv.confした新しいvimエディタまたはエディタを作成し、グーグルのネームサーバまたはあなたが好む他のネームサーバを追加することです。保存して完了です。

何かを壊すのが怖い場合は、ls -la /etc/resolv.confunlinkingに行うことで既存のシンボリックリンクを書き留めることができます。

それが役に立てば幸い。


@Downvoter、コメントしてください。私の答えが本当に悪いアドバイスであるなら、私はそれを削除させていただきます。間違ったことを教えてください。ありがとう
-nikhil
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.