3

我已经安装了 Windows XP,我想将 localhost 从 127.0.0.1 覆盖到另一个地址。我已编辑../windows/system32/drivers/etc/hosts,但ping localhost仍收到 127.0.0.1 的回复。我怎样才能真正改变它?

4

3 回答 3

5

这是来自 Windows 主机文件的片段:

# localhost name resolution is handled within DNS itself.
#   127.0.0.1       localhost
#   ::1             localhost

换句话说,对 localhost 的处理被硬编码到 Windows DNS 堆栈中,并且您尝试覆盖它的尝试将被忽略。

于 2013-10-23T07:16:19.980 回答
3

迟来的答案,供参考。从 VM 中访问 localhost 上的主机很有用,因此不需要修改配置。hosts 文件的技巧在 Windows 7 中有效,但在 XP 和 Windows 8 上都失败了。如果您有特定的端口要转发,您可以使用 netsh 来完成。cmd以管理员身份运行提示,然后:

对于 Windows XP,首先安装 ipv6:

netsh int ipv6 install

添加转发端口:

netsh interface portproxy add v4tov4 80 192.168.1.123

现在,端口 80 上到 localhost 的所有流量都将转发到 192.168.1.123。

于 2014-12-23T22:39:53.497 回答
0

为了解决您的问题,您可以在 VM 中运行一个小型服务器重定向程序,该程序在传入连接时会联系同一端口上的主机并在这两个套接字之间提供数据。

想象一下像 xinetd 这样的东西,监听端口 80 并执行netcat hostmachine 80左右。

于 2013-10-23T07:35:46.577 回答