2013-10-23 86 views
2

我已经安装了Windows XP,我想从127.0.0.1覆盖本地主机到另一个地址。我编辑了../windows/system32/drivers/etc/hosts,但ping localhost仍然从127.0.0.1获得响应。我怎样才能改变它呢?覆盖Windows XP上的本地主机

+2

我相信你*不需要*。这听起来像麻烦,问题和痛苦。 – glglgl

+0

解释你为什么想要这样做。 –

+0

编辑'hosts'检查注释时,本地主机名称解析在DNS本身内处理。“它告诉你不能使用'hosts'。我不相信有一个简单的方法来重定向'本地主机'(并认同@glglgl它可能会导致奇怪的行为)。 –

回答

4

这是从Windows片断hosts文件:

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

换句话说,处理本地主机的硬编码到Windows DNS堆栈,你试图重写将被忽略。

0

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

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

1

最后回答,以供参考。从虚拟机内访问本地主机上的主机非常有用,因此配置不需要修改。 主机文件在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端口现在将转发给192.168.1.123。