在 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 尝试了它,它成功了。也许值得尝试一下