Windows XP Windows 7 Windows 2003 Windows Vista Windows 綜合教學 Linux 系統教學
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟體教學

CentOS/RHEL iptables 防火牆管理全攻略:開放端口、保存規則、永久關閉、配置文件詳解

編輯:Linux 系統常見問題解答

iptables 是 Linux 內核 Netfilter 的用戶態管理工具。本文涵蓋臨時/永久開放端口、保存規則、查看狀態、永久關閉、配置文件結構解析與修改最佳實踐。

1. 臨時開放端口(重啟失效)

iptables -I INPUT -p tcp --dport 80 -j ACCEPT
iptables -I INPUT -p tcp --dport 22 -j ACCEPT
  • -I INPUT 插入 INPUT 鏈首部(優先匹配)
  • -A INPUT 追加至尾部

2. 保存規則永久生效

service iptables save
# 或
/etc/init.d/iptables save
# 實際寫入 /etc/sysconfig/iptables

3. 狀態查看與臨時開關

service iptables status
service iptables stop    # 臨時關閉
service iptables restart # 重新載入配置文件
iptables -L -n -v --line-numbers  # 詳細規則帶行號

4. 永久關閉防火牆

chkconfig --level 35 iptables off   # 運行級 3/5 關閉自啟
# systemd 系統:
systemctl disable iptables
systemctl stop iptables

5. 配置文件 /etc/sysconfig/iptables 結構解析

*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:RH-Firewall-1-INPUT - [0:0]

-A INPUT -j RH-Firewall-1-INPUT
-A FORWARD -j RH-Firewall-1-INPUT

# 允許本地回環
-A RH-Firewall-1-INPUT -i lo -j ACCEPT
# 允許 ICMP
-A RH-Firewall-1-INPUT -p icmp --icmp-type any -j ACCEPT
# 允許 ESP/AH (IPsec)
-A RH-Firewall-1-INPUT -p 50 -j ACCEPT
-A RH-Firewall-1-INPUT -p 51 -j ACCEPT
# 允許已建立/相關連接
-A RH-Firewall-1-INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

# 開放具體端口
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 53 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m udp -p udp --dport 53 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 443 -j ACCEPT

# 默認拒絕
-A RH-Firewall-1-INPUT -j REJECT --reject-with icmp-host-prohibited

COMMIT

6. 修改配置文件最佳實踐

  1. cp /etc/sysconfig/iptables /etc/sysconfig/iptables.bak
  2. vim /etc/sysconfig/iptables 在 COMMIT 前插入/刪除規則
  3. 保留 lo、ESTABLISHED,RELATED、SSH(22)、管理端口(VNC 5900 等)
  4. service iptables restart 重載
  5. iptables -L -n -v 驗證生效

7. 端口範圍開放

iptables -I INPUT -p tcp --dport 3000:5000 -j ACCEPT
# 配置文件寫法:
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 3000:5000 -j ACCEPT

掌握「臨時命令調試 → 配置文件固化 → 服務重載驗證」閉環,構建可審計、可版本控制的防火牆管理體系。

Copyright © Windows教程網 All Rights Reserved