温馨提示×

centos防火墙怎样设置

小樊
45
2026-09-11 18:32:04
栏目: 智能运维

在 CentOS 中,防火墙通常指的是 firewalld(CentOS 7 及以后默认)。下面按常见场景给你说明。


一、查看防火墙状态

systemctl status firewalld

firewall-cmd --state

二、启动 / 停止 / 开机自启

# 启动
systemctl start firewalld

# 停止
systemctl stop firewalld

# 开机自启
systemctl enable firewalld

# 关闭开机自启
systemctl disable firewalld

三、常用基础操作

1. 查看已开放端口

firewall-cmd --list-ports

2. 查看已开放服务

firewall-cmd --list-services

3. 重新加载配置(修改后必须执行)

firewall-cmd --reload

四、开放 / 关闭端口(最常用)

开放端口(临时,重启失效)

firewall-cmd --add-port=80/tcp

开放端口(永久)

firewall-cmd --add-port=80/tcp --permanent
firewall-cmd --reload

关闭端口

firewall-cmd --remove-port=80/tcp --permanent
firewall-cmd --reload

五、通过“服务名”开放(推荐)

例如开放 HTTP:

firewall-cmd --add-service=http --permanent
firewall-cmd --reload

常见服务:

  • ssh
  • http
  • https
  • mysql
  • ftp

查看所有支持的服务:

firewall-cmd --get-services

六、指定 IP 访问某端口(白名单)

例如只允许 192.168.1.100 访问 3306

firewall-cmd --permanent --add-rich-rule='
rule family="ipv4"
source address="192.168.1.100"
port protocol="tcp" port="3306" accept'
firewall-cmd --reload

七、禁止某个 IP

firewall-cmd --permanent --add-rich-rule='
rule family="ipv4"
source address="192.168.1.200" reject'
firewall-cmd --reload

八、CentOS 6(iptables,老系统)

如果你是 CentOS 6:

service iptables status
vi /etc/sysconfig/iptables
service iptables restart

九、快速示例(常见需求)

✅ 开放 Web 服务:

firewall-cmd --add-service=http --permanent
firewall-cmd --add-service=https --permanent
firewall-cmd --reload

✅ 开放自定义端口(如 8080):

firewall-cmd --add-port=8080/tcp --permanent
firewall-cmd --reload

如果你能告诉我:

  • CentOS 版本(6 / 7 / 8 / Stream)
  • 想实现什么需求(开放端口 / 限制 IP / 内网访问等)

我可以给你精准命令

0