我正在使用 network-manager-openvpn(w Ubuntu 14.04)来管理 VPN 连接(客户端)。
我需要在激活 VPN 时运行脚本来修复一些路由问题。我知道如何使用 openvpn 配置选项 ( --script-security 2 --up /script.. ) 来执行此操作,但我无法找到一种合理的方法,将网络管理器混用在一起。
是否有一种“推荐”的方法来解决这个问题,而无需恢复到网络管理器之前的配置文件?
或者有没有建议的方法来检测 VPN 是否已经启动并因此触发操作(比每分钟启动 cron 查看状态更优雅的方法就更好了!)?
答案1
将您的脚本添加到/etc/network/if-up.d/
目录。
当连接或 vpn 连接启动 (up|vpn-up) 时,此目录中的所有脚本都将运行。
如上所述这里network-manager-openvpn 不提供这样的功能,否则您必须直接使用 openvpn。
由于此目录在连接和 vpn 连接时加载脚本,因此您的脚本可能需要额外的检查。
看一下文件/etc/NetworkManager/dispatcher.d/01ifupdown
。您可以看到连接改变时使用了哪些目录。
/etc/network/if-post-down.d/
如果我的 VPN 连接失败,我会使用带有脚本的目录来断开连接。
希望这会有所帮助,加油。