在 CentOS 中,防火墙主要有两种方式:firewalld(CentOS 7 及以后推荐) 和 iptables(传统方式)。下面分别说明。
systemctl status firewalld
# 或
firewall-cmd --state
systemctl start firewalld
systemctl enable firewalld
# 开放 TCP 8080 端口(临时)
firewall-cmd --add-port=8080/tcp
# 永久生效
firewall-cmd --add-port=8080/tcp --permanent
# 重新加载规则
firewall-cmd --reload
# 开放 http 服务
firewall-cmd --add-service=http --permanent
firewall-cmd --reload
firewall-cmd --list-all
firewall-cmd --list-ports
firewall-cmd --remove-port=8080/tcp --permanent
firewall-cmd --reload
firewall-cmd --permanent --add-rich-rule='
rule family="ipv4"
source address="192.168.1.100"
port protocol="tcp" port="3306" accept'
firewall-cmd --reload
yum install iptables-services -y
systemctl stop firewalld
systemctl disable firewalld
systemctl start iptables
# 允许 8080 端口
iptables -I INPUT -p tcp --dport 8080 -j ACCEPT
# 保存规则
service iptables save
# 或
iptables-save > /etc/sysconfig/iptables
iptables -L -n
firewall-cmd --add-service=ssh --permanent
firewall-cmd --permanent --add-rich-rule='rule family=ipv4 source address=10.0.0.5 reject'
如果你能说明 CentOS 版本 和 具体需求(端口 / IP / 服务),我可以给你更精确的命令。