移动 iptables 规则(不删除和添加)

移动 iptables 规则(不删除和添加)

有没有办法移动规则iptables并更改其位置?我知道我可以用来-I在特定位置插入规则,但我也喜欢保留计数器。

答案1

您还可以执行以下操作

  1. 将的输出写入iptables-save文件: iptables-save > /tmp/iptables.txt
  2. 使用文本编辑器编辑此文件,移动您想要的任何行。
  3. 重新加载文件:iptables-restore < /tmp/iptables.txt

答案2

不,您不能移动规则。但是,您可以为添加/插入/替换的任何规则设置计数器(使用-c--set-counters参数)。因此,您可以检查当前计数,删除规则并使用旧计数值重新插入。

答案3

要了解您拥有什么以及您想要改变什么,您首先需要进行一些检查。

  1. 检查计数器并将其写在某处,以便您以后可以输入它们。
    iptables-save -c
    
  2. 检查您想要替换/重新定位的行
    iptables -L -v -n --line-n
    
  3. 将规则写入指定的 CHAIN 中并添加步骤中解释的计数器。例如。
    iptables -R INPUT 5 -i virbr0 -p udp -m udp -c 3441 472271 --dport 53 -j ACCEPT -m comment --comment "Some comment"
    

的意思-c

-c [packets:bytes]

上述 iptables 规则将在第 5 行输入。

您可以通过以下方式保存当前的 iptables (和计数器)

iptables-save -c -f /somepath/iptrules-$(date +%F)

答案4

添加到瓦伦丁·巴吉拉米的回答:

如果您有当前的 iptables 规则和文件计数器,使用

iptables-save -c -f /somepath/iptrules-$(date +%F)

然后您可以根据需要更改该文件

nano /somepath/iptrules-$(date +%F)

然后用计数器恢复

iptables-restore -c /somepath/iptrules-$(date +%F)

如果您正在处理 ipv6,上面的两个命令都可以替换为 ip6tables

相关内容