モジュール nf_nat_proto_gre が見つかりませんでした

モジュール nf_nat_proto_gre が見つかりませんでした

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 の機能が向上したりしました。このモジュールは、この再構築の一環として「削除」されました。

https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/log/net/ipv4/netfilter/nf_nat_proto_gre.c?h=v5.0

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 にロードするヘルパー モジュールのハードコードされたリストがある場合、リストは更新されず、このモジュールと他のいくつかのモジュールが削除されません。このエラーは無視するか、軽微なバグとして報告してください。

関連情報