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を編集して、サーバーの再起動後も変更を維持するにはどうすればよいですか?
短い答え
そのための最も信頼できる方法は、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に再接続できる場合は、問題ありません。
ウィンドウサーバーに付属のネットワークマネージャーを使用していない限り、永続的な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の変更は再起動後も持続すると思います。