Centos

iptables 列表不會在重新啟動後持續存在

  • January 20, 2012

我正在嘗試通過發出以下命令在我的伺服器上將 CloudFlare 的 IP 地址列入白名單:

iptables -N whitelist
iptables -A whitelist -s 204.93.177.0/24 -j ACCEPT
iptables -A whitelist -s 199.27.128.0/21 -j ACCEPT
iptables -A whitelist -s 173.245.48.0/20 -j ACCEPT
iptables -A whitelist -s 103.22.200.0/22 -j ACCEPT
iptables -A whitelist -s 141.101.64.0/18 -j ACCEPT
iptables -A whitelist -s 108.162.192.0/18 -j ACCEPT

當我輸入:iptables -L我看到:

Chain whitelist (0 references)
target     prot opt source               destination
ACCEPT     all  --  network/24           anywhere
ACCEPT     all  --  199.27.128.0/21      anywhere
ACCEPT     all  --  173.245.48.0/20      anywhere
ACCEPT     all  --  103.22.200.0/22      anywhere
ACCEPT     all  --  141.101.64.0/18      anywhere
ACCEPT     all  --  108.162.192.0/18     anywhere

然後我通過執行重新啟動 iptables service iptables restart。但是,沒有任何改變,也沒有將這些 IP 列入白名單 :( 我錯過了什麼嗎?

重啟前需要保存配置。在 Redhat 系統上,這在 /etc/sysconfig/iptables 中。最簡單的方法是:

  • 發出你的命令
  • 執行iptables -L檢查配置
  • service iptables save
  • 執行service iptables restart以重新載入
  • 再次檢查配置iptables -L

引用自:https://serverfault.com/questions/352034