我有几个带有辅助接口的 openvpn 服务器,我正在尝试通过第二个接口为 openvpn 用户路由互联网,我们将主接口命名为 eth0,将辅助接口命名为 w1。
目前的情况是这样的。用户>>tun>>服务器tun0>>eth0上的互联网
我的目标是这样的。用户 >> tun >> 服务器 tun0 >> w1 上的互联网
我阅读了一些关于基于源的路由的文章并做了以下操作:
在 /etc/iproute2/rt_tables 中创建了一个名为 w1 的表,然后执行这两个命令
ip rule add from 10.8.0.0/24 table w1
ip route add default via 172.16.0.2 dev w1 table w1
172.16.0.2 是接口 w1 的 ip 地址。它是来自另一个隧道软件的点对点接口。我可以通过这个接口 ping 1.1.1.1,这里没有问题。对我来说这似乎没问题,它甚至在第一台服务器上工作,而我的 ip 是 w1 接口的公共 ip。然而,同样的事情在另一台服务器上不起作用,我做了相同的路由和规则,刷新了“ip 路由”的缓存,但它们都在这个服务器上不起作用。
发生的情况是用户无法 ping 通任何地方,甚至无法 ping 通服务器 tun0 本身(10.8.0.1)
我觉得我遗漏了一些东西,也许是在第一台服务器上偶然完成的,因为它看起来很简单但在这里却不起作用。
两者都运行最新的 ubuntu lts 22.04。第一个服务器运行在 amd X86 上,第二个服务器运行在 ARM 上,希望这没关系。