通过非默认路由路由来自端口的所有流量

通过非默认路由路由来自端口的所有流量

我的所有流量都通过网关经过订阅 VPN 服务。我现在想在两个 Synology NAS 之间建立站点到站点 OpenVPN 连接,其中一个位于 VPN 网关后面,另一个位于异地。

我对我的设置做了一个简化的草图:

草图

NAS 的默认路由应该是192.168.100.1(VPN 网关),但是这会破坏在 上运行的 OpenVPN 服务器的功能192.168.10.20,虽然可以访问,但传出的流量显然是通过 VPN 网关路由的。

有没有办法添加一些规则来将所有从 通过 出去的流量路由192.168.10.20:1194出去192.168.10.1

NAS 来自 Synology,所以我可以设置新的 iptable 规则或 ip 路由,但我对 Synology 的一般经验是仅对配置进行最小程度的更改,否则东西就会损坏。

编辑于2022.07.18:

基于@Tom Yanhttps://www.thomas-krenn.com/de/wiki/Zwei_Default_Gateways_in_einem_System(德语)我在启动脚本中想到了这个:

#!/bin/bash

echo "1 gateway-table" >> /etc/iproute2/rt_tables
ip route add 192.168.10.0/24 dev eth1 src 192.168.10.20 table gateway-table
ip route add default via 192.168.10.1 dev eth1 table gateway-table
ip rule add from 192.168.10.20/32 table gateway-table
ip rule add to 192.168.10.20/32 table gateway-table

exit 0

不幸的是这也不起作用。

答案1

作为@Tom Yan建议添加multihome到服务器配置中即可!

Synology OpenVPN 服务器配置可以使用以下方式编辑:

sudo vi /usr/syno/etc/packages/VPNCenter/openvpn/openvpn.conf

只需将其添加multihome到文件末尾并重新启动设备即可。之后,您可以为默认网关和 OpenVPN 服务器的列表接口设置不同的接口。

不需要任何额外的路线或规则。

相关内容