在OpenVPN客户端中配置了智能路由的启用和禁用脚本,当OpenVPN启动时启用脚本执行正常,但是当VPN停止时,路由表里的路由项没有被删除。经查找后发现是由于我使用了 user group 将openvpn进程工作在 nobody 和 nogroup 用户上,导致权限不够。
解决方法是注释配置文件中这两项,使 OpenVPN 进程进行在 root 权限上。
;user nobody
;group nogroup
script-security 2
up scripts/vpnup
down scripts/vpndown
Over!
添加路由删除路由都要root权限的,怎么会加的上删不掉?
一看你就没有认真看,我配置切换用户啦,验证成功后就切换到 nobody:nogroup 用户,所以就没有权限删除喽。
哦。我是没认真看。发现KDE的KNM也有这个问题。PPTP连接后添加的到PPTP服务器的静态路由在断开后也删除不了。一直没修复。
今天发现个好东西:
/usr/lib/openvpn/openvpn-down-root.so
的确是个好东西。