web-dev-qa-db-ja.com

CentOSでnslookup / Digを使用する場合を除き、ホスト名を解決できない[解決済み]

Dig/nslookupを使用しない限り、ホスト名を解決できません。 /etc/hostsでのホストの宣言は問題なく機能します。 DNSmasqもバインドも実行されていません。以下は、tcpdump port 53を実行したときのDig google.comの出力です。

21:02:49.269083 IP txxxxxx1.corp.mxxxxxxs.com.39872 > dxxxxxx3.corp.mxxxxxs.com.domain:  7362+ A? google.com. (28)
21:02:49.269614 IP dxxxxxx3.corp.mxxxxxxs.com.domain > txxxxxx1.corp.mxxxxxxs.com.39872:  7362 5/0/0 A ord08s07-in-f19.1e100.net,[|domain]
21:02:49.270506 IP txxxxxx1.corp.mxxxxxxs.com.33316 > dxxxxxx3.corp.mxxxxxxs.com.domain:  30910+ PTR? 83.225.125.74.in-addr.arpa. (44)
21:02:49.303321 IP dxxxxxx3.corp.mxxxxxxs.com.domain > txxxxxx1.corp.mxxxxxxs.com.33316:  30910*- 1/0/0 (83)

そしてping google.comの実行中の結果:

21:03:05.027197 IP txxxxxx1.corp.mxxxxxxs.com.59151 > dxxxxxx3.corp.mxxxxxxs.com.domain:  56092+ A? google.com. (28)
21:03:05.029069 IP dxxxxxx3.corp.mxxxxxxs.com.domain > txxxxxx1.corp.mxxxxxxs.com.59151:  56092 5/0/0 A ord08s07-in-f18.1e100.net,[|domain]
21:03:05.029309 IP txxxxxx1.corp.mxxxxxxs.com.58238 > dxxxxxx3.corp.mxxxxxxs.com.domain:  10345+ PTR? 82.225.125.74.in-addr.arpa. (44)
21:03:05.065058 IP dxxxxxx3.corp.mxxxxxxs.com.domain > txxxxxx1.corp.mxxxxxxs.com.58238:  10345*- 1/0/0 (83)

ホスト名とともに使用すると、pingはパケットを返しません。上記の結果は、コマンドが与えられてから約5秒遅れます。 IPのpingに問題はありません。

/etc/resolv.confの内容:

nameserver 10.100.52.11
nameserver 10.100.52.13

どちらのネームサーバーも、Digと共に使用すると良好な結果が得られます。

route -nの結果:

Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
10.xxx.131.0    0.0.0.0         255.255.255.0   U     0      0        0 eth0
169.254.0.0     0.0.0.0         255.255.0.0     U     0      0        0 eth0
0.0.0.0         10.xxx.131.1    0.0.0.0         UG    0      0        0 eth0

/etc/hostsの内容:

127.0.0.1       localhost.localdomain localhost
::1     localhost6.localdomain6 localhost6
10.xxx.131.xxx      txxxxxx1.corp.mxxxxxxs.com ast01
10.xxx.32.xxx       mail.mxxxxxxs.com

UseDNSがyesに設定されている場合、SSHDはログインを許可しません。 NSCDが実行されています:nscd 28525 0.0 0.0 233652 2900 ? Ssl 20:10 0:00 /usr/sbin/nscd

ありがとう!

。。。EDIT

私はこれを解決しました。 /etc/nsswitch.confには次の行がありました:

hosts: files wins dns

私はそれを読むように変更しました:

hosts: dns files wins

そしてすべてが今動作します。奇妙なのは、物事が先週まで問題なく機能していたことです。何も変わっていません。確かにDNSほどではありません。これが誰かを助けることを願っています。

6
tsz

Pingを実行しているときに完全修飾ドメイン名を取得するために、ホスト名の補完(またはWindowsの世界では「dnsサフィックスの追加」)に依存していますか?もしそうなら、あなたの/etc/resolv.confにはdomainまたはsearchオプションがありません。

nameserver 10.100.52.11
nameserver 10.100.52.13
domain corp.mxxxxxxs.com

これにより、corp.mxxxxxxs.comが$ Hostに自動的に追加され、正しく解決されるFQDNが得られます。

詳細は manpage を参照してください。

1
user62491