如何在Linux中加载tun模块?


26

我无法tun在ArchLinux盒子中加载模块。我正在尝试连接OpenVPN,但日志显示:

nm-openvpn[6662]: Note: Cannot open TUN/TAP dev /dev/net/tun: No such device (errno=19)

lsmod | grep tun

不返回任何内容:

如果我运行:

sudo modprobe tun

它返回失败,但没有错误消息,并且lsmod仍然没有tun。该模块似乎存在,因为其中存在tun.ko.gzin /lib/modules/

我真的不知道还有什么尝试。

Answers:


27

这个答案可能有点晚了,但我本人完全按照描述遇到了这个问题。

运行OpenVPN将产生:

Note: Cannot open TUN/TAP dev /dev/net/tun: No such file or directory (errno=2)

运行tunctl会产生:

Failed to open '/dev/net/tun' : No such file or directory

并且此命令没有输出:

lsmod | grep tun

尝试tun通过以下方式添加模块时:

modprobe tun

modprobe 将会退出并显示错误代码(1),并且没有任何更改。

我找到了通过激活tun模块的另一种方法insmod。首先使用以下命令找到模块:

find /lib/modules/ -iname 'tun.ko.gz'

然后将insmod与返回的路径一起使用(我只有一个匹配项),例如:

insmod /lib/modules/3.6.9-1-ARCH/kernel/drivers/net/tun.ko.gz

对我来说,运行该命令有效,tunctl然后OpenVPN可以正常工作。


如果在我的树莓
派上

谢谢!在insmod的命令作品!遇到此问题是因为openconnect问题:无法打开tun设备:没有此类设备
Antonio Saco

需要根访问权限吗?
Dr.jacky

3
在我的Ubuntu 14.04 vps上找不到/ lib / modules / -iname'tun.ko.gz'(
user3479125 '16

1
在CentOS 7上也找不到它。
16:39抓取

22

尝试在OVH Cloud VPS上运行openvpn时遇到了类似的问题,openvpn抱怨找不到TUN接口。

modprobe将始终返回未找到的模块:

$ sudo modprobe tun
FATAL: Module tun not found.

最后,我发现tun不是模块而是内置于内核中,因此我要解决的问题是创建缺少的dir和nod:

$ sudo mkdir /dev/net
$ sudo mknod /dev/net/tun c 10 200

然后,openvpn可以找到并使用tun设备。

需要注意的是,此后,由于tun不是模块,modprobe仍将返回错误。

$ sudo modprobe tun
FATAL: Module tun not found.

谢谢你,我做了后得到了这个问题的OpenVPN访问服务器上OVH经典VPS的dist-升级从Debian的7至8 Debian的你也可以做sudo chmod 600 /dev/net/tun这样的文章中说:wiki.vpslink.com/TUN/TAP_device_with_OpenVPN_or_Hamachi与重启后的OpenVPN sudo service openvpnas restart,我可以与客户联系。但是当我重新启动Linux服务器时,/ dev / net / tun不再存在。我不知道这是否正常,但是我在/etc/rc.local中添加了命令,因此重启后仍然可以使用。
baptx

谢谢。您的解决方案适用于在我的android移动设备上运行的armbi debian squeeze端口。启动OpenVPN时出现相同的错误。
Sourav Ghosh

是的,tun不是模块。
MrRolling

Thas为我工作thanx。
普亚·萨米


0

我有一个问题,我/lib/modules/.../modules.alias的行不包含在内

alias char-major-10-200 tunode_tunnel

因此,即使您已经完成mknod /dev/net/tuntun.ko在其中放置了某项内容,/lib/modules/...除非modules.alias有正确的咒语,否则它不会加载。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.