Ubuntu OpenVZ 上的 OpenVPN

Ubuntu OpenVZ 上的 OpenVPN

我已在 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 服务即可解决此问题。

相关内容