
Xubuntu 19.04 を起動すると、boot.log に次の内容が表示されます:
[[0;1;31mFAILED[0m] Failed to start [0;1;39mLoad Kernel Modules[0m.
See 'systemctl status systemd-modules-load.service' for details.
systemctl status systemd-modules-load.service を実行すると、次の結果が得られます。
Failed to find module 'nf_nat_proto_gre'
するとsudo modprobe nf_nat_proto_gre
次のようになります:
modprobe: FATAL: Module nf_nat_proto_gre not found in directory /lib/modules/5.0.0-16-generic
問題は何ですか?また、どのように解決すればよいですか?
答え1
まず、当然の疑問は、このモジュールは必要かどうかです。これは、NAT の背後にある GRE トンネル (おそらく 1 つではなく複数) の使用をサポートするためのものです。GRE トンネルが使用されない場合、この疑問は意味をなさなくなります。
さて、何が起こったのでしょうか? Ubuntu 19.04 はカーネル 5.0 を使用しており、このカーネルからいくつかの netfilter の再構築が開始され、いくつかの個別の netfilter モジュールがコア (つまり、モジュールとしてではなく) に分解され、全体的なサイズが増加したり、netfilter の機能が向上したりしました。このモジュールは、この再構築の一環として「削除」されました。
path: root/net/ipv4/netfilter/nf_nat_proto_gre.c Age Commit message (Expand) Author Files Lines 2018-12-17 netfilter: nat: remove nf_nat_l4proto struct Florian Westphal 1 -61/+0 2018-12-17 netfilter: nat: remove l4proto->manip_pkt Florian Westphal 1 -41/+0 2018-12-17 netfilter: nat: remove l4proto->nlattr_to_range Florian Westphal 1 -3/+0 2018-12-17 netfilter: nat: remove l4proto->in_range Florian Westphal 1 -1/+0 2018-12-17 netfilter: nat: remove l4proto->unique_tuple
もちろん、機能はまだ残っています。最後のコミットコメント、強調は私によるものです:
netfilter: nat: nf_nat_l4proto 構造体を削除
これにより、(現在は空の) nf_nat_l4proto 構造体、そのすべてのインスタンス
、および不要になったランタイム (アン) レジスタ機能がすべて削除されます。nf_nat_need_gre() も削除できます。この関数を呼び出すモジュール (
存在しなくなった nat_gre モジュールをロードするため) は、他の nat コア
関数も呼び出します。カーネルが GRE nat 付きでビルドされている場合、GRE nat は常に利用可能になりました。。[...]
したがって、Ubuntu にロードするヘルパー モジュールのハードコードされたリストがある場合、リストは更新されず、このモジュールと他のいくつかのモジュールが削除されません。このエラーは無視するか、軽微なバグとして報告してください。