使用 route add 重定向传出请求

使用 route add 重定向传出请求

我正在尝试使用 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 地址。

相关内容