Nella mia macchina linux, quando corro hostname, mostra mongodb, ma quando corro host mongodb, mostra:
mongodb@mongodb:/var/hadoop/hadoop-1.2.1/bin$ host mongodb
Host mongodb not found: 2(SERVFAIL)
Il mio /etc/hostsfile:
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
La mia prima domanda è: dato che si
/etc/hostssta mappando da IP a nome host, perché questa macchina non è in grado di risolvere il nome hostmongodba IP 192.168.10.10? Invece, quando corrohost localhost, può essere risolto e mostra:localhost has address 127.0.0.1Un'altra mia domanda: secondo il
/etc/hostsfile, il nome hostlocalhostavrebbe dovuto essere risolto in 192.168.10.10 invece dell'indirizzo IP di loopback 127.0.0.1. Qualcuno può spiegarmelo?
/etc/hostsnon ha alcun effetto sulla risoluzione DNS durante l'interrogazione diretta dei server DNS, che è ciò chehostfa. Tuttavia, molti strumenti e utilità di sistema usano lalocalhostdefinizione, aspettandosi che sia un indirizzo di loopback e usano la risoluzione dei nomi di sistema (che esamina/etc/hostsprima di interrogare il DNS) per risolvere i nomi piuttosto che andare strettamente al DNS, che potrebbe non essere sempre presente.