OpenVPN无法动态分配TUN / TAP设备

OpenVPN无法动态分配TUN / TAP设备

OpenVPN 客户端首次通过 /etc/init.d/openvpn 启动时工作正常,但如果主服务器重新启动,则它们无法重新连接。

这是我在系统日志中收到的错误:

ovpn-openvpn[8113]: Note: Cannot ioctl TUNSETIFF tun: Operation not permitted (errno=1)
ovpn-openvpn[8113]: Note: Attempting fallback to kernel 2.2 TUN/TAP interface
ovpn-openvpn[8113]: Cannot allocate TUN/TAP dev dynamically
ovpn-openvpn[8113]: Exiting

这是 tun 设备的文件权限:

crw-rw-rw- 1 root root 10, 200 2011-03-24 16:51 /dev/net/tun

如果我使用“/etc/init.d/openvpn restart”重新启动客户端,它们就可以正常连接。

此外,只有当 openvpn 以用户“nobody”身份运行时才会出现问题。以“root”身份运行可以解决所有问题,但这不是一个可行的解决方案。

'persist-tun' 选项也有一点帮助,但帮助不大。隧道仍然无法维持一夜。

有什么建议么?

答案1

我猜你需要在服务器上使用 --ifconfig-pool-persist 选项,以便在服务器守护进程重新启动时保持客户端 <-> IP 地址映射。否则,即使 --persist-tun 处于活动状态,客户端也需要调用 ifconfig 来重新配置其 tun 设备。如果他们没有 root 权限,这将不可避免地失败。

相关内容