
Beim Starten von Xubuntu 19.04 erscheint Folgendes in boot.log:
[[0;1;31mFAILED[0m] Failed to start [0;1;39mLoad Kernel Modules[0m.
See 'systemctl status systemd-modules-load.service' for details.
Ich führe systemctl status systemd-modules-load.service aus, was Folgendes ergibt:
Failed to find module 'nf_nat_proto_gre'
Mit sudo modprobe nf_nat_proto_gre
bekomme ich:
modprobe: FATAL: Module nf_nat_proto_gre not found in directory /lib/modules/5.0.0-16-generic
Was ist das Problem und wie kann ich es beheben?
Antwort1
Erstens: Die offensichtliche Frage sollte lauten: Wird dieses Modul benötigt? Es dient der Unterstützung der Verwendung (wahrscheinlich mehrerer statt nur eines) GRE-Tunnels hinter NAT. Wenn kein GRE-Tunnel verwendet wird, ist die Frage hinfällig.
Was ist nun passiert? Es scheint, dass Ubuntu 19.04 Kernel 5.0 verwendet und dass von diesem Kernel aus einige Netfilter-Überarbeitungen begonnen wurden, um einige separate Netfilter-Module wieder in den Kern zu integrieren (d. h. nicht als Modul), um insgesamt an Größe zu gewinnen oder weitere Netfilter-Funktionen zu unterstützen. Dieses Modul wurde im Rahmen dieser Überarbeitung „gestrichen“.
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
Natürlich ist die Funktionalität immer noch da. Letzter Commit-Kommentar, Hervorhebung von mir:
netfilter: nat: nf_nat_l4proto-Struktur entfernen
Dadurch werden die (jetzt leere) nf_nat_l4proto-Struktur, alle ihre Instanzen
und alle nicht mehr benötigten Laufzeit-(Un-)Registrierungsfunktionen entfernt.nf_nat_need_gre() kann ebenfalls gestrichen werden: Das Modul, das es aufruft (um
das nicht mehr vorhandene nat_gre-Modul zu laden), ruft auch andere NAT-Kernfunktionen auf
.GRE nat ist jetzt immer verfügbar, wenn der Kernel damit erstellt wird.[...]
Wenn Ubuntu also eine fest codierte Liste mit zu ladenden Hilfsmodulen hatte, wurde die Liste nicht aktualisiert, um dieses und einige andere im selben Fall zu löschen. Sie können den Fehler getrost ignorieren oder den geringfügigen Fehler melden.