新裝 CentOS 默認僅開放 22 端口,部署 Nginx/Tomcat 後需手動開放 Web 端口。本文記錄修改 /etc/sysconfig/iptables 開放 80/8080、端口範圍、驗證生效的標準化流程。
iptables -L -n # 無 80/8080 ACCEPT 規則
vim /etc/sysconfig/iptables # 在 COMMIT 前插入: -A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT -A INPUT -m state --state NEW -m tcp -p tcp --dport 8080 -j ACCEPT # 或端口範圍: -A INPUT -m state --state NEW -m tcp -p tcp --dport 3000:5000 -j ACCEPT
service iptables restart # 或 /etc/init.d/iptables restart
iptables -L -n -v --line-numbers | grep -E '80|8080' # 應見 ACCEPT tcp dpt:80 / dpt:8080
| 操作 | SysVinit (CentOS 6) | systemd (CentOS 7/8) |
|---|---|---|
| 立即啟動 | service iptables start | systemctl start iptables |
| 立即關閉 | service iptables stop | systemctl stop iptables |
| 開機自啟 | chkconfig iptables on | systemctl enable iptables |
| 開機不啟動 | chkconfig iptables off | systemctl disable iptables |
firewall-cmd --permanent --add-port=80/tcp firewall-cmd --permanent --add-port=8080/tcp firewall-cmd --reload firewall-cmd --list-ports
按發行版選擇 iptables 或 firewalld,遵循「配置文件/命令修改 → 重載 → 驗證」三步走,確保端口策略準確生效。