Linux
清除所有 iptables 規則的最佳方法
我目前有這個片段:
# flush all chains iptables -F iptables -t nat -F iptables -t mangle -F # delete all chains iptables -X
執行此命令後是否有可能某些不可滲透的規則仍然存在?
這個想法是有一個完全乾淨的 iptables 配置,可以很容易地被新的規則集替換(不要介意路由/ifconfig 的參數)。
簡潔地回答你的問題,不:刷新每張桌子後不會有任何“剩餘”規則。但是,為了徹底起見,您可能還希望將內置
INPUT
和FORWARD
鏈的策略設置為ACCEPT
,以及:iptables -P INPUT ACCEPT iptables -P FORWARD ACCEPT iptables -P OUTPUT ACCEPT iptables -t nat -F iptables -t mangle -F iptables -F iptables -X
清除 ip6tables 規則:
ip6tables -P INPUT ACCEPT ip6tables -P FORWARD ACCEPT ip6tables -P OUTPUT ACCEPT ip6tables -t nat -F ip6tables -t mangle -F ip6tables -F ip6tables -X
…應該這樣做。
iptables -nvL
應該產生這個(或非常相似的)輸出:Chain INPUT (policy ACCEPT 0 packets, 0 bytes) pkts bytes target prot opt in out source destination Chain FORWARD (policy ACCEPT 0 packets, 0 bytes) pkts bytes target prot opt in out source destination Chain OUTPUT (policy ACCEPT 0 packets, 0 bytes) pkts bytes target prot opt in out source destination