为什么我的主机名出现在/ etc / hosts中而不是地址127.0.1.1而不是127.0.0.1?


204

这可能是一个有点笨拙的问题,但是我在新安装的Xubuntu上查看了/ etc / hosts并看到了:

127.0.0.1 localhost
127.0.1.1 myhostname

在我使用的大多数'nixes上,第二行都被省略了,如果我想将主机名添加到hosts文件中,则只需执行以下操作:

127.0.0.1 localhost myhostname

从实际意义上说,这两个文件之间有区别吗?


我想知道我是否可以删除第二行,或者debian / ubuntu中的某些进程会重新生成该行并将其添加回去?
simgineer '04 -4-17

Answers:


159

两者之间没有太大区别;127/8(例如:127.0.0.0=> 127.255.255.255)都绑定到回送接口。

其原因已在Ch.1中的Debian手册中进行了记录5网络设置-5.1.1。主机名解析

最终,这是一个错误解决方法;原始报告是316099


5
实际原因是:“将系统主机名与后者关联会产生有害的影响,使'localhost.localdomain'成为与系统主机名相关联的规范主机名。也就是说,'hostname --fqdn'返回了'localhost.localdomain'。”
cmroanirgo

我实际上将其追溯到此文档列表。debian.org/ debian-boot / 2005/06 / msg00938.html,看来这是因为Thomas觉得有必要使用1.1而不是0.1(它们是等效的)来纠正我。如果我错了,但这意味着这个答案真的只是一个面包屑?
布莱恩·托马斯

@BrianThomas该消息表明了为什么它们不相等。他们想要localhost并且myhostname与众不同-否则,一个将是另一个的别名。请注意,这在只有一个环回地址的IPv6中不起作用。可以通过使用线程中提到的NSS模块来避免这种情况,因为它比/ etc / hosts更加灵活,并且尽管它们具有相同的IP地址,但返回不同的规范名称。我知道这是因为我的系统是使用这样的NSS模块配置的
sourcejedi

46

总结链接到的信息:

  • /etc/hosts将机器的标准域名转换为永久IP地址时输入一个条目(很有争议)很有用。
  • debian-installer,更具体地说,它的netcfg组件当前(至少到2013年3月为止)创建了此条目。
  • 如果不知道机器具有永久IP地址,则debian-installer仍希望它具有这种输入。
  • 该地址127.0.1.1使用环回接口,由您自己的计算机回答,就像,127.0.0.1但它是一个独特的条目,在/etc/hosts其中可以与(127.0.0.1如果需要)分开考虑。

Thomas Hood解释如下添加该条目:

[this]将确保如果UNIX主机名解析,则它将始终是其自己的规范主机名

但:

从长远来看,UNIX主机名根本不应该放在/ etc / hosts中。


.. 所以... ?我的fdqn必须使用127.0.0.1吗?还是127.0.1.1?还是静态lan ip?
realtebo

1
@realtebo:1.它很有用,因此由安装程序添加。2.这里没有“必须”;并且仅在您的FQDN没有永久地址时才有意义。
einpoklum

9

我自己很好奇,我不喜欢其他任何答案,因为他们似乎没有回答我所寻找的至少。

答案: 回顾此文档,几乎看起来好像Thomas在说要在回送上给它另一个专用IP使其规范化。

两者都指向您的环回。使用以下127.0.1.1是回送时的实际IP,而127.0.0.1要么是设备本身,要么是回送时的另一个IP。两者都结束于同一子网中,表示回送,但由ip分隔。它们等效于dns,但由于具有专用ip而被分隔。

关键是,您可以像这样将所有条目都放在一行上

127.0.0.1 localhost localhost.domain www.myfakednsname.com myakednsname.com 

如果您的主机名是本地主机,则意味着没有将全局Internet DNS条目映射到实际的Internet ip,那么在这种情况下,Thomas说您需要具有第二个条目行,像这样将其专用于此(规范)。

127.0.0.1 localhost localhost.localdomain
127.0.1.1 myfakednsname

公平地说,在我最终以一种对我来说有意义的方式编写了此文件之后,我发现这几乎是einpoklum试图解释的事,事后看来。
布莱恩·托马斯

好的否决票,不知道为什么。我仍然相信这是最好的答案,或者在登陆这里后我不会说出来。最初的答案有所帮助,但并未捕获所有细节。我会选择这个。
布莱恩·托马斯
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.