127.0.0.1 和 127.0.1.1 之间有什么区别?

127.0.0.1 和 127.0.1.1 之间有什么区别?

在我的 /etc/hosts 文件中,有两行:

127.0.0.1 localhost
127.0.1.1 hostname

这两行有什么区别,我在哪里可以找到主机名?

答案1

另一个答案引用了一个过时的虚假参考,与链接不符,看起来不会被更正。以下是今天的正确引述Debian 参考手册

5.1.1. 主机名解析

例如,“/etc/hosts”如下所示。

127.0.0.1 localhost
127.0.1.1 <host_name>

[...]
每行以IP地址随后是相关的主机名

IP 地址127.0.1.1本例第二行中的Debian 安装程序为没有永久 IP 地址的系统创建此条目,作为某些软件(例如 GNOME)的解决方法,如错误 #719621

<host_name> 与“/etc/主机名“。

对于具有永久 IP 地址的系统,应在此处使用该永久 IP 地址,而不是127.0.1.1

对于具有永久 IP 地址和完全限定域名 (FQDN)域名系统 (DNS),应该使用规范的
<host_name>.<domain_name>,而不仅仅是 <host_name>。

对于好奇错误 #719621有一个链接到讨论列表讨论同一个主题“127.0.0.1 vs. 127.0.1.1”。它还提到 Fedora 也使用127.0.0.2相同的目的。事实上,它似乎Fedora 使用的机制略有不同为了这。

答案2

例如,在Debian参考手册的第10.5节中:

某些软件(例如 GNOME)要求系统主机名能够解析为具有规范的完全限定域名的 IP 地址。这确实不合适,因为系统主机名和域名是两个截然不同的东西;但事实就是如此。为了支持该软件,必须确保系统主机名能够被解析。最常见的方法是在 /etc/hosts 中放入一行,其中包含某个 IP 地址和系统主机名。如果您的系统有永久 IP 地址,请使用该地址;否则请使用地址 127.0.1.1。​

https://www.debian.org/doc/manuals/debian-reference/ch05.en.html#s-net-dns

相关内容