DNS IPを変更する適切な方法は何ですか?


56

ADSLモデム/ルーターが提供するネームサーバーにバグがあると思います。Ubuntuで初めてWebサイトを閲覧するたびに、ドメイン名の解決には少なくとも15秒かかります。

この問題を回避するために、ネームサーバーの設定を/etc/resolv.conf192.168.1.1(ADSLモデム)から8.8.8.8(googleのプライマリDNS)に変更しました。これで問題は解決したようですが、残念ながら私の変更/etc/resolv.confはスタートアップごとに「NetworkManager」によって上書きされます。

ubuntu 10.4でネームサーバーIPを設定する適切な方法は何ですか?

回答:


51

ネットワークマネージャーとDHCPとの典型的な接続設定がある場合は、次のことを試してください。

  1. パネルのネットワークマネージャーアイコンを右クリックし、[接続の編集...]を選択します。
  2. 有線または無線タブから接続を選択し、「編集」を選択します
  3. (接続が「システム全体で使用可能」として設定されている場合はパスワードを入力してください)
  4. [IPv4設定]タブを選択します
  5. 「自動(DHCP)アドレスのみ」への切り替え方法
  6. [追加のDNSサーバー]ボックスに目的のネームサーバーを入力し、[適用]を押します

これでうまくいくはずです。


1
NetworkManagerはresolvconfを使用してresolv.confを処理しますが、これはUbuntu 12.04以降でも引き続き機能します。
jdthood

4
構成がどこで終わるのか迷っている場合は、見てください/etc/NetworkManager/system-connections/(これらの構成ファイルにアクセスするには管理者権限が必要です)。
Lekensteyn

2
これは現在の接続のDNSのみを変更しますが、グローバルDNSを変更する方法もあり ますか?
rubo77

リストは空です。デフォルトでは何を使用しますか?
J.テイラー

1
端末インターフェイスでまったく同じように動作しますnmtui
グラニトサウルス

30

このように変更できます。

まず、メニューバーのネットワークマネージャーアイコンをクリックし、Edit Connections...アイテムをクリックします。

ここに画像の説明を入力してください

次に、使用するものに応じて「有線」または「無線」タブに切り替えます-私はWiFiを使用しているので、それを使用します。

ネットワークの名前を選択して、クリックします Edit...

[IPv4]タブに切り替え、自動DHCPから自動(DHCP)アドレスのみに変更します。

DNSサーバーのIPアドレスを入力します。

ここに画像の説明を入力してください

[保存]をクリックすると、完了です!


任意のPCのネットワーク設定でDNSサーバーを変更できますが、インターネットに接続する実際のルーターでDNSサーバーを変更することをお勧めします。これにより、接続されているすべてのデバイスが恩恵を受けます。
マークルーニー

3
彼がルーターを持っていない場合はどうなりますか?または、彼はこのコンピューター/ユーザーのDNSを変更したいだけですか?一度だけの場合はどうでしょうか?たぶん、彼は実際にはルーターにアクセスできず、別のDNSサーバーを使用したいのですが...このリストに一晩中理由を追加できます。良いヒントと@jrgに答えてください。
ブルーノペレイラ

6
これは、ネットワークマネージャーを使用して1台のマシンにDNSを設定するためのグラフィカルな方法です。カンマ区切りで複数設定できることを指摘しておきます。8.8.8.8,8.8.4.4。LANにDNSを設定することも役立ちます。LANが十分に大きい場合は、個人的にルーターまたはdnsmaskを使用します。LANでは、多くの場合、各クライアントまたは各クライアントの各ユーザーではなく、単一の場所(ルーター/ dnsmask / squid)でブラックリストまたはプロキシを維持する方が簡単ですが、それはここで尋ねられた質問を少し超えています。
パンサー

29

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

1
約1か月前に何らかの理由で、私の夜間のXubuntuビルドがLANホスト名の解決を停止しました。DHCPサーバーは、DNSサーバーとして自身(192.168.68.1)を発行する必要があります。また、Network Managerおよびすべての場所(この回答を参照)でハードコーディングしました。最近Xubuntu / NetworkMan / Whateverが127.0.xx IPを使用する方法では、問題を診断するのは困難です。私は外部IPを解決できたので、DNSの何かを取得していました。とにかく、これが私の問題を解決した唯一の答えでした。ありがとう
アダムプロッチャー16

18

これを行う別の方法は/etc/dhcp3/dhclient.conf、実行ダイアログにこれを入力して編集することです(Alt+ を押すと表示されますF2

gksudo gedit /etc/dhcp3/dhclient.conf

次に、次の行を見つけます

#prepend domain-name-servers 127.0.0.1;

に変更します

prepend domain-name-servers 8.8.8.8;

これにより、dhclient(NetworkManagerが使用するDHCPクライアント)がDNSサーバーの先頭に追加されるため、resolve.confは次のようになります。

nameserver 8.8.8.8
nameserver 192.168.1.1

このソリューションはどこでも機能し、常にプライマリDNSとして選択したDNSを取得します。


4
Network Managerはdhclient.confを参照せずにresolv.confを書き込むようだ
daithib8

2
ubuntu 11.10では、/ etc / dhcp3
Pawel Barcik

1
複数のものを入れることができますか?
PyRulez 14

1
@PyRulezはい、カンマで区切られ、最後にセミコロン
セルギーコロディアズニー

2
14.10でこれを試しましたが、効果はありません
-rubo77

7

別の解決策は、他のDNSサーバーを使用するようにルーターの構成を変更することです。その管理者にログインするだけで、問題を引き起こしているルーターでない限り、すべてのクライアントマシンがより良いDNSを取得します。


+1これがルーターで修正するのが最善の解決策ではない可能性が高い問題である場合は、ネットワーク上のすべてのマシンで修正されます。Google DNSまたはOpenDNSを使用するのが最善の方法です。
マークデビッドソン

1
私はすでにそれをしましたが、ルーターはクライアントと設定されたネームサーバーの間の中間ネームサーバーとして機能し、それでも非常に遅いです。
ウィムコーネン

1
多くのISPはルーターをロックするため、これらの設定を変更したり、そうするためにお金を払ったりすることはできません。
ラッセポールセン

@Wimルーターが妥当な時間枠内でDNS解決を提供できない場合、たとえば、良好な接続で50msの場合、何か重大な問題があります。間違っているため、他のトラフィックを効果的に処理していない可能性があります。30ドル/ 20ポンドのアップグレードの時期かもしれません。
オリ

1
@Oli:DNSの問題は、Linuxボックスからルーターを使用する場合にのみ発生します。Debianでも同じ問題が発生しましたが、Windowsには問題がありません。わずかな互換性の問題だと確信しています。それ以外の場合、ルーターは正常に動作します。
ウィムコーネン

6

画面右上のネットワークインジケーターをクリックして、を選択しEdit Connections...ます。変更する接続を選択します(おそらくWiredまたはWirelessタブから、Edit...ボタンをクリックします)。

IPv4 Settings接続ウィンドウのタブに切り替えて、メソッドをからAutomatic (DHCP)に変更しAutomatic (DHCP) addresses onlyます。これで、DNSサーバーのIPアドレスを指定できるようになります。

接続を保存すると、準備完了です。設定を変更した後、インジケータのメニューで接続を選択して、接続をリセットする必要がある場合があります。


1

ネットワークマネージャの下でそれを変更すると、その変更は持続します。

たとえばeth0を使用するには

Network Manager-> Wired-> Auto eth0-> ipv4 Settings。

DNSサーバーを8.8.8.8に設定して適用します。


「ネットワークマネージャー」と呼ばれるものを見つけることができませんでした。「システム-管理-ネットワークツール」がありますが、それは役に立ちません。最終的に、「システム-設定-ネットワーク接続」が必要であることがわかりました。
ウィムコーネン

1
パネルにネットワークマネージャーアイコン(ネットワークステータスを表示するアイコン)があり、右クリックして接続を編集できます。
マルセルスティムバーグ

これは機能しません
-user568021

0

ターミナルの使用

/etc/resolv.confリゾルバーが照会するネームサーバーIPアドレスを設定するには、ファイルを編集する必要があります。最大3つのネームサーバーのインターネットIPアドレスを定義できます。複数のサーバーがある場合、リゾルバーライブラリはリストされている順序でそれらを照会します。

まずタイプ

sudoedit /etc/resolv.conf

優先DNSサーバーのIPアドレスを次のように追加します。

nameserver <preferred-ip1>
nameserver <preferred-ip2>
nameserver <preferred-ip3>

から取得: http : //www.cyberciti.biz/faq/ubuntu-linux-configure-dns-nameserver-ip-address/


6
ネームサーバーがDHCP経由で設定されている場合、/etc/resolv.conf上書きされることに注意してください。そのため、このアプローチは、手動のネットワーク構成を持つマシンにのみ適しています。技術的には、ファイルが変更されないようにすることもできますchattr +i /etc/resolv.conf(私は何年も前に行いました)が、ほとんどのマシンでの最善の方法はjrgの答え:askubuntu.com/a/90263/13398です。
スコットセヴェランス

@ScottSeveranceシステムにXがなかったもの
Amith KK

その場合、おそらく手動で構成されたネットワークを備えたサーバーであり、その場合、答えは完全に適切です。しかし、ほとんどのUbuntuマシンはXを実行しており、他のアプローチを簡単に処理できます。マシンがXを実行していないが、適切なGUIがインストールされている場合、SSHを使用してグラフィカルツールを実行することもできますForwardX11=yes
スコットセヴェランス

6
/etc/resolv.confファイルを手動で編集しようとする場合、それを行う適切な方法は(上書きされないように)、「resolvconf」パッケージをインストールしてから/ etc / resolvconf / resolvを編集することです。 conf.d / headまたは/etc/resolvconf/resolv.conf.d/tail。
アゼンデール

0

Xがなく、管理がsshなどを介して行われるヘッドレスサーバーの場合、コマンドラインソリューションが必要です。resolv.confが上書きされない場合、それはネームサーバーを変更する正しい場所です。

resolv.conf 上書きされる場合、少なくとも14.04LTSでは、編集するファイルは次のとおりです。

  • /etc/resolvconf/resolv.conf.d/head
  • /etc/resolvconf/resolv.conf.d/tail

生成されたファイル(/etc/resolve.conf)に表示されるように、コメント文字列をこれらのようなファイルに入れることを強くお勧めします。これらは将来見つけることができます。次の形式の1行のコメントで各ファイルを開始および終了します。

  • #====== begin /etc/resolveconf/resolv.d/tail ======
  • #====== end /etc/resolveconf/resolv.d/tail ======

それらの間に関連するディレクティブを配置します。


0

dns-nameserver ipinterfacesファイルに行を追加し、有線接続のipv4設定を自動(DHCP)設定のみに設定し、DNSサーバーのIPとドメイン名を入力していることがわかりました。また、ローカルDNS IPをDSLルーターの静的DNSセクションに追加すると、NetworkManagerは、このローカルアドレスresolv.confを、ルーターから取得した他の情報とともに上書きするファイルに含めます。これらはすべて、ローカルDNS名前解決を永続的にするように思われます。これは驚くほど難しいタスクです。ローカルDNSの必要性はmount.cifs、DHCP を使用したネットワーク上でLinuxクライアントをSamba共有にマウントすることです。


0

Network-Managerが停止/etc/resolvconf/resolv.conf.d/baseされ、構成されている場合。

たぶんresolvconf --enable-updates便利です。


0

ここで回答したように、グラフィカルな方法でIPv4 DNS設定を変更できます

しかし、コマンドラインを使用して同じことを行う方法を知りたい場合は/etc/NetworkManager/system-connectionslsコマンドでディレクトリ内のファイルをリストする必要があります:

ls /etc/NetworkManager/system-connections

接続の名前を持つファイルが必要ですWired Connection 1。私の名前はになります。

そのため、ファイルを編集し、その中にDNSサーバーを追加する必要があります。

Sudo nano "/etc/NetworkManager/system-connections/Wired connection 1"

あなたが好きなように下のように多くのDNSサーバを追加[ipv4]セクションとセミコロンで区切る;とも入れて;、このような最後のDNSサーバーの終わりに:

[ipv4]
dns=1.1.1.1;8.8.8.8;9.9.9.9;

DNSを割り当てたくない場合は、この行を削除するだけです。

また、DHCPが提供するDNSサーバー(ルーターの設定で設定されたDNSサーバーなど)ignore-auto-dns=true無視するには、次の行を追加する必要があります

[ipv4]
dns=1.1.1.1;8.8.8.8;9.9.9.9;
ignore-auto-dns=true

この答えの少しのコンテキスト:GUIのDNS設定にDNSサーバーを追加すると、どのファイルが編集されるのかを把握しようとしていたので、このコマンドを16時間以上実行しました:sudo grep -rs "1.1.1.1" /Ubuntu仮想マシン上のすべてのファイルをスキャンしていましたしかし、それは長い間実行しても終了しませんでしたが、ファイルが存在する可能性があることを知っていた/etc/NetworkManagerのでgrep、そのディレクトリを再度指して実行し、これを見つけました:/etc/NetworkManager/system-connections/Wired connection 1:dns=1.1.1.1;そこで私はここに戻って、Lekensteynがすでに受け入れられた答えのコメントでこれを指摘しました。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.