
При запуске 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
Во-первых: очевидный вопрос должен быть: нужен ли этот модуль? Он нужен для поддержки использования (вероятно, нескольких, а не одного) туннелей GRE за NAT. Если туннель 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 теперь всегда доступен, если ядро собрано с его помощью.[...]
Так что если в Ubuntu был жестко закодированный список вспомогательных модулей для загрузки, список не обновлялся, чтобы удалить этот и несколько других в том же случае. Вы должны спокойно игнорировать ошибку или сообщить о незначительной ошибке.