/etc/resolv.conf
で設定したネームサーバーアドレスを保持できません。値を設定するたびに、ネットワークマネージャーは再起動時にデフォルトゲートウェイで値を上書きします。
正しく設定する方法は?
ルーターでネームサーバーを変更する以外の方法を希望します。
場合によります。最後までお読みください。
package resolvconf がインストールされていない場合は簡単です。好きなように変更した後、次のコマンドを発行します。
Sudo chattr +i /etc/resolv.conf
このコマンドはファイル属性を変更し、immutable
(+ iオプション)にします。
ただし、パッケージresolvconfがインストールされている場合は、ファイル/etc/resolv.confがシンボリックリンクに変換される場合があります。
# file /etc/resolv.conf
/etc/resolv.conf: symbolic link to `../run/resolvconf/resolv.conf'
これは、仮想ファイルシステム上のファイルであり、非永続バージョンの縮図です。おもしろいことに、最近のバージョンのDebianのようなOSには、resolvconfがプリインストールされているため、resolvconfがインストールされていることを知らない場合があります。次のコマンドを発行することで、ディストリビューションにインストールされているかどうかを確認できます。
#whereis resolvconf
resolvconf: /sbin/resolvconf /etc/resolvconf /lib/resolvconf /usr/share/man/man8/resolvconf.8.gz
最も重要なことですが、/etc/resolv.conf
は、上記のコマンド(ファイル/etc/resolv.conf)によってリンクに変換されています。返信がASCII text
、chattr
を使用、それ以外の場合...
静的IPを使用する場合、最も簡単なのは次の行(またはそのようなもの)を追加することです。
dns-nameservers 8.8.4.4 8.8.8.8
/ etc/network/interfacesで静的インターフェースのプロパティを定義するスタンザに追加します。
代わりに、常に異なるネットワークに接続するラップトップを使用している場合は、LawrenceC
の優れた提案に従うことができます。しかし、システムにresolvconfがある場合、DNSの固定セットを提供する正しい(そして最も簡単な)方法は、/ etc/resolvconf /内のファイルを使用することですresolv.conf.d。特に、以下のファイルが使用されます( Stephane Graberのページ を参照):
base:他のデータが見つからない場合に使用されます
head:resolv.confのヘッダーに使用され、DNSサーバーが常にリストの最初のサーバーであることを確認するために使用できます
tail:末尾のエントリは、結果のresolv.confの最後に追加されます。
次のように、お気に入りのネームサーバーをheadに配置します
nameserver 8.8.8.8
これで完了です。
ルートターミナルを使用して/etc/dhcp/dhclient.conf
に同様の行を追加します。
supersede domain-name-servers 74.122.198.48, 50.116.23.211;
これにより、DHCP要求を発行し、応答が伝えた内容に従って変更を行うプログラムdhclient
が、変更を行う前にDHCPサーバーから取得した情報を上記のものに置き換えます。
上記は2つのOpenNIC DNSサーバーです。必要に応じて、使用するサーバーに置き換えます。
これはDHCPから構成情報を取得するたびに発生するため、dhclient -v eth0
またはその他のインターフェイスを使用して更新し、変更を確認します。
@Rikが述べたように、再起動時にDNSが置き換えられる理由は、ネットワークマネージャ/ユーティリティが設定されているためです。 Linux Mintでは、スクリーンショットに従って、IPv4メソッドを自動(DHCP)アドレスのみに設定しました。次に、/ etc/resolv.confまたはDNSサーバーセクションに正しい設定を入力できます。 Ubuntu 13.04では、ネームサーバーが長期間にわたって数回変更されたことを覚えていますが、実際に行ってGUIで編集したところ、その後はすべてが安定しているように見えました。
同じ問題がありましたが、静的IPアドレスを使用しています。修正は、/ etc/network/interfacesにDNSを追加するだけでした
iface eth0 inet static
address [your ip>
netmask [your netmask]
network [your network]
broadcast [your broadcast]
gateway [your gateway]
# dns-* options are implemented by the resolvconf package, if installed
dns-nameservers [dns server1] [dns server2]
dns-search [your domain]
Wicdを使用した場合は、アイコンを右クリックして[接続情報]をクリックします。ウィンドウが開いたら、接続しているプロパティをクリックします。
静的DNSの使用を確認し、DNSサーバー1の行にGoogle DNSのIPを入力します8.8.8.8
およびDNSサーバー2の行に8.8.4.4
と入力し、[OK]をクリックします。
デフォルトからエラーが発生する場合は、ISPに連絡して、ISPに報告してください。それらはあなたがそれらに接続するとき、通常それらにあなたのモデムにDNSサーバーを割り当てます。
chattr +i
または同様の方法でハッキングすることは、せいぜい迅速な回避策であり、可能な限り回避する必要があります(少なくとも長期的には-言われているように、時間を見つけるまでの短期的な回避策です)実際のソリューションの場合)。すでに指摘したように、これはNetworkManagerのジョブであり、それに使用できるCLIを提供します。
#どのインターフェイスを調整するかを見つけます nmcliデバイス #出力は次のようになります: #lo loopback unmanaged- #それから、CONNECTIONが必要です。 #次に、「検索ドメイン」を追加します: nmcli接続変更my-office ipv4.dns-search example1.com nmcli con mod my-office + ipv4.dns-search example2.com #そして、ネームサーバー: nmcli con modify my-office ipv4.dns 213.73.91.35 nmcli con modify my-office + ipv4.dns 87.118.100.175 #2行目の「+」に注意:別のものを追加します。 #最初の行で既存のエントリを上書きします。 #単一の呼び出しでそれを実行できます: nmcli con modify my-office ipv4.dns " 213.73.91.35 87.118.100.175 " #OK、それではDHCPサーバーからの更新を無視するように伝えましょう: nmcli con modify my-office ipv4.ignore-auto- DNSはい [._ ___。]#変更を実行中の構成に適用します nmcli con up my-office
静的IPアドレスを使用する場合は、- kanelbolleの回答 のソリューションも使用できます。