CentOS 6.2でインストールする新しいボックスでDNSの問題が発生しています。
Nslookup、Dig、またはHostを使用して名前を検索できます。名前またはIPアドレスでマシンにpingできます。ただし、ssh、wget、yumなどの他のツールを試しても、名前を解決できません。例えば:
# wget http://www.google.com
--2012-03-08 14:48:06-- http://www.google.com/
Resolving www.google.com... failed: Name or service not known.
wget: unable to resolve Host address `www.google.com'
# ssh www.google.com
ssh: Could not resolve hostname www.google.com: Name or service not known
# ping -c 1 www.google.com
PING www.l.google.com (74.125.113.106) 56(84) bytes of data.
64 bytes from vw-in-f106.1e100.net (74.125.113.106): icmp_seq=1 ttl=46 time=43.6 ms
--- www.l.google.com ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 59ms
rtt min/avg/max/mdev = 43.665/43.665/43.665/0.000 ms
# Host www.google.com
www.google.com is an alias for www.l.google.com.
www.l.google.com has address 74.125.113.99
www.l.google.com has address 74.125.113.103
www.l.google.com has address 74.125.113.104
www.l.google.com has address 74.125.113.105
www.l.google.com has address 74.125.113.106
www.l.google.com has address 74.125.113.147
/etc/nsswitch.confファイルがデフォルトで、次の(標準)行が含まれています。
hosts: files dns
/etc/resolv.confはDHCPによって設定されたとおりです。
; generated by /sbin/dhclient-script
nameserver 192.168.1.254
192.168.1.254は動作しているDNSサーバーです(私のDSLモデム、他のマシンで何年も動作しています)
Pingが機能する理由は誰でも知っていますが、ssh/wgetは失敗しますか?
NcAの提案に従って、8.8.8.8を指すように/etc/resolv.confを変更してみました。奇妙なことに、これは機能します。明らかに、私のDSLモデムは、Linuxの解決システムの一部が気に入らない方法でDNS要求に応答しています。 tcpdumpを見ると、違いがわかりません。確かに、両方のサーバーが同じアドレスを送信しています。
サーバーがDSLモデムのDNSサーバーに設定されたtcpdump -nn -X
からの出力は次のとおりです。それは明らかに正しいアドレスで応答していますが、ssh/wgetは何らかの理由で満足していないようです:
15:53:52.133580 IP 192.168.1.254.53 > 192.168.1.2.54836: 33157 7/0/0 CNAME www.l.google.com., A 74.125.115.105, A 74.125.115.106, A 74.125.115.147, A 74.125.115.99, A 74.125.115.103, A 74.125.115.104 (148)
0x0000: 4500 00b0 e33a 0000 ff11 53b1 c0a8 01fe E....:....S.....
0x0010: c0a8 0102 0035 d634 009c 7528 8185 8180 .....5.4..u(....
0x0020: 0001 0007 0000 0000 0377 7777 0667 6f6f .........www.goo
0x0030: 676c 6503 636f 6d00 0001 0001 c00c 0005 gle.com.........
0x0040: 0001 0007 acd0 0008 0377 7777 016c c010 .........www.l..
0x0050: c02c 0001 0001 0000 0001 0004 4a7d 7369 .,..........J}si
0x0060: c02c 0001 0001 0000 0001 0004 4a7d 736a .,..........J}sj
0x0070: c02c 0001 0001 0000 0001 0004 4a7d 7393 .,..........J}s.
0x0080: c02c 0001 0001 0000 0001 0004 4a7d 7363 .,..........J}sc
0x0090: c02c 0001 0001 0000 0001 0004 4a7d 7367 .,..........J}sg
0x00a0: c02c 0001 0001 0000 0001 0004 4a7d 7368 .,..........J}sh
15:53:52.135669 IP 192.168.1.254.53 > 192.168.1.2.54836: 65062- 0/0/0 (32)
0x0000: 4500 003c e33b 0000 ff11 5424 c0a8 01fe E..<.;....T$....
0x0010: c0a8 0102 0035 d634 0028 98f9 fe26 8000 .....5.4.(...&..
0x0020: 0001 0000 0000 0000 0377 7777 0667 6f6f .........www.goo
0x0030: 676c 6503 636f 6d00 001c 0001 gle.com.....
これが何らかの形で不正であるかどうかを知るのに十分な専門家ではありませんが、pingはそれで正しいことをするようです。
比較のために、8.8.8.8をクエリする場合も同じです。
15:57:27.990270 IP 8.8.8.8.53 > 192.168.1.2.49028: 59114 7/0/0 CNAME www.l.google.com., A 74.125.113.105, A 74.125.113.103, A 74.125.113.106, A 74.125.113.147, A 74.125.113.104, A 74.125.113.99 (148)
0x0000: 4500 00b0 5530 0000 2f11 6453 0808 0808 E...U0../.dS....
0x0010: c0a8 0102 0035 bf84 009c 39f8 e6ea 8180 .....5....9.....
0x0020: 0001 0007 0000 0000 0377 7777 0667 6f6f .........www.goo
0x0030: 676c 6503 636f 6d00 0001 0001 c00c 0005 gle.com.........
0x0040: 0001 0001 516a 0008 0377 7777 016c c010 ....Qj...www.l..
0x0050: c02c 0001 0001 0000 0116 0004 4a7d 7169 .,..........J}qi
0x0060: c02c 0001 0001 0000 0116 0004 4a7d 7167 .,..........J}qg
0x0070: c02c 0001 0001 0000 0116 0004 4a7d 716a .,..........J}qj
0x0080: c02c 0001 0001 0000 0116 0004 4a7d 7193 .,..........J}q.
0x0090: c02c 0001 0001 0000 0116 0004 4a7d 7168 .,..........J}qh
0x00a0: c02c 0001 0001 0000 0116 0004 4a7d 7163 .,..........J}qc
15:57:28.018909 IP 8.8.8.8.53 > 192.168.1.2.49028: 31984 1/1/0 CNAME www.l.google.com. (102)
0x0000: 4500 0082 7b1b 0000 2f11 3e96 0808 0808 E...{.../.>.....
0x0010: c0a8 0102 0035 bf84 006e c67e 7cf0 8180 .....5...n.~|...
0x0020: 0001 0001 0001 0000 0377 7777 0667 6f6f .........www.goo
0x0030: 676c 6503 636f 6d00 001c 0001 c00c 0005 gle.com.........
0x0040: 0001 0001 517f 0008 0377 7777 016c c010 ....Q....www.l..
0x0050: c030 0006 0001 0000 0258 0026 036e 7334 .0.......X.&.ns4
0x0060: c010 0964 6e73 2d61 646d 696e c010 0016 ...dns-admin....
0x0070: 91f3 0000 0384 0000 0384 0000 0708 0000 ................
0x0080: 003c .<
サーバーの応答がpingには適しているが、ssh/wgetには適切でない理由がまだわかりません。
誰かがアイデアを持っているなら、私はそれらを聞いてうれしいです。ただし、ここでは、外部のDNSサーバーを参照するか、新しいボックスに独自のサーバーをセットアップします。不要と思われる回避策ですが、続行できます。
これを使用する: https://www.centos.org/modules/newbb/viewtopic.php?topic_id=3934
トラブルシューティングに役立つキーコマンドを見つけました。
[root@localhost ~]# wget -6 URL
-失敗
[root@localhost ~]# wget -4 URL
-動作しました
特定のユーティリティで問題を引き起こしているのは、デフォルトのipv6スタックとの関係です。解決するには、ipv6を無効にします。
同じ問題がありますが、修正しました。
インターフェイス設定ファイル/etc/sysconfig/network-scripts/ifcfg-eth0
にDNSを追加する必要があります。行を追加
DNS1=xxx.xxx.xxx.xxx
次に、ネットワークサービスを再起動する必要があります。
# systemctl restart NetworkManager
元の投稿に基づいて、8.8.8.8を/etc/resolv.conf
および/etc/sysconfig/network-scripts/ifcfg-eth0
に追加しましたが、どちらの編集でも問題は解決しませんでした。
次に/etc/nsswitch.conf
を編集しました:
hosts: files mdns4_minimal [NOTFOUND=return] dns mdns4
hosts: files dns mdns4_minimal [NOTFOUND=return] mdns4
DNSはyumとwgetで機能します。
最初にファイアウォールを停止します。ネットワークの問題をトラブルシューティングするときは、常にそれを邪魔にならないようにします(可能な場合)。ファイアウォールを削除して問題が解決した場合、問題は解決しましたが、解決しなかったとしても、少なくとも今のところ問題はありません。
1)iptables -L発信パケットに影響を与える可能性のあるDROPルールがあるかどうかを確認します
2)selinuxが実行されていて、奇妙なことを行っているかどうかを確認します(/ etc/selinux/config)
3)次の出力は何ですか:route -n
4)/ etc/sysconfig/network-scripts/ifcfg-eth0はどのように見えるか
5)ゲートウェイに問題なくpingできますか?
うまくいけば、これらの1つが問題を診断するために必要な情報を提供するでしょう。
order hosts、bindを/ etc/Host.confに追加してみます。