Answers:
有2个选项。首先,您可以修改路由,以使SSH数据包自然通过正确的接口。
或者,您可以使用-bSSH选项(或类似的方式-B):
-b bind_address
在本地计算机上使用bind_address作为源地址
连接。仅在具有多个功能的系统上有用
地址。
它将您的SSH客户端绑定到所选的本地IP地址,以便所有数据包都将通过关联的接口发出。
您必须更改前往目的地的路线。
先前的回答指出,可以使用-b或-B选项,但通常情况下,如果VPN被激活,则此方法不起作用,因为它会将流量通过VPN网络接口(通常称为)重新路由到任何目的地tun0。
因此,您必须重新配置到达目的地的路线。让我们称之为<destination>,以及<gate1>与您要使用的不同接口相关联的网关的IP地址(技术上来说是下一跳路由器的地址)。随着ip route,route被弃用,这应该是:
ip route add <destination> via <gate1>
另一种方法是
ip route add <destination> via <gate1> dev <different interface>
但鉴于该地址<gate1>已经与您的其他接口(在此处)相关联,则该地址<different interface>不变。
这里重要的是指定它是<gate1>您必须遍历的不同接口的网关,而不是VPN的网关。