如何将所有流量放在一个接口上,将部分流量放在另一个接口上

如何将所有流量放在一个接口上,将部分流量放在另一个接口上

目前我在一家公司工作,问题是他们允许在 wifi 上使用 SSH,但不允许在有线网络上使用 SSH。目前我通过 vpn 推送所有内容,但这会给本来就很慢的网络带来开销。

我想知道如何才能让我的所有流量都通过 eth0,但让我的 ssh 连接使用 wlan0 而不是 eth0。

所有其他流量都必须通过 eth0,这一点很重要,因为这里的 wifi 速度非常慢,但对于简单的 shell 来说已经足够快了。

答案1

设置eth0为默认路由,通过设置备用路由wlan0,并配置 ssh 流量通过备用路由。

安装iproute软件包以通过命令操作路由表ip。标记要重新路由的传出数据包,并设置路由规则以通过不同的接口路由这些数据包。未经测试:

iptables -t mangle -A OUTPUT -p tcp --dport ssh -o eth0 -j MARK --set-mark 1
ip rule add fwmark 1 table 1
ip route add 0.0.0.0/0 table 1 dev wlan0

答案2

这有点复杂。您需要创建一个备用路由表,使用 iptables 标记该软件包,并添加路由规则以强制内核在标记该软件包时使用备用路由表。

您有一个很好的教程,可以进行更复杂的设置这里

答案3

您是否希望仅在您的计算机上使用它,还是希望以这种方式路由网络上的所有流量?如果只是您的计算机,您是否同时运行并配置了 eth0 和 wlan0 接口来访问您的网络?只是一些基本问题,以便我可以更好地帮助您找到正确的答案。

相关内容