首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >OpenVPN -错误:无法打开TUN/TAP / dev /net/tun:没有这样的文件或目录(errno=2)

OpenVPN -错误:无法打开TUN/TAP / dev /net/tun:没有这样的文件或目录(errno=2)
EN

Server Fault用户
提问于 2020-02-14 01:47:24
回答 2查看 72.6K关注 0票数 11

有很多关于这个错误的问题,并且有一个建议的手动修复很好,但是没有永久的解决方案。我怎样才能永久解决这个问题?我在debian服务器上出现了这个问题,使用OpenVPN客户端连接到OpenVPN服务器。

建议的修正如下所示。看起来,/dev/net不是自动创建的,当然在每次重新启动时都会消失。

代码语言:javascript
运行
复制
mkdir -p /dev/net
mknod /dev/net/tun c 10 200
chmod 600 /dev/net/tun
EN

回答 2

Server Fault用户

发布于 2020-02-14 19:35:03

debian自2018年5月(https://www.debian.org/releases/wheezy/)以来就失去了支持,到2020年你就不应该再把它用于生产了。

现在,您可以添加临时修复问题的命令,添加一个bash脚本,并使用@reboot昵称(man 5 crontab)添加到根crontab中。

因此,在您的文件系统中的某个地方创建一个bash脚本,如下所示:

代码语言:javascript
运行
复制
#!/bin/bash

mkdir -p /dev/net
mknod /dev/net/tun c 10 200
chmod 600 /dev/net/tun

/etc/init.d/openvpn restart

使用755权限保存它,并修改根crontab:

代码语言:javascript
运行
复制
# crontab -e

至少有这样的内容

代码语言:javascript
运行
复制
@reboot /path/to/where/you/saved/the/script

在重新启动之后,应该已经成功地启动了openvpn。

票数 6
EN

Server Fault用户

发布于 2022-04-19 07:46:24

它也发生在拱门/马吉罗。

我设法解决了这个问题,显然内核升级只是移动模块目录,所以试图从它们已知的位置到达模块是不可用的,当前正在运行的内核仍然在运行,但我似乎不能modprobe (加载)任何尚未加载的模块(比如OpenVPN连接所需的tun )。

因此,例如,/lib/modules/目录在升级之前有以下目录(我有多个内核,请注意5.16系列):

代码语言:javascript
运行
复制
5.15.32-1-MANJARO  *5.16.14-1-MANJARO*  extramodules-5.15-MANJARO  extramodules-5.16-MANJARO

这是升级后的状态:

代码语言:javascript
运行
复制
5.15.32-1-MANJARO  *5.16.18-1-MANJARO*  extramodules-5.15-MANJARO  extramodules-5.16-MANJARO

试图加载tun模块显示了以下消息:

代码语言:javascript
运行
复制
modprobe: FATAL: Module tun not found in directory /lib/modules/5.16.14-1-MANJARO

这完全有意义,因为这个目录不存在。

那么,我在这个问题上提出的解决方案是什么?重新开始。

票数 6
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/1003011

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档