CentOS 6 使用 iptables,CentOS 7/8 預設 firewalld(底層仍為 iptables/nftables)。本文提供兩種工具的開啟、關閉、查看埠口指令。
# 查看特定埠 (如 80) lsof -i tcp:80 netstat -ntlp | grep :80 ss -ntlp | grep :80
# 開啟 80 iptables -I INPUT -p tcp --dport 80 -j ACCEPT service iptables save service iptables restart # 關閉 80 iptables -I INPUT -p tcp --dport 80 -j DROP service iptables save service iptables restart
vi /etc/sysconfig/iptables # 加入開啟規則 -A INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT # 或關閉規則 -A INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j DROP service iptables restart
/etc/init.d/iptables status
# 立即生效(重啟失效) firewall-cmd --add-port=80/tcp firewall-cmd --remove-port=80/tcp # 永久生效 firewall-cmd --permanent --add-port=80/tcp firewall-cmd --permanent --remove-port=80/tcp firewall-cmd --reload # 查看 firewall-cmd --list-all firewall-cmd --list-ports
| 服務 | 埠口 | 協定 |
|---|---|---|
| HTTP | 80 | TCP |
| HTTPS | 443 | TCP |
| SSH | 22 | TCP |
| MySQL | 3306 | TCP |
| DNS | 53 | TCP/UDP |
依據系統版本選擇對應工具,並養成「永久生效 + reload」習慣,避免重啟後規則遺失。