Estou tentando modprobe wireguard
como root, e ele falha com:
modprobe: ERROR: could not insert 'wireguard': Operation not permitted
Adicionando verbose, recebo mais uma linha:
[root@localhost ben]# insmod /lib/modules/5.2.11-100.fc29.x86_64/extra/wireguard.ko.xz
insmod: ERROR: could not insert module /lib/modules/5.2.11-100.fc29.x86_64/extra/wireguard.ko.xz: Operation not permitted
dkms funciona bem sem erros. Também desativei o selinux e isso não fez diferença. Não vejo nada nos journalctl
logs.
Olhando através de páginas de manual e Google não encontrou nada.
Eu encontrei esta linha útil em dmesg
:
Lockdown: modprobe: Loading of unsigned module is restricted; see man kernel_lockdown.7
No entanto, essa página de manual não existe.
Como posso depurar isso? Quaisquer indicações sobre onde ir a seguir?
Finalmente encontrei algo nele. Parece ser um "recurso" em que o código não assinado não pode ser carregado no kernel quando a inicialização segura UEFI está habilitada (o que é).
Para obter o carregamento do módulo, desative o bloqueio do kernel via sys-rq:
Então
modprobe
deve funcionar:Para mais informações, veja:
https://mjg59.dreamwidth.org/50577.html
https://bugzilla.redhat.com/show_bug.cgi?id=1599197
Minha distribuição Fedora 31 não aceitou ecoar para
sysrq
. O wiki do Arch Linux sugeriu usar Alt+ PrtSc+ x (em laptops, onde Fnfaz parte do teclado). O bloqueio foi desabilitado com sucesso e o WireGuard foi carregado com sucesso. Eu instaleiakmod
, entãomodprobe wireguard
funcionou para mim como uma alternativa ao SysRq+ x. (O manual do Red Hat diz que deve ser pressionado em um teclado conectado fisicamente.)meu problema é carregar a sobreposição do módulo do Centos 7.x (módulo não compilado), que normalmente são assinados... mais a inicialização segura não está habilitada (mokutil diz que "variáveis EFI não são suportadas neste sistema").
Talvez o melhor a longo prazo seja assinar seus módulos.
Para Debian e derivados veja:
https://wiki.debian.org/SecureBoot#MOK_-_Machine_Owner_Key