127.0.0.1 localhost
127.0.1.1 myhostname
在大多数情况下,我使用过的nixes,省略了第二行,如果我要将主机名添加到hosts文件中,则只需执行以下操作:
127.0.0.1 localhost myhostname
从实际意义上说,这两个文件之间有区别吗?#1 楼
两者之间没有太大区别;127/8
(例如:127.0.0.0
=> 127.255.255.255
)都绑定到回送接口。其原因已在Ch。Debian手册中进行了说明。 5网络设置-5.1.1。主机名解析。
最终,这是一个错误解决方法;原始报告是316099。
评论
实际的原因:“将系统主机名与后者关联会产生有害的影响,使'localhost.localdomain'成为与系统主机名关联的规范主机名。也就是说,'hostname --fqdn'返回了'localhost.localdomain'。”
– cmroanirgo
15年5月29日在20:58
我实际上将其追溯到该文档列表。debian.org/ debian-boot / 2005/06 / msg00938.html,看来这是因为Thomas觉得有必要使用1.1而不是0.1,它们等效,请纠正我。如果我错了,但这意味着这个答案真的只是一个面包屑?
–布赖恩·托马斯(Brian Thomas)
16年8月2日在4:56
@BrianThomas该消息表明了为什么它们不相等。他们希望localhost和myhostname是不同的-否则,一个将是另一个的别名。请注意,这在只有一个环回地址的IPv6中不起作用。可以通过使用线程中提到的NSS模块来避免这种情况,因为它可以比/ etc / hosts更加灵活,并且可以返回不同的规范名称,尽管它们具有相同的IP地址。我知道这是因为我的系统是使用这样的NSS模块配置的。
– sourcejedi
17年7月21日在17:09
如果我输入127.0.0.1 my_host_name会发生什么?
– Davide
19-10-30在11:49
它导致dnsmasq返回127.0.1.1客户端,因此我不得不将其删除。
–深度停止
7月2日14:55
#2 楼
总结链接到的信息:在
/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解释如下添加该条目:
[此]将确保如果UNIX主机名已解析,则它将始终是
它自己的规范主机名
但是:
从长远来看,UNIX主机名根本不应该放在/ etc / hosts中。 br />
评论
.. 所以... ?我必须为我的fqdn使用127.0.0.1吗?还是127.0.1.1?还是静态lan ip?
– realtebo
18年8月27日在21:46
@realtebo:1.它很有用,因此由安装程序添加。 2.这里没有“必须”;并且仅在您的FQDN没有永久地址时才有意义。
– einpoklum
18年8月27日在22:29
#3 楼
我自己很好奇,我不喜欢其他任何答案,因为他们似乎没有回答我想要的至少。答案:
回头看一下这个文档,它似乎看起来像托马斯(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
如果您的主机名是本地主机,则表示不将全球互联网DNS条目映射到实际的互联网ip,那么在这种情况下,托马斯说您需要第二条条目行,像这样将其专用于此(规范)。
127.0.0.1 localhost localhost.localdomain
127.0.1.1 myfakednsname
评论
公平地说,在我最终以一种对我来说有意义的方式编写了此文件之后,我看到了einpoklum试图解释的内容几乎是事后看来。
–布赖恩·托马斯(Brian Thomas)
16年8月2日,下午5:15
好的否决票,不确定为什么。我仍然相信这是最好的答案,或者在登陆这里之后我不会说出来。最初的答案有所帮助,但并未捕获所有细节。我会选择这个。
–布赖恩·托马斯(Brian Thomas)
16年8月10日在20:05
#4 楼
我读了一些答案,坦率地说,我有些困惑。我首先尝试了解这里的规范主机名。
我能说的是@cmroanirgo正确地说,在我的Ubuntu笔记本电脑上,调用
hostname --fqdn
,将
/etc/hosts
配置为这样127.0.0.1 localhost
127.0.1.1 laptop
返回
laptop
,而像下面那样更改文件127.0.0.1 localhost laptop
返回
localhost
。这会产生什么影响,我不知道,除了事实上,如果您具有绑定到主机名的软件,并且需要在内部与计算机进行对话,则不要指望能够使用“ localhost”主机名来完成此工作,因为它们最终会解析两个不同的单独地址。
评论
暗示一个例子:无人值守升级将socket.getfqdn()(在python中)用作邮件主题。我希望那里的UNIX主机名能够区分不同的机器(而不是localhost),因此127.0.1.1的变体对我来说似乎正确或至少更好。
–达里奥·塞德尔(Dario Seidl)
3月26日11:49
评论
我想知道我是否可以删除第二行,或者debian / ubuntu中的某些过程会重新生成该行并将其添加回去?