OpenVPN启动后如何自动添加本地路由?

OpenVPN启动后如何自动添加本地路由?

我有一个容器,它通过 OpenVPN 路由所有流量。OpenVPN 通过以下组合实现此目的:

0.0.0.0/1 via 10.8.8.17 dev tun0 
128.0.0.0/1 via 10.8.8.17 dev tun0 

屏蔽default路由(OpenVPN 关闭时路由仍然存在)

我需要明确添加一条用于本地网络的路由,该路由将通过eth0而不是 来引导数据包tun0

这是通过以下方式手动完成的

ip route add 10.10.10.0/24 via 10.10.11.254 dev eth0

在 OpenVPN 启动后。

如何在 OpenVPN 启动时自动执行该操作?

我尝试添加

route 10.10.10.0 255.255.255.0

到 mu.ovpn配置文件,但这会导致一条新的路由tun0(这是可以理解的,因为没有关于要通过的 NIC 的具体信息 - 但我在文档中也没有看到任何可用信息)

# ip route
(...)
10.10.10.0/24 via 10.8.8.17 dev tun0 

我想要实现的目标是否可以通过 OpenVPN 配置来实现,或者我是否需要在 OpenVPN 启动过程之外以某种方式来实现?

答案1

如果它是本地可访问的网络,那么您只需拥有一个持久的本地路由即可,而不管 openvpn 是否启用,并且应该可以正常工作。根据您的系统,您可以配置路由,以便在相关接口启动时加载它。

答案2

upOpenVPN 文件可以引用使用和指令启用或禁用隧道时要执行的 shell 脚本down

例子:

up on-up.sh
down on-down.sh

相关内容