![如何加载 iptable 匹配模块?还是需要明确加载?一些相关问题](https://linux22.com/image/1125993/%E5%A6%82%E4%BD%95%E5%8A%A0%E8%BD%BD%20iptable%20%E5%8C%B9%E9%85%8D%E6%A8%A1%E5%9D%97%EF%BC%9F%E8%BF%98%E6%98%AF%E9%9C%80%E8%A6%81%E6%98%8E%E7%A1%AE%E5%8A%A0%E8%BD%BD%EF%BC%9F%E4%B8%80%E4%BA%9B%E7%9B%B8%E5%85%B3%E9%97%AE%E9%A2%98.png)
我正在运行 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 种不同的方式使用它,但这只是猜测。