我刚刚开始学习使用 Ubuntu,当我尝试配置 DNS 时,我需要处理一些称为 localhost 的东西,即环回接口。有人能解释一下它们之间的区别以及地址 127.0.0.1 和 127.0.1.1 的含义吗,我什么时候应该使用 127.0.0.1,什么时候应该使用 127.0.1.1
答案1
当您的机器启动时,它需要知道某些主机名到 IP 地址的映射,然后才能引用 DNS。此映射保存在文件中/etc/hosts
。在没有名称服务器的情况下,系统上的任何网络程序都会查阅此文件以确定与主机名相对应的 IP 地址。
环回设备是一种特殊的虚拟网络接口,您的计算机使用它来与自身通信。它主要用于诊断和故障排除,以及连接到本地机器上运行的服务器。
环回接口lo
,默认IP地址为127.0.0.1。
127.0.0.1 localhost
Debian,然后是 Ubuntu,选择定义 127.0.1.1 来映射您的 host_name 的 IP 地址,以防您没有网络。
host_name 与 中定义的主机名匹配/etc/hostname
。
对于具有永久 IP 地址的系统,这里应该使用该永久 IP 地址,而不是 127.0.1.1。
127.0.1.1 host_name
答案2
它实际上没有任何特殊含义(它只是 127.0.0.0/8 块中的另一个 IP)。
它被用作主机名的 IP 的原因在Debian 参考手册。
引用:
某些软件(例如 GNOME)要求系统主机名能够解析为具有规范的完全限定域名的 IP 地址。这确实不合适,因为系统主机名和域名是两个截然不同的东西;但事实就是如此。为了支持该软件,必须确保系统主机名能够被解析。最常见的方法是在 /etc/hosts 中添加一行,其中包含某个 IP 地址和系统主机名。如果您的系统有永久 IP 地址,请使用该地址;否则请使用地址 127.0.1.1。
答案3
答案4
127.0.0.1 是环回地址,通常称为localhost
,这是本地 hosts 文件解析的名称。此文件位于不同的位置,具体取决于操作系统,但在大多数 Linux 发行版中,它位于/etc/hosts
。此地址始终指发出请求的计算机,因此 127.0.0.1 不是一个“真实”地址。每个设备都有自己的localhost
。另一方面,某些软件使用 127.0.1.1 来表示相同的内容,在某种程度上是别名,但实际上并非如此。您的机器内部使用的环回地址应该是 127.0.0.1,因此不要在您的 hosts 文件中乱改该地址!