![Ubuntu OpenVZ 上的 OpenVPN](https://linux22.com/image/1041393/Ubuntu%20OpenVZ%20%E4%B8%8A%E7%9A%84%20OpenVPN.png)
我已在 OpenVZ vps 上配置完 OpenVPN。运行时,service openvpn restart
我收到以下错误输出:
* Stopping virtual private network daemon(s)...
* No VPN is running.
* Starting virtual private network daemon(s)...
* Autostarting VPN 'client'
* Autostarting VPN 'server' SIOCSIFADDR: No such device
: ERROR while getting interface flags: No such device
SIOCSIFDSTADDR: No such device
: ERROR while getting interface flags: No such device
SIOCSIFMTU: No such device
我有一种直觉,这与 OpenVZ 机器没有 eth0 设备而是 venet0:0 接口有关。我查看了所有需要编辑的配置文件,并确保没有对 eth0 的引用。我将其配置为本教程我即将完成(一旦我得到这里的解决方案就会完成)。
请告诉我需要如何更改配置以便 OpenVPN 能够成功启动。
答案1
事实证明你必须在 openvz 上设置 tun/tap 设备主持人。为此,您需要确保主机正在运行lsmod | grep tun
。如果没有出现任何内容,则modprobe tun
在运行之前运行lsmod | grep tun
以检查它是否出现。现在,您需要使用以下命令授予容器访问权限(我建议将其放入脚本中,然后调用该脚本):
CTID=YOUR_CONTAINERS_ID_HERE
vzctl set $CTID --devnodes net/tun:rw --save
vzctl set $CTID --devices c:10:200:rw --save
vzctl set $CTID --capability net_admin:on --save
vzctl exec $CTID mkdir -p /dev/net
vzctl exec $CTID mknod /dev/net/tun c 10 200
vzctl exec $CTID chmod 600 /dev/net/tun
我收到如下所示的警告错误消息,但现在在客户端上重新启动 openVPN 似乎有效。
此外,完成此操作后,我能够成功连接,但是无法连接到其他任何设备我花了很长时间检查所有 iptables 和数据包转发,但错误实际上是我把 client.conf 留在了 /etc/openvz 目录中。删除该服务并重新启动 openvpn 服务即可解决此问题。