Linux

預設配置iptables,刷表時如何避免被阻塞?

  • September 24, 2019

當我有一個新的伺服器要配置時,我有這個iptables基礎:

*filter
:INPUT DROP [0:0]
:FORWARD DROP [0:0]
:OUTPUT ACCEPT [0:0]

# Keep state.
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

# Loop device.
-A INPUT -i lo -j ACCEPT

# Allow PING from remote hosts.
-A INPUT -p icmp --icmp-type echo-request -j ACCEPT

# allow ssh port 22
-A INPUT -p tcp --dport 22 -j ACCEPT

# allow foobar public IP
-A INPUT -p tcp -s 9.8.7.6 -j ACCEPT

# Allow outgoing trafic
-A OUTPUT -p tcp -d 1.2.3.4 -j ACCEPT
-A OUTPUT -o enp8s0 -d 0.0.0.0/0 -j ACCEPT

COMMIT

我用iptable-restore < file.

問題是當我用 刷新時iptables -F,我被阻塞了。

我必須做些什麼才能避免被阻止?

一種詳細的方法是ACCEPT在刷新之前將所有策略設置為所有連接:

iptables -P INPUT    ACCEPT
iptables -P OUTPUT   ACCEPT
iptables -P FORWARD  ACCEPT

然後 :

iptables -F

如問題下方的評論所示,在刷新之前,請確保預設策略不會將您拒之門外。

另一種方法是不使用iptables -F但有另一個規則文件來恢復基本狀態。事實上,有一個單獨的iptables家庭命令,在檢查是否沒有發生這種鎖定方面是安全的。它的iptables-apply用法和用法類似iptable-restore,但請查看其man頁面以了解差異和詳細資訊。

引用自:https://unix.stackexchange.com/questions/543048