无法启动 OpenVPN

无法启动 OpenVPN

在 Gentoo Linux 上启动时,OpenVPN出现以下错误。

# openvpn /etc/openvpn/openvpn.conf 
Wed Mar  8 00:55:00 2017 OpenVPN 2.3.12 x86_64-pc-linux-gnu [SSL (OpenSSL)] [LZO] [EPOLL] [MH] [IPv6] built on Mar  7 2017
Wed Mar  8 00:55:00 2017 library versions: OpenSSL 1.0.2k  26 Jan 2017, LZO 2.08
Wed Mar  8 00:55:00 2017 UDPv4 link local: [undef]
Wed Mar  8 00:55:00 2017 UDPv4 link remote: [AF_INET]172.98.67.7:1198
Wed Mar  8 00:55:01 2017 [28624468b5f74825ffa12e8a33e573f3] Peer Connection Initiated with [AF_INET]172.98.67.7:1198
Wed Mar  8 00:55:03 2017 ERROR: Cannot open TUN/TAP dev /dev/net/tun: No such file or directory (errno=2)
Wed Mar  8 00:55:03 2017 Exiting due to fatal error

一些 Google 结果建议使用 手动创建tun设备mknod,这会生成新错误

# mknod /dev/net/tun c 10 200
# openvpn /etc/openvpn/openvpn.conf 
Wed Mar  8 00:57:25 2017 OpenVPN 2.3.12 x86_64-pc-linux-gnu [SSL (OpenSSL)] [LZO] [EPOLL] [MH] [IPv6] built on Mar  7 2017
Wed Mar  8 00:57:25 2017 library versions: OpenSSL 1.0.2k  26 Jan 2017, LZO 2.08
Wed Mar  8 00:57:25 2017 UDPv4 link local: [undef]
Wed Mar  8 00:57:25 2017 UDPv4 link remote: [AF_INET]172.98.67.124:1198
Wed Mar  8 00:57:25 2017 [3ccec8eea78838d4b5676ec98bd25713] Peer Connection Initiated with [AF_INET]172.98.67.124:1198
Wed Mar  8 00:57:27 2017 ERROR: Cannot open TUN/TAP dev /dev/net/tun: No such device (errno=19)
Wed Mar  8 00:57:27 2017 Exiting due to fatal error

我已将 tun 内置到我的内核中,如下所示。uname还提供了输出

$ grep tun /lib/modules/4.10.1/modules.builtin
kernel/drivers/net/tun.ko
...
...

$ uname -a
Linux acer 4.10.1 #5 SMP Sun Mar 5 04:04:19 -00 2017 x86_64 Intel(R) Core(TM) i3-2100 CPU @ 3.10GHz GenuineIntel GNU/Linux

有没有我可能忘记的步骤?除了tun我还需要安装更多内核模块吗?

答案1

据我从strace输出中得知modprobe,我会盲目地相信modules.builtin.bin内置的内容。如果该文件与您的实际内核不同步,我希望modprobe即使模块不存在也会返回成功。

通过/proc你可以查出驱动是否真正被加载。这是一个misc驱动程序,因此您必须查看两个位置。

您将在其中/proc/devices找到列出字符设备和块设备的两个部分。你应该找到这个字符设备:

 10 misc

接下来查看/proc/misc每个驱动程序的次要编号。你应该寻找这个:

200 tun

如果您发现misc驱动程序存在,但tun缺少,则/proc/misc可能是您的modules.builtin.bin文件实际上与您正在运行的内核不对应。

答案2

我遇到了同样的问题,然后我从 root 尝试了它,它成功了。也许值得尝试一下

相关内容