web-dev-qa-db-ja.com

/etc/resolv.confでネームサーバーのアドレスを永続的にするにはどうすればよいですか?

/etc/resolv.confで設定したネームサーバーアドレスを保持できません。値を設定するたびに、ネットワークマネージャーは再起動時にデフォルトゲートウェイで値を上書きします。

正しく設定する方法は?

ルーターでネームサーバーを変更する以外の方法を希望します。

14
Ashildr

場合によります。最後までお読みください。

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 textchattrを使用、それ以外の場合...

静的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

これで完了です。

13
MariusMatutiae

ルートターミナルを使用して/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またはその他のインターフェイスを使用して更新し、変更を確認します。

9
LawrenceC

@Rikが述べたように、再起動時にDNSが置き換えられる理由は、ネットワークマネージャ/ユーティリティが設定されているためです。 Linux Mintでは、スクリーンショットに従って、IPv4メソッドを自動(DHCP)アドレスのみに設定しました。次に、/ etc/resolv.confまたはDNSサーバーセクションに正しい設定を入力できます。 Ubuntu 13.04では、ネームサーバーが長期間にわたって数回変更されたことを覚えていますが、実際に行ってGUIで編集したところ、その後はすべてが安定しているように見えました。

enter image description here

enter image description here

3
Rudolph

同じ問題がありましたが、静的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]
3
kanelbolle

Wicdを使用した場合は、アイコンを右クリックして[接続情報]をクリックします。ウィンドウが開いたら、接続しているプロパティをクリックします。

静的DNSの使用を確認し、DNSサーバー1の行にGoogle DNSのIPを入力します8.8.8.8およびDNSサーバー2の行に8.8.4.4と入力し、[OK]をクリックします。

デフォルトからエラーが発生する場合は、ISPに連絡して、ISPに報告してください。それらはあなたがそれらに接続するとき、通常それらにあなたのモデムにDNSサーバーを割り当てます。

1
Yames

thesolutionsgivenfor の場合、この小さな問題がどれほど苛立たしいものになるかは、Ubunutu 18.04では機能しなくなりました。

私にとってうまくいったのは、ブートのたびに/etc/resolv.confnameserver値を単に上書きすることでした。 Sudo/etc/rc.localを編集して、次の行を追加します。

 sed -i "s/nameserver 127.0.0.53/nameserver 8.8.8.8/" /etc/resolv.confsudo /etc/rc.local
0
Dan Dascalescu

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の回答 のソリューションも使用できます。

0
Izzy