У моїй машині 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повинно було бути вирішено на 192.168.10.10 замість IP-адреси 127.0.0.1 з циклічним зворотом. Хтось може мені це пояснити?
/etc/hostsне має ніякого впливу на дозвіл DNS при запиті DNS - серверів безпосередньо, що це те , щоhostробить. Тим НЕ менше, багато інструментів і утиліти системи використовують вlocalhostвизначення, чекаючи , що вона буде петлевий адреса, і дозвіл імен використання системи (яка виглядає на/etc/hostsперш , ніж запит DNS) до імен рішучістю , а не строго буде DNS, який не завжди може бути присутнім.