Centosホスティングサーバーがあり、最近奇妙な動作を見始めました。
root@server [/tmp]# ping www.google.com
PING www.google.com (172.217.8.196) 56(84) bytes of data.
64 bytes from ord37s09-in-f4.1e100.net (172.217.8.196): icmp_seq=1 ttl=53 time=24.8 ms
だからこれはかなりよさそうだ。
ここで状況が変になります。 Googleサーバーではなく独自のサーバーがあります!
root@server [/tmp]# traceroute www.google.com
traceroute to www.google.com (75.102.21.14), 30 hops max, 60 byte packets
1 server.plannersys.net (75.102.21.14) 0.041 ms 0.017 ms 0.015 ms
しかし、Nslookupはよさそうだ。
root@server [/tmp]# nslookup
> www.google.com
Server: 8.8.8.8
Address: 8.8.8.8#53
Non-authoritative answer:
Name: www.google.com
Address: 172.217.8.196
> ^C
そしてwgetとlynxは独自のサーバーも提供します。
root@server [/tmp]# wget https://www.google.com
--2017-12-04 11:50:56-- https://www.google.com/
Resolving www.google.com... 75.102.21.14
Connecting to www.google.com|75.102.21.14|:443... connected.
ERROR: no certificate subject alternative name matches
requested host name “www.google.com”.
To connect to www.google.com insecurely, use ‘--no-check-certificate’.
And with lynx:
SSL error:host(www.google.com)!=cert(troutaccess.com)-Continue? (y)
その理由は何ですか? Tracerouteとwgetとlynxが異なるアドレスを使用するのはなぜですか?
ベストアンサー1
完全修飾ドメイン名を使用していません。 www.google.com
正規化された(人間が読める形式)ドメイン名ではありません。ドットで終わりません。
DNSクライアントライブラリで検索パスplannersys.net.
とワイルドカードDNSリソースレコードを設定することもできます*.plannersys.net.
。
その結果、完全修飾ドメイン名を検索しwget
た結果、IPアドレス75.102.21.14が届きました。 DNSクライアントライブラリは、設定された検索パスを使用して、完全修飾されていないドメイン名を完全修飾ドメイン名に変換し、完全修飾名の検索を実行することを忘れないでください。tranceroute
www.google.com.plannersys.net.
nslookup
違いは、別の内部DNSクライアントライブラリを使用することです。興味深いことに、ここに例があります。いいえこれは異なるが、DNSクライアントライブラリがすべて同じDNS名前空間ビューを提供しない複数のプロキシDNSサーバーで構成されているか、またはDNSクライアント構成を動的に変更するping
同様の組み合わせがあるためです。systemd-resolved
あなたの質問にはDNSクライアントライブラリに関する情報がないため、特定の原因を特定するのに十分な情報がありません。
追加読書
- ジョナサンデボインポラード(2017)。DNS名の資格とは何ですか?。よく与えられる答えです。
- ジョナサンデボインポラード(2003)。結果
nslookup
が仕事と異なる理由ping
。よく与えられる答えです。 - ジョナサンデボインポラード(2004)。DNS診断ツール。よく与えられる答えです。