Resolv経由でDNSサーバーを追加するにはどうすればよいですか。conf?

/etc/resolv.conf で役に立たない Ubuntu12.04LTS (正確なセンザンコウ)?

DNSサーバーの情報は次の場所に格納されていることがわかります NetworkManager 今だ その nmcli コマンドラインツールはあなたのためにそれを一覧表示することができます。

私はもう一つを追加したい場合 DNS サーバーは、それをに追加します /etc/resolv.conf を使用することにより、 resolvconf パッケージの助けか。

もし /etc/resolv.conf 含まれています nameserver 127.0.0.1 次に、エントリを追加します /etc/resolvconf/resolv.conf.d/tail 本当に役に立つことは何もしません。

NetworkManagerを使用している場合は、代わりにnameserverアドレスを静的に追加する必要があります ネットワークインジケータ: 接続を編集します。.. /編集.. /Ipv4設定/追加のDNSサーバー.

あなたの場合 本当に より多くのエントリを追加したい /etc/resolv.conf を作成し、 /etc/resolvconf/resolv.conf.d/tail そしてそこにそれらを追加します。

すべてのUbuntuリリースと同様に、ここで利用可能なUbuntuリリースノートを読むことをお勧めします:

デスクトップと共通インフラストラクチャセクションには、次のリンクが含まれています

私は別のアプローチを見つけました ここでは、 これには、以下のような行を追加する必要があります /etc/dhcp/dhclient.conf:

prepend domain-name-servers x.x.x.x, y.y.y.y;

同様に、私は第三のアプローチを見つけました ここでは、 それはに行を追加することを含みます /etc/network/interfaces:

auto eth0iface eth0 inet static    . . .    dns-nameservers 8.8.8.8 8.8.4.4

更新:ここにあります 公式文書 第三のアプローチのために。

Resolvconfパッケージについて話しているようです。

をインストールします。 resolvconf パッケージ。

走れ。

cd /etc/resolvconf/resolv.conf.dsudo cp -p head head.orig  #backup copy, always do thissudo nano head

ファイルの先頭は恐ろしい警告です。 ファイル/etc/resolv。confはこのファイルの内容から自動生成されます。/etc/resolvに置かれるように警告が表示されます。/etc/resolvのときのconf。confが生成されます。 ファイルの最後に、次のように追加します

nameserver <ip_of_nameserver>

プレス Ctrl x そして、ファイルを保存することにyesと答えます。 終了するには、/etc/resolvを再生成します。confは、変更が今適用されるようにします:

sudo resolvconf -u

次に、/etc/resolvの内容を確認します。あなたが追加した行を見るためのconfは今そこにあります。 さらに、次回マシンが起動するか、ネットワークサービスが再起動されたときのいずれか早い方が、まだそこにあります。

以下では、Ubuntu Server editionを実行し、NetworkManagerではなくifupを使用して以来、私が見つけた最良の方法を紹介します。

実際に私のために、彼らはこれを簡単にしました:)それをすべて/etc/network/interfacesファイルに入れます。 Resolvに書き込まれたのと同じ設定。confは、次の例のように、ネットワークアダプターの設定と同じファイルに含めることができます:

# The loopback network interfaceauto loiface lo inet loopback# The Primary Network Interfaceauto eth0iface eth0 inet static        address 192.168.1.2        netmask 255.255.255.0        network 192.168.0.0        broadcast 192.168.1.255        gateway 192.168.1.1        dns-nameserver 75.75.75.75         dns-nameserver 75.75.76.76        dns-search local        wildcard mask 0.0.0.255        cidr prefix size /24        cidr notation 192.168.1.0/24        first host 192.168.1.255        last host 192.168.1.254        mac address J7:836:737:727:gsgd837:g645

私はこれが助けになり、それが私のためにそうであるように簡単になることを願っています、今私たちは静的IPアドレスを作成し、ネームサーバーとdnsドメ

私はUbuntu Server12.04を実行しています。 私は次の変更を行い、サーバーを再起動しました(通常、これはネットワークインターフェイスをダウンさせるだけで行うことができます, ifdown eth0 または ifup eth0).

ファイル内 /etc/resolvconf/resolv.conf.d/base 私は次のエントリを追加しました:

nameserver 8.8.8.8nameserver 8.8.4.4

私は上記が役立つことを願っています!

Frankの答えに記載されているようにNetworkManagerを使用できますが、手動で編集したい場合は /etc/resolv.conf これを行うには、それを削除し(実際にはシンボリックリンクです)、必要なコンテンツを含む新しいプレーンファイルを作成します。 その resolvconf ユーティリティは、これまでにファイルに書 /run/resolvconf/resolv.conf.

注:この回答は、希望のネームサーバーを事前に保留していることにのみ焦点を当てた、かなり異なるプレマージバージョンの質問に対するものでした。

年12月04日(月)の記事一覧です。:

編集 /etc/dhcp3/dhclient.conf と追加 :
prepend domain-name-servers 127.0.0.1;

(実際には、この行はすでに存在しています。)

resolvconf 無駄です。 私はLinuxサーバー上にいて、私の IPアドレス 静的であり、私の DNS サーバーは静的です。 私は必要ありません resolvconf または NetworkManager.

それをシンプルに保つことは、サーバー上で作業するときの私のポリシーです。 複雑さが少ないほど、物事が壊れたときの管理/修正が容易になります。

だから私はやった aptitude purge resolvconf そして手動で確認しました /etc/resolv.conf ではありませんが、 シンボリックリンク 静的ファイルを作成しました。 プログラムがファイルを変更しようとする場合に備えて、私はしました chattr +i (不変)へ /etc/resolv.conf 予防措置として。

上記のほとんどは、元のシステムを持っていることを前提としていますが、実際には、異なるdhcpクライアントをインストールしたり、以前のバージョンのUbuntu 以下を知ることは価値があるかもしれません。 私はしばらくdnsmasqを使用していましたが、それをアンインストールしました。 現在、私のシステムは次の内容を持っていました /etc/resolv.conf (これはシンボリックリンクである /run/resolvconf/resolv.conf 私のシステム上で):

cat /etc/resolv.conf# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)#     DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTENnameserver 127.0.0.1

それは私が実行する頻度は問題ではありません sudo resolvconf -u または sudo dpkg-reconfigure resolvconf、それは私がNetworkManagerで設定したものにネームサーバーを更新しませんでした。 ResolvconfがNetworkManagerから使用する情報が存在していました:

cat /run/resolvconf/interface/NetworkManager  nameserver 8.8.4.4nameserver 8.8.8.8

しかし、このディレクトリに複数のファイルがある場合、このファイルはまったく使用されない可能性があることが判明しました。 原因は、dnsmasqの削除で削除されなかったファイルでした:

cat /run/resolvconf/interface/lo.dnsmasq                        nameserver 127.0.0.1

このファイルを削除するだけで(そして実行中 sudo resolvconf -u その後)私のdnsトラブルを解決しました:

cat /etc/resolv.conf                        # Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)#     DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTENnameserver 8.8.4.4nameserver 8.8.8.8 

私はこれがデバッグ(これらすべての異なるネットワークツール間の複雑な相互作用)で他の人にも役立つことを願っています。 あなたが使用する場合 resolvconf 実行することを確認してください ls /run/resolvconf/interfaces そこに何があるかを見るために。

私はちょうどリンクを削除しました /etc/resolv.conf ネームサーバのアドレスを持つ規則的なファイルを作成しました。 それは動作し、Ubuntu開発者が作成した奇妙な構造を使用する理由はありません。

上記のコマンドはnmcliではなくnm-toolでなければならないと思います。