有没有办法移动规则iptables
并更改其位置?我知道我可以用来-I
在特定位置插入规则,但我也喜欢保留计数器。
答案1
您还可以执行以下操作
- 将的输出写入
iptables-save
文件:iptables-save > /tmp/iptables.txt
- 使用文本编辑器编辑此文件,移动您想要的任何行。
- 重新加载文件:
iptables-restore < /tmp/iptables.txt
答案2
不,您不能移动规则。但是,您可以为添加/插入/替换的任何规则设置计数器(使用-c
或--set-counters
参数)。因此,您可以检查当前计数,删除规则并使用旧计数值重新插入。
答案3
要了解您拥有什么以及您想要改变什么,您首先需要进行一些检查。
- 检查计数器并将其写在某处,以便您以后可以输入它们。
iptables-save -c
- 检查您想要替换/重新定位的行
iptables -L -v -n --line-n
- 将规则写入指定的 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