ゲートウェイ192.168.122.1
はdnsを実行し、コマンドDig @192.168.122.1 www.google.com
は有効なIPアドレスを返すため、dnsは機能していて到達可能です。
コマンドtracepath www.google.com
はgethostbyname2: Host name lookup failure
を返します。
コマンドtracepath 74.125.129.103
(www.google.com)は有効な結果を生成するため、デフォルトルートが正しく設定されています。
コマンドroute -n
は以下を出力します:
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 192.168.122.1 0.0.0.0 UG 100 0 0 eth0
192.168.122.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
そして、/etc/network/interfaces
の該当する部分は次のようになります。
auto eth0
iface eth0 inet static
address 192.168.122.5
netmask 255.255.255.0
broadcast 192.168.122.255
gateway 192.168.122.1
dns-servers 192.168.122.1
現在、ファイアウォールは実行されていません。
これらの設定を考えると、tracepath www.google.com
はDNS情報について192.168.122.1
に連絡し、機能していて到達可能であることが確認されていると思います。
Tracepathコマンドがgethostbyname2: Host name lookup failure
を返す理由を見つけるために次に何をすべきですか?
編集(詳細)
/etc/resolv.conf
は空です。 Ubuntu 12.04は、/etc/resolvconf/resolv.conf.d/*
のresolv.confデータを自動生成する新しいサブシステムresolvconf
を使用します。
/etc/resolvconf/resolv.conf.d/original
に含まれるもの:
nameserver 192.168.122.1
他のすべてのresolv.conf.d
ファイル(head
およびbase
)は空です。
/etc/nsswitch.conf
に含まれるもの:
passwd: compat
group: compat
shadow: compat
hosts: files dns
networks: files
protocols: db files
services: db files
ethers: db files
rpc: db files
netgroup: nis
/etc/hosts
に含まれるもの:
127.0.0.1 localhost
127.0.1.1 hostname
# The following lines are desirable for IPv6 capable hosts
::1 ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
私はresolv.conf.d
バージョンにあまり詳しくありませんが、ルックアップ設定を/etc/resolv/resolv.conf.d/base
ではなく/etc/resolv/resolv.conf.d/original
に配置する必要があると思います。
nameserver
ディレクティブが/etc/resolv/resolv.conf.d/base
ファイルに入る受け入れられた答えはone ubuntuの新しいresolvconf
サブシステムでネームサーバー設定を管理する方法ですが、そこにありますこれもまた別の方法で、設定で試していました。
ネームサーバーは、/etc/network/interfaces
ディレクティブを使用してdns-nameservers
ファイルに設定することもできます。
私の問題はタイプミスでした!私はdns-nameservers
を「dns-servers」と書いていました。
受け入れられた回答とこの回答の両方が機能することを確認しました。