将一个IP地址映射到“主机”文件中的另一个IP地址


12

hosts文件%SystemRoot%\system32\drivers\etc\hosts)可以让用户google.com点,例如,127.0.0.1你的本地计算机上,但如果我要拍,说,192.168.1.5指向127.0.0.1我的本地机器上?有没有办法做到这一点?可以在Windows 7的hosts文件中完成吗?


如果您正在或可以在本地计算机上使用静态IP地址,则可以为一个网络接口分配多个IP地址。
Patrick Seymour 2014年

@PatrickS。可以,但是如果本地局域网中也确实存在192.168.1.5,则可能会变得混乱。局域网上重复的IP地址不是很好...
Tonny 2014年

@Tonny是。我假设它在网络上不存在,或者OP可以排除其DHCP服务器上的两个IP。我知道,并非总是安全的假设。
Patrick Seymour 2014年


如果要将IP地址转换为其他IP地址,请使用NAT(网络地址转换)。
罗恩·莫平

Answers:


10

您不能为此使用hosts文件。
这仅将名称映射到IP地址上。

我自己还没有尝试过,但是我猜想您可以为此使用route命令:

route add 192.168.1.5 127.0.0.1

这指示IP堆栈将192.168.1.5的所有流量路由到位于127.0.0.1的网关。当然,那里没有网关,因此仅用于黑洞流量。您无法对流量做任何有用的事情。


1

正如其他所有人都指出的那样,您无法通过hosts文件执行此操作。您需要某种形式的数据包重写:最常见的是网络地址转换。NAT通常用于允许多个设备使用相同的“公共” IP地址(这是许多廉价家用路由器可以使用的唯一形式),但是更全面的NAT引擎(例如在Cisco IOS或Linux IPTables中可以找到)可以做广义重写。

请注意,NAT并不是解决此问题的万能解决方案:某些协议(例如FTP)在数据包和IP标头中都包含IP地址,如果NAT引擎不专门处理此类协议,则只需重写标头将导致事情中断。


1

您不能在主机文件中将IP地址映射到另一个IP地址。

您可能可以在某些平台上的某些防火墙软件中重写IP地址(也许在Linux iptables或等效版本中)。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.