web-dev-qa-db-ja.com

resolvconfを使用したリブート後のresolv.confの変更の保持

resolv.confファイルを編集する最良の方法は何ですか?

サーバーを構成するタスクが登場するまで、プロキシの設定に慣れていませんでした。 / etc/resolv.confファイルを手動で編集し、次の入力を含めました。

nameserver 192.168.115.147,192.178.116.168

ダウンロードしようとしてもエラーが発生しました。多くのグーグルの後で、私はファイルを再フォーマットすることにつながった投稿に出くわしました-次のように直接:

nameserver 192.168.115.147
nameserver 192.178.116.168

それが機能し、ファイルのダウンロードがエラーで中断されることがなくなりました。

ただし、サーバーを再起動する必要がある場合、ファイルは1行形式に戻り、ダウンロードが再び停止しました。そのとき、resolv.confの上部にあるDO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTENに気づきました。

つまり、resolv.confを編集して、サーバーの再起動後も変更を維持するにはどうすればよいですか?

7
sisko

短い答え

そのための最も信頼できる方法は、resolv.confを不変に設定することです。あなたがそれをあなたが望むように設定したら、あなたは単に走ります

Sudo chattr +i /etc/resolv.conf

もう一度編集するには、不変フラグを削除する必要があります。

Sudo chattr -i /etc/resolv.conf

代替回答

そのメッセージを/etc/resolv.confに入れるアプリケーションは、resolvconfと呼ばれます。 resolvconfパッケージを削除できます(ここではdebianまたはubuntuを想定していますが、resolvconfはdebianだと思います)。

Sudo apt-get remove resolvconf

resolvconfパッケージをインストールしていないと、奇妙な状況(特にホテルまたは空港のwifi)で適切な/etc/resolv.conf設定に接続できる可能性が高いため、コンピューターから削除しました。 resolvconfは、DNSキャッシングのような他のことも行い、おそらく私がいなくても生活できると思う他のいくつかのことを行います。あなたはそれを削除する前にそれが何をするのかを調べるかもしれません。

重要な注意

resolvconfを削除しても、/etc/resolv.confが変更されていないことは保証されません。 dhclientなどの他のプログラムは、/etc/resolv.confを編集します。ネットワークマネージャーを実行している場合は、/etc/resolv.confも編集される可能性があります。ネットワーク管理者の経験はあまりありません。

chattrソリューションは、これらの他のプログラムが編集できないようにする必要があり、おそらくサーバーの状況に適しています。ノートパソコンで使用している場合、/etc/resolv.confへの重要な変更がブロックされる状況が発生する可能性があります。たとえば、ホテルのwifiにアクセスする場合は、適切なインターネットにアクセスする前に、ローカルでホストされている特定のURLにアクセスするために/etc/resolv.confを変更する必要があります)。これらの状況でchattr -i /etc/resolv.confを覚えてwifiに再接続できる場合は、問題ありません。

4
rexroni

ウィンドウサーバーに付属のネットワークマネージャーを使用していない限り、永続的なDNSネームサーバーを設定するためのシンプルで適切な方法は、ネットワーク構成ファイルにあります。

Debian(Ubuntu、Mint、Arch)の場合は、/ etc/network/interfacesを編集します。

auto eth0
iface eth0 inet dhcp

dns_nameserver 8.8.8.8

Red Hat、Fedora、CentOSなどで、resolve.confの変更は再起動後も持続すると思います。

0
medbot