# 1. 清空 NAT 表
iptables -t nat -F
iptables -t nat -X
iptables -t nat -P PREROUTING ACCEPT
iptables -t nat -P POSTROUTING ACCEPT
iptables -t nat -P OUTPUT ACCEPT
# 2. 清空 Mangle 表
iptables -t mangle -F
iptables -t mangle -X
iptables -t mangle -P PREROUTING ACCEPT
iptables -t mangle -P INPUT ACCEPT
iptables -t mangle -P FORWARD ACCEPT
iptables -t mangle -P OUTPUT ACCEPT
iptables -t mangle -P POSTROUTING ACCEPT
# 3. 清空 Filter 表(預設表)
iptables -F
iptables -X
iptables -P FORWARD ACCEPT
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
# 4. 清空 Raw 表
iptables -t raw -F
iptables -t raw -X
iptables -t raw -P PREROUTING ACCEPT
iptables -t raw -P OUTPUT ACCEPT
| 指令 | 作用 |
|---|---|
-F (--flush) | 刪除指定表中所有規則 |
-X (--delete-chain) | 刪除所有用戶自定義鏈(非內建鏈) |
-P (--policy) | 設定內建鏈預設策略(ACCEPT/DROP/REJECT) |
| 表名 | 核心用途 | 內建鏈 |
|---|---|---|
| filter | 封包過濾(最常用) | INPUT, OUTPUT, FORWARD |
| nat | 網址轉換(SNAT/DNAT/REDIRECT) | PREROUTING, POSTROUTING, OUTPUT |
| mangle | 封包標記/修改 TOS/TTL | PREROUTING, INPUT, FORWARD, OUTPUT, POSTROUTING |
| raw | 連線追蹤豁免(NOTRACK) | PREROUTING, OUTPUT |
上述指令僅對當前運行生效,重啟後失效。持久化方案:
# CentOS/RHEL 7+
service iptables save
# 或
iptables-save > /etc/sysconfig/iptables
# Debian/Ubuntu
iptables-save > /etc/iptables/rules.v4
# 需安裝 iptables-persistent
iptables -L -n -v --line-numbers
# 應僅顯示三條預設 ACCEPT 策略的空鏈
執行前確認:當前 SSH 連線不會中斷(OUTPUT/INPUT 預設 ACCEPT),但現有連線追蹤會被清除,長連線可能短暫中斷。建議在維護窗口或 Console 下操作。