静的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/
resolvconfのマニュアルページ (マニュアルページで提供されている例)に従って、静的構成の下で/ etc/network/interfacesに次を追加します。
dns-nameservers [IP address(es) of your DNS]
dns-search [your dns-search strings (optional)]
静的IPをセットアップするときに、192.168.1.1
をDNSの値として指定したことを確認しますか?
コマンドラインからこれを行う方法はわかりませんが、System Settings -> Network
GUIを使用しても機能するはずです。私が考えているのは、以下のスクリーンキャプチャのようなものが欲しいということですか?それとも、あなたが何をしようとしているのか理解していないのですか?
注:左側のウィンドウの値は無視します。これらはDHCPからの値です。考えていることを説明しようとしていたので、静的構成を保存する必要はありませんでした。
ところで、私は192.168.1.1
を使用していました。しかし、有効なDNSサーバーにIPを使用することもできます。たとえば、8.8.8.8
や208.67.222.222
も動作するはずです。
Network Managerアプレットを使用してネットワーク設定を行いたくない(またはできない)場合、 "static"IP構成をセットアップする適切な方法を見つけます。 DHCPサーバーを使用できない場合は、dhclient.conf
で静的リースを使用します。そこで、dhclientがstaticにフォールバックするときにresolv.conf
ファイルに書き込まれるネームサーバーを指定する必要があります。
ただし、手を汚したくない場合は、GUIを使用して https://askubuntu.com/aのように、接続のIP設定でDNSサーバーアドレスを指定することをお勧めします/ 127537/33305 。
OPはサーバーedを使用しています。 NetworkManagerは適用されません。しかし、サーバーを複雑にするためだけに追加されるかもしれません。
そのことについて、なぜ世界でresolvconfがサーバーedに追加されたのか...なぜ!! ??!?
とにかくあなたの質問に答えるために追加します:
/ etc/network/interfaces
このようなもの:
auto eth0 inet static
dns-nameservers ns1.mydnsservers.com ns2.mydnsservers.com
重要なオプションは「dns-nameservers」です。