私は。。をしようとしています modprobe wireguard
rootとして実行すると、次のエラーで失敗します。
modprobe: ERROR: could not insert 'wireguard': Operation not permitted
冗長を追加すると、さらに1行表示されます。
[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はエラーなしで正常に実行されます。また、selinuxを無効にしましたが、違いはありませんでした。 journalctl
ログに何も表示されません。
ManページとGoogleを調べても何も起きていません。
私はこの役立つ行をdmesg
で見つけました:
Lockdown: modprobe: Loading of unsigned module is restricted; see man kernel_lockdown.7
ただし、そのmanページは存在しません。
どうすればデバッグできますか?次にどこへ行くかについての指針はありますか?
最後に何かが見つかりました。それは 「機能」のように見えます UEFIセキュアブートが有効になっている場合(そうである場合)、署名されていないコードをカーネルにロードできません。
モジュールのロードを取得するには、sys-rqを介してカーネルロックダウンを無効にします。
# echo 1 > /proc/sys/kernel/sysrq
# echo x > /proc/sysrq-trigger
次に、modprobe
が機能するはずです。
modprobe wireguard
詳細については、以下を参照してください。
Fedora 31ディストリビューションはエコーを受け入れませんでした SysRq。 Arch Linux wikiの使用を提案 Alt+PrtSc+x (ラップトップでは、 Fn はキーボードの一部です)。ロックダウンが正常に無効化され、ワイヤガードが正常にロードされました。私はakmod
をインストールしたので、代わりにmodprobeワイヤーガードが機能しました SysRq+x (redhatマニュアルには、物理的に接続されたキーボードで押す必要があると記載されています)。
私は同様の問題を抱えていますが、modprobeから異なる詳細出力を取得します。
# modprobe -vvv wireguard
modprobe: INFO: custom logging function 0x55cf4e172a20 registered
insmod /lib/modules/5.3.11-300.fc31.x86_64/kernel/net/wireguard.ko.xz
modprobe: INFO: Failed to insert module '/lib/modules/5.3.11-300.fc31.x86_64/kernel/net/wireguard.ko.xz': Operation not permitted
modprobe: ERROR: could not insert 'wireguard': Operation not permitted
modprobe: INFO: context 0x55cf4eb9b4c0 released
ワイヤーガードモジュールをロードする方法はありますか?私はそれを削除し、成功せずに再構築しました:
dkms remove -m wireguard -v 0.0.20191012 -k 5.3.11-300.fc31.x86_64
dkms install -m wireguard -v 0.0.20191012
どんな助けでも大歓迎です。