我使用的是基于 Debian 的桌面发行版,但我想这可能无关紧要。我有一个非常简单的查询,似乎可以在任何地方找到答案,可能是因为没有人这样做。我同时连接到两个 vpn 服务(因此在本例中是 tun0 和 tun1)。我想知道的是如何选择将所有互联网流量路由到 Tun1 或反之亦然。我找到了这篇文章,它提供了一些见解,但它比我需要的更详细。
我确定某处有一个配置,我可以让 http、https 通过 tun1 而不是 tun0,反之亦然?
提前谢谢 T。
答案1
要将所有互联网流量路由到一个接口,只需将默认路由设置为指向该接口。
ip route del default
ip route add default via tun0
或者
ip route replace default via tun0
编辑
如果您想要根据目的地以外的属性来获取不同的路线,则可以使用基于策略的路由,请参阅man ip-rule
。
首先,您需要一个符合条件的规则。如果您想捕获默认的 http 和 https 端口,则这些端口是 80 和 443。表号 200 是任意的,只是不要使用已经在使用的数字,以后再使用相同的数字。
ip rule add dport 80 table 200
ip rule add dport 443 table 200
现在您需要为表 200 制定一些规则。
ip route add default table 200 dev tun0
而其他流量使用默认表
ip route add default dev tun1