私の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/hosts
DNSを照会する前に確認します)を使用して、厳密にDNSに移動するのではなく、常に存在するとは限らない名前を解決します。