Wireguard 拒绝在 Fedora 31 上运行:协议不受支持
Posted
技术标签:
【中文标题】Wireguard 拒绝在 Fedora 31 上运行:协议不受支持【英文标题】:Wireguard refuses to run on Fedora 31: protocol not supported 【发布时间】:2020-07-17 13:50:06 【问题描述】:我最近安装了wireguard-tools 并多次重启了我的机器。但是,它根本不会运行。我每次都会收到这个错误:
Warning: `/etc/wireguard/myprovider.conf' is world accessible
[#] ip link add myprovider type wireguard
Error: Unknown device type.
Unable to access interface: Protocol not supported
[#] ip link delete dev myprovider
Cannot find device "provider"
然后我运行 dkms status,它完全空白,即使在重新启动后也是如此。在网上看,似乎没有其他人的 dkms 空白。我的内核版本是 5.5.13-200.fc31.x86_64,这是我能去的最新版本。我已经尝试过清理软件包、更新然后重新安装wireguard 的一般建议,但它没有奏效。我应该从这里做什么?这是否需要重新安装整个操作系统?
【问题讨论】:
你跑dnf update
了吗?
我确实运行过它,是的。还是不行
【参考方案1】:
我通过升级wireguard解决了这个问题:
sudo apt-get upgrade wireguard
这是最终结果:
(...)
Preparing to unpack .../92-wireguard-dkms_1.0.20200520-0ppa1~18.04_all.deb ...
-------- Uninstall Beginning --------
Module: wireguard
Version: 1.0.20200401
Kernel: 5.3.0-46-generic (x86_64)
-------------------------------------
Status: Before uninstall, this module version was ACTIVE on this kernel.
wireguard.ko:
- Uninstallation
- Deleting from: /lib/modules/5.3.0-46-generic/updates/dkms/
- Original module
- No original module was found for this module on this kernel.
- Use the dkms install command to reinstall any previous module version.
depmod...
DKMS: uninstall completed.
-------- Uninstall Beginning --------
Module: wireguard
Version: 1.0.20200401
Kernel: 5.3.0-51-generic (x86_64)
-------------------------------------
Status: Before uninstall, this module version was ACTIVE on this kernel.
wireguard.ko:
- Uninstallation
- Deleting from: /lib/modules/5.3.0-51-generic/updates/dkms/
- Original module
- No original module was found for this module on this kernel.
- Use the dkms install command to reinstall any previous module version.
depmod...
DKMS: uninstall completed.
------------------------------
Deleting module version: 1.0.20200401
completely from the DKMS tree.
------------------------------
Done.
(...)
然后 sudo wg-quick up conf_name 再次起作用。
【讨论】:
【参考方案2】:modinfo wireguard
显示什么?
Wireguard 包含在 Linux 5.6 及更高版本中。在您的 5.5 内核上,您需要安装内核模块。
我是 Debian 用户,但在 fedora 上应该可以:
$ sudo dnf copr enable jdoss/wireguard
$ sudo dnf install wireguard-dkms wireguard-tools
wireguard-tools 只安装工具,wireguard-dkms 内核模块,这将做实际工作。
reference
【讨论】:
以上是关于Wireguard 拒绝在 Fedora 31 上运行:协议不受支持的主要内容,如果未能解决你的问题,请参考以下文章
如何在CentOS 7 / Fedora 31/30/29上安装ELK Stack
如何让 Wireguard-Android make 文件在 Windows 上运行?