我更改了 /etc/hosts 并添加了一个 ip 地址以将 localhost 指向不同的计算机,例如:
192.x.x.1 localhost
但它不工作,当我 ping 到本地主机时,它会 ping::1
默认路由
但是添加一个替代名称是可行的,它只是本地主机无法被覆盖。
如何解决这个问题呢?
答案1
您无法更改localhost
的 IP 地址。
请注意文件中各行前面的注释hosts
:
# 本地主机名称解析在 DNS 本身内处理。
# 127.0.0.1 本地主机
# ::1 本地主机
因此,你甚至不需要输入localhost
文件hosts
就可以让它工作,因为它是内置在 TCP 堆栈中的回送地址。
在 TCP/IP 中,环回设备是一种仅以软件实现的虚拟网络接口,不连接到任何硬件,但完全集成到计算机系统的内部网络基础设施中。计算机程序发送到环回接口的任何流量都会立即在同一接口上接收。
以下是一些有用的评论来自SuperUser的另一个答案:
您
localhost
的计算机用于通过其“内部”IP 而不是任何“外部”IP 来引用您的计算机。因此,ping 数据包不会通过任何物理网络接口;仅通过虚拟环回接口,该接口直接将数据包从一个端口发送到另一个端口,而无需任何物理跳跃。