现有的 Arch 中的 Iptables 内核模块

现有的 Arch 中的 Iptables 内核模块

当我尝试在 Arch 安装中使用默认内核的 iptables 时,我收到错误

iptables v1.6.2: can't initialize iptables table `filter': Table does not exist (do you need to insmod?)
Perhaps iptables or your kernel needs to be upgraded.

我不知道为什么模块无法安装,尽管我确实对 nftables 进行了一些实验,也许它替换了某些东西?此消息正确吗?如果正确,我该如何修复它?

编辑:pacman -Qii 的输出

Name            : linux
Version         : 4.17.2-1
Description     : The Linux kernel and modules
Architecture    : x86_64
URL             : https://www.kernel.org/
Licenses        : GPL2
Groups          : base
Provides        : None
Depends On      : coreutils  linux-firmware  kmod  mkinitcpio>=0.7
Optional Deps   : crda: to set the correct wireless channels of your country
Required By     : None
Optional For    : None
Conflicts With  : None
Replaces        : None
Installed Size  : 114.63 MiB
Packager        : Jan Alexander Steffens (heftig) <[email protected]>
Build Date      : Sat Jun 16 12:08:26 2018
Install Date    : Wed Jun 20 05:02:18 2018
Install Reason  : Explicitly installed
Install Script  : Yes
Validated By    : Signature
Backup Files    :
UNMODIFIED      /etc/mkinitcpio.d/linux.preset

答案1

您正在内核上运行4.16.12,但您已将内核更新为4.17.2。每次升级内核后,您都需要重新启动计算机。iptable
失败,因为它尝试加载模块iptable_filter,但该文件/usr/lib/modules/4.16.12-1-ARCH/kernel/net/ipv4/netfilter/iptable_filter.ko.xz不再存在,因为您已将内核更新为pacman -S linux。要更改正在运行的内核,您需要重新启动计算机。重新启动后,如果报告的正在运行的内核与uname -a安装的版本匹配pacman -Q linux,则该iptables命令应成功加载iptable_filter模块。

相关内容