使用两个 WireGuard VPN 接口客户端,通过 VPN0 路由虚拟 iface,通过 VPN1 路由普通 eth0 iface,可以吗?

使用两个 WireGuard VPN 接口客户端,通过 VPN0 路由虚拟 iface,通过 VPN1 路由普通 eth0 iface,可以吗?

我有:

正常 eth0 接口,ip 为 192.168.1.100/24,gw 为 192.168.1.1(正常路由器)

虚拟接口 IP 为 172.16.1.1/32

WireGuard 客户端界面调用 VPN0 并针对 VPNPROVIDER1 运行

WireGuard 客户端界面调用 VPN1 并针对 VPNPROVIDER2 运行

我想做的事:

所有来自虚拟虚拟接口的流量都必须通过 VPN0

所有来自 ETH0 正常接口的流量都必须经过 VPN1。

这可能吗?

答案1

假设您的意思是传入流量eth0应该Dummy通过相应的 wireguard ifc 转发:

ip rule add iif Dummy lookup 100 prio 100
ip route add default via a1.a2.a3.a4 dev VPN0 table 100
ip rule add iif eth0 lookup 101 prio 101
ip route add default via b1.b2.b3.b4 dev VPN1 table 101

其中a1.a2.a3.a4是VPN0 上 wireguard 服务器的隧道 IP 地址
b1.b2.b3.b4 是VPN1 上 wireguard 服务器的隧道 IP 地址。

prio如果您已经有其他 IP 规则,则可能需要调整该规则。

请注意,这将取代进入这两个接口的所有其他流量路由,因此您的正常(主)路由表将根本不用于该流量。

相关内容