我正在运行 Ubuntu 14.04 LTS。我相信以下内容显示了加载了哪些 iptables 匹配模块:
sudo cat /proc/net/ip_tables_matches
问题:我看到 conntrack 列出了三次。为什么?
所以我尝试查看 iptables 中有哪些 .so 文件。在 /var/lib/dpkg/info/iptables.list 下列出了 .so 文件。那里有多个 .so 文件。
出现这种情况是因为我想加载 -m mac 模块。以下 iptables 规则出现错误:
iptables -A INPUT -s 192.168.1.88 -m mac --mac-source 00-27-0E-33-4B-B2 -j DROP
我认为我需要加载 mac 才能消除错误。如何加载匹配的 mac 地址 iptables 模块?如果我想加载任何其他 iptables 匹配模块?内核不是根据需要自动加载这些模块吗?
答案1
你问了 4 个问题。我可以回答其中 3 个。
任何所需的模块都会在需要时由 iptables 自动加载。几年前,模块必须专门加载。一些关键应用程序仍然强制加载模块,这样当 iptables 意识到需要该模块时就不会出现延迟。
现在,与 MAC 相关的 iptables 规则的问题是语法错误,并且模块未加载或未加载。此行:
iptables -A INPUT -s 192.168.1.88 -m mac --mac-source 00-27-0E-33-4B-B2 -j DROP
应该是这样的:
iptables -A INPUT -s 192.168.1.88 -m mac --mac-source 00:27:0E:33:4B:B2 -j DROP
您关于 conntrack 模块的问题列出了 3 次,我不知道为什么。也许是因为您以 3 种不同的方式使用它,但这只是猜测。