我正在尝试使用 route add 将外部 IP 的连接尝试重定向到内部 IP(环回 IP、我的网络适配器的 IP 都可以)。我尝试使用以下命令重定向我的 IP。
route add my.external.ip.address mask 255.255.255.255 0.0.0.0
route add my.external.ip.address mask 255.255.255.255 0.0.0.0 IF 1
如果 1 是我的环回接口,否则该命令假定使用我的默认网络接口。(根据路由打印 -4)
现在,这两个命令都显示“Ok!”并且工作正常。我的问题是,如果我尝试使用连接到 my.external.ip.address 的程序,则无法访问目标主机。
tracert(或 ping)my.external.ip.address 返回“目标主机不可达”(如果我使用 IF 1,它会返回“一般失败”),但如果我 tracert 或 ping 127.0.0.1 或 192.168.1.106,两者都会正常回复。
我做错了什么吗?添加路由不是正确的方法吗?使用该命令至少会将 IP 重定向到某个地方。它只是无法连接。
我至少看了 8 页超级用户问题,并在 Google 上搜索了更多页面,但我仍然一头雾水。欢迎提供任何意见。
答案1
即使您route add
正确执行了这些命令,您也只是要求您的机器充当可以将内容转发到该 IP 地址的路由器;您不会要求它充当该 IP 地址的实际端点/所有者。
执行您想要执行的操作的最简单方法可能只是使用常规网络设置 GUI 将该 IP 地址作为额外的静态 IP 地址添加到您的一个接口上。您的 IP 堆栈将自动为其自己的地址创建路由表条目。设置时,不要为该 IP 地址添加默认网关/路由器,因为您不希望您的机器尝试将其用作将流量发送到 Internet 的源 IP 地址。