我正在尝试使用 ZeroTier 创建 VPN 并在 VPS 上使用它。这个 VPS 有一个 CentOS 7 安装。我安装了 ZeroTier 并可以加入网络,但它给了我一个 PORT_ERROR,我无法通过托管 IP ping VPS。
我试图重新启动 ZeroTier 并检查状态,它给了我以下错误:
zerotier-one[1496]: /usr/sbin/zerotier-one: WARNING: failed to drop privileges (kernel may not support required prctl features), running as root
zerotier-one[1496]: ERROR: unable to configure virtual network port: could not open TUN/TAP device: No such file or directory
所以我尝试检查 tun 模块,结果发现它没有加载,但不仅如此,它也没有安装(我检查了lsmod | grep tun
,然后modprobe tun
尝试加载它,并再次检查但有没有运行)
我已经尝试安装net-tools
包并自己创建 tun 模块和设备,然后重新启动 VPS,但我无法解决这个问题。我还搜索了如何安装模块,但找不到任何解决方案。我在很多地方发现的问题可能是 VPS 提供商必须为我们启用该模块。
除了我已经尝试过的方法之外,我有什么方法可以自己安装模块,还是我必须询问提供商?
先感谢您!
如果你的服务器使用 OpenVZ,它就不是一个完整的“虚拟服务器”;它更像一个 Docker 或 LXC 容器。重要的是它没有自己的内核——托管在同一台物理机器上的所有“VPS”共享同一个内核。这意味着您无法安装任何模块,您只能获得主机系统已加载的功能。
许多 OpenVZ 主机确实提供了“tun”设备支持;有时,您需要通过服务器的控制面板(WHM 或其他)或联系支持(尽管这有点不寻常)来启用它。
但是如果主机不支持 'tun' 设备,你别无选择,只能去别处(最好是基于 KVM/Xen 的 VPS——这些在加载 OS 内核的位置确实有所不同,但几乎所有支持使用您自己的内核,并且几乎所有默认都支持 tun)。