在我的 linux 机器上,当我运行时hostname
,它显示mongodb
,但是当我运行时host mongodb
,它显示:
mongodb@mongodb:/var/hadoop/hadoop-1.2.1/bin$ host mongodb
Host mongodb not found: 2(SERVFAIL)
Run Code Online (Sandbox Code Playgroud)
我的/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
Run Code Online (Sandbox Code Playgroud)
我的第一个问题是:既然/etc/hosts
是从IP映射到主机名,为什么这台机器无法将主机名解析mongodb
为IP 192.168.10.10?相反,当我运行时host localhost
,它可以被解析并显示:
localhost has address 127.0.0.1
Run Code Online (Sandbox Code Playgroud)我的另一个问题:根据/etc/hosts
文件,主机名localhost
应该已解析为 192.168.10.10 而不是环回 IP 地址 127.0.0.1。任何人都可以向我解释这一点吗?
Dop*_*oti 31
在host
(和nslookup
)公用事业明确查询DNS服务器时,没有咨询的/etc/hosts
在默认的系统配置文件。如果你去traceroute
或ping
那个地址,你会看到它正确解析。
你不希望改变localhost
映射到127.0.0.1比其他任何东西!这会对许多事情产生奇怪而微妙的影响。我认为这/etc/hosts
是按照它的编写顺序解析的,因为你有:
192.168.10.10 localhost # do NOT do this!
127.0.0.1 localhost
Run Code Online (Sandbox Code Playgroud)
...第二个条目可能会覆盖第一个条目。
归档时间: |
|
查看次数: |
255170 次 |
最近记录: |