Kernel-Modules

找不到模組 nf_nat_proto_gre

  • June 9, 2019

在啟動 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

有什麼問題,我應該如何解決?

首先:顯而易見的問題應該是:需要這個模組嗎?這是為了支持在 NAT 後面使用(可能是多個而不是一個)GRE 隧道。如果不使用 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 現在總是可用的

$$ … $$

因此,如果 Ubuntu 有一些硬編碼的幫助模組列表要載入,那麼該列表不會更新以在相同的情況下刪除這個和其他幾個。您應該安全地忽略錯誤,或報告小錯誤。

引用自:https://unix.stackexchange.com/questions/523823