为什么无法使用 netfilter-persistent 加载 iptables 规则?

为什么无法使用 netfilter-persistent 加载 iptables 规则?
man netfilter-persistent |grep start
       netfilter-persistent start
       start  Calls all plugins with the start argument, causing them to load their rules into netfilter.
       Plugins must implement the start flush and save arguments and must not rely on additional arguments for other functionality.

我的家里有一条规则/etc/iptables/rules.v4

 cat /etc/iptables/rules.v4 |grep porn
-A INPUT -m string --string "porn" --algo bm --to 65535 -j DROP

规则尚未加载,无法获取任何结果sudo iptables -L |grep porn。netfilter-persistent 服务已激活。

sudo systemctl status netfilter-persistent |grep Active
   Active: active (exited) since Sat 2019-09-07 11:39:12 HKT; 15min ago

尝试加载它。

sudo systemctl start  netfilter-persistent 

检查规则是否已加载。

sudo iptables -L|grep porn

还没加载,用 试试iptables-restore

sudo iptables-restore < /etc/iptables/rules.v4
sudo iptables -L|grep porn
DROP       all  --  anywhere             anywhere             STRING match  "porn" ALGO name bm TO 65535

为什么sudo systemctl start netfilter-persistent不能像手册所说的那样将规则加载到 netfilter 中?

ls /usr/share/netfilter-persistent/plugins.d
15-ip4tables  25-ip6tables

netfilter-persistent服务在启动时自动启动。

sudo systemctl enable netfilter-persistent

启动 netfilter-persistent 服务后没有任何相关的日志输出。

答案1

netfilter-persistent是执行插件加载netfilter规则的框架,iptables规则的插件叫iptables-persistent,你装了吗?

您可以通过检查插件目录的内容来检查正在运行哪些插件netfilter-persistent/usr/share/netfilter-persistent/plugins.d

相关内容