web-dev-qa-db-ja.com

ネットワークが静的IPに設定されている場合、resolv.confは再起動時に設定されません

静的IPを使用するようにコンピューターを構成すると、Ubuntu 12.04サーバーエディションで名前解決の問題と思われる現象が発生します。

/ etc/network/interfaces内:

# The primary network interface
auto eth0
iface eth0 inet static
address 192.168.1.28
netmask 255.255.255.0
gateway 192.168.1.1

$ Sudo apt-get upgradeを実行すると、「フェッチに失敗しました...」という結果になります。

. . . W: Failed to fetch http://us.archive.ubuntu.com/ubuntu/dists/precise-backports/universe/i18n/Translation-en_US Something wicked happened resolving 'us.archive.ubuntu.com:http' (-5 - No address associated with hostname)
[...]

/ etc/network/interfacesを次のように変更すると:

auto eth0
iface eth0 inet dhcp

すべて正常に動作します。

/etc/resolv.confを調べると、さらにヒントが得られます。

解決の問題が発生した場合、resolv.confは空でした。ネームサーバーは指定されていません。次に、静的からDHCPに変更し、ネットワークを再起動しました。 /etc/resolv.confは「nameserver 192.168.1.1」に変更されました。

DHCPから静的に切り替えて再起動しても、ネームサーバーエントリは削除されません。しかし、静的セットでシステムを再起動したとき、resolv.confは空でした。 DHCPを設定してシステムを再起動すると、resolv.confのネームサーバーは192.168.1.1になります。だから、問題はresolve.confが正しく書き込まれていないということですか? resolv.confへの書き込みを担当するのはどのパッケージ/コードですか?未解決の問題を確認できる特定のパッケージはありますか?

更新:istreamは、12.04のresolve.confの変更点についての良い記事を投稿しました。 http://www.stgraber.org/2012/02/24/dns-in-ubuntu-12-04/

17
kenneth koontz

resolvconfのマニュアルページ (マニュアルページで提供されている例)に従って、静的構成の下で/ etc/network/interfacesに次を追加します。

dns-nameservers [IP address(es) of your DNS]     
dns-search      [your dns-search strings (optional)]
16
ukjola

静的IPをセットアップするときに、192.168.1.1をDNSの値として指定したことを確認しますか?

コマンドラインからこれを行う方法はわかりませんが、System Settings -> Network GUIを使用しても機能するはずです。私が考えているのは、以下のスクリーンキャプチャのようなものが欲しいということですか?それとも、あなたが何をしようとしているのか理解していないのですか?

Network config with static IP, default route, DNS server

注:左側のウィンドウの値は無視します。これらはDHCPからの値です。考えていることを説明しようとしていたので、静的構成を保存する必要はありませんでした。

ところで、私は192.168.1.1を使用していました。しかし、有効なDNSサーバーにIPを使用することもできます。たとえば、8.8.8.8208.67.222.222も動作するはずです。

1
irrational John

Network Managerアプレットを使用してネットワーク設定を行いたくない(またはできない)場合、 "static"IP構成をセットアップする適切な方法を見つけます。 DHCPサーバーを使用できない場合は、dhclient.confで静的リースを使用します。そこで、dhclientがstaticにフォールバックするときにresolv.confファイルに書き込まれるネームサーバーを指定する必要があります。

ただし、手を汚したくない場合は、GUIを使用して https://askubuntu.com/aのように、接続のIP設定でDNSサーバーアドレスを指定することをお勧めします/ 127537/33305

0
Simón

OPはサーバーedを使用しています。 NetworkManagerは適用されません。しかし、サーバーを複雑にするためだけに追加されるかもしれません。

そのことについて、なぜ世界でresolvconfがサーバーedに追加されたのか...なぜ!! ??!?

とにかくあなたの質問に答えるために追加します:

/ etc/network/interfaces

このようなもの:

auto eth0 inet static
     dns-nameservers ns1.mydnsservers.com ns2.mydnsservers.com

重要なオプションは「dns-nameservers」です。

0
jbowen7