localhost地址127.0.0.1和127.0.1.1之间的区别是什么

我刚刚学习使用Ubuntu,当我尝试配置DNS时,我需要处理调用localhost,loopback接口的东西。 任何人都可以解释它们之间的区别以及地址127.0.0.1和127.0.1.1的含义,何时应该使用127.0.0.1以及何时应该使用127.0.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

它并不意味着任何特定的东西(它只是127.0.0.0/8块中的另一个IP)。

它被用作主机名的IP的原因在Debian参考手册的10.4节中有解释。

引用:

某些软件(例如,GNOME)期望系统主机名可以解析为具有规范的完全限定域名的IP地址。 这真的是不合适的,因为系统主机名和域名是两个非常不同的东西; 但是你现在有了。 为了支持该软件,必须确保可以解析系统主机名。 大多数情况下,这是通过在包含某些IP地址和系统主机名的/ etc / hosts中放置一行来完成的。 如果您的系统有永久IP地址,那么使用它; 否则使用地址127.0.1.1。