为什么 iptables 命令会抛出错误?

为什么 iptables 命令会抛出错误?

我在我的 Debian 系统上输入了以下内容:

iptables --list

并得到以下内容:

libkmod: ERROR ../libkmod/libkmod-index.c:816 index_mm_open: magic check fail: b007fa57 instead of b007f457
iptables v1.4.13: can't initialize iptables table `filter': Table does not exist (do you need to insmod?)
Perhaps iptables or your kernel needs to be upgraded.

关于如何修复它有什么建议吗?

答案1

您以普通用户身份运行它,以 root 身份运行该命令。

答案2

@poige 是对的,你加载了错误的内核模块版本。我将其添加为单独的答案,因为评论中确实没有足够的空间。

在 libkmod/libkmod-index.h 中

/* Integers are stored as 32 bit unsigned in "network" order, i.e. MSB first.
   All files start with a magic number.

   Magic spells "BOOTFAST". Second one used on newer versioned binary files.
 */
/* #define INDEX_MAGIC_OLD 0xB007FA57 */
#define INDEX_MAGIC 0xB007F457

答案3

您尝试过重启吗?看来模块版本比运行内核预期的要新。

相关内容