私のLinuxマシンhostnameではmongodb、実行するとが表示されますが、実行するhost mongodbと次のように表示されます:
mongodb@mongodb:/var/hadoop/hadoop-1.2.1/bin$ host mongodb
Host mongodb not found: 2(SERVFAIL)
私の/etc/hostsファイル:
192.168.10.10 mongodb
192.168.10.10 localhost
127.0.0.1 localhost
#127.0.0.1 localhost
# 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
私の最初の質問は
/etc/hosts、IPからホスト名へのマッピングなので、このマシンがホスト名mongodbをIP 192.168.10.10に解決できないのはなぜですか?代わりに、を実行host localhostすると解決でき、次のように表示されます。localhost has address 127.0.0.1私の別の質問:
/etc/hostsファイルによると、ホスト名localhostはループバックIPアドレス127.0.0.1ではなく192.168.10.10に解決されているはずです。誰も私にこれを説明できますか?
/etc/hosts持っていない 任意の直接のDNSサーバーを照会するとき、何である、DNSの解決に効果がhostありません。ただし、多くのシステムツールおよびユーティリティは、localhost定義を使用して、それをループバックアドレスと見なし、システム名解決(/etc/hostsDNSを照会する前に確認します)を使用して、厳密にDNSに移動するのではなく、常に存在するとは限らない名前を解決します。