Firewalld 在 ESTABLISHED 之前插入规则

Firewalld 在 ESTABLISHED 之前插入规则

我想禁止已经建立的连接。

Firewalld 生成的默认 iptables 规则

-A INPUT -m conntrack --ctstate RELATED,ESTABLISHED,DNAT -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -j INPUT_direct

如何在之前插入规则-j ACCEPT

或者如何将 INPUT_direct 移至顶部?

或者如何删除 conntrack 规则?

答案1

您可以使用 iptables -I 参数插入 iptables 规则,因此如果您指定, iptables -I INPUT -j INPUT_direct 此规则将插入到顶部。

如果您使用行号指定它: iptables -I INPUT 2 -j INPUT_direct 它将作为规则插入第 2 行。

为了移动规则:

  1. 先删除它: iptables -D INPUT -j INPUT_direct
  2. 将其插入顶部 iptables -I INPUT -j INPUT_direct

答案2

raw作为解决方法,我在(或mangle)表中插入了规则:

firewall-cmd --direct --add-rule ipv4 mangle PREROUTING_direct 0 \
  -m set --match-set ipsetname src -j DROP

该链在 INPUT 之前,并且由于我在这台机器上没有 FORWARD - 它解决了我的问题。

相关内容