我正在尝试在我的内核路由表中设置规则,以便对给定IP地址的请求(无论它们来自机器还是通过任何接口进入)将转到另一个IP地址,例如:
ip route add 203.1.1.1 via 192.168.1.5
当我这样做时,例如ssh 192.168.1.5
它连接到192.168.1.5
上的ssh服务器。但是,当我执行ssh 203.1.1.1
时,它不会将该请求路由到192.168.1.5
,而是数据包似乎无处可去。
什么是正确的规则?
答案 0 :(得分:0)
您是否尝试重定向ssh连接,以便它们连接到192.168.1.5而不是203.1.1.1?或者是192.168.1.5是否提供与203.1.1.1的连接的路由器?
如果前者然后路由规则将不起作用,因为路由将数据包转发到指定的下一跳而不更改目标IP地址(将保留203.1.1.1)。您可能可以配置NAT规则,但ssh可能会检测到错误服务器的连接并警告用户。根据您尝试解决的问题,可能有更好的解决方案。
如果后者那么你有路由问题,但问题可能在另一台路由器上(例如192.168.1.5可能无法访问或者可能无法达到203.1.1.1)。您可以使用“traceroute 203.1.1.1”或“tracepath 203.1.1.1”来诊断它。