温馨提示×

centos防火墙策略如何设

小樊
39
2026-10-17 12:01:30
栏目: 智能运维

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


一、基础操作(firewalld)

1. 查看防火墙状态

systemctl status firewalld

2. 启动 / 停止 / 开机自启

systemctl start firewalld
systemctl stop firewalld
systemctl enable firewalld
systemctl disable firewalld

3. 查看当前规则

firewall-cmd --list-all

二、开放端口(最常用)

开放 TCP 端口(如 80)

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

开放 UDP 端口

firewall-cmd --add-port=53/udp --permanent
firewall-cld --reload

查看已开放端口

firewall-cmd --list-ports

三、开放服务(预定义)

例如开放 HTTP / HTTPS:

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

查看支持的服务:

firewall-cmd --get-services

四、限制 IP 访问(白名单)

允许指定 IP 访问某端口

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

拒绝某 IP

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

五、关闭某端口 / 删除规则

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

六、如果是 CentOS 6(iptables)

CentOS 6 用 iptables:

iptables -I INPUT -p tcp --dport 80 -j ACCEPT
service iptables save
service iptables restart

七、临时关闭防火墙(不推荐)

systemctl stop firewalld

如果你能告诉我:

  • CentOS 版本(6 / 7 / 8 / Stream)
  • 想实现什么策略(如:只让某 IP 访问、开放某个端口、内网互通等)

我可以给你更精确的命令示例。

0 踩