温馨提示×

centos防火墙怎样配置规则

小樊
46
2026-09-18 00:26:14
栏目: 智能运维

在 CentOS 中,防火墙通常使用 firewalld(CentOS 7 及以后)。下面按常见场景说明配置方法。


一、基础操作(firewalld)

1. 查看防火墙状态

systemctl status firewalld
# 或
firewall-cmd --state

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

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

二、常用规则配置

1. 开放端口(如 80、443)

# 临时生效
firewall-cmd --add-port=80/tcp

# 永久生效
firewall-cmd --add-port=80/tcp --permanent

# 重新加载
firewall-cmd --reload

2. 关闭端口

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

3. 开放服务(已定义服务)

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

查看支持的服务:

firewall-cmd --get-services

4. 限制 IP 访问(富规则 rich rule)

允许指定 IP 访问 22 端口

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

5. 查看当前规则

firewall-cmd --list-all
firewall-cmd --list-ports
firewall-cmd --list-rich-rules

三、CentOS 6(iptables,老系统)

如果是 CentOS 6:

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

四、注意事项

  • --permanent 才永久生效
  • 改完记得 --reload
  • 云服务器还要检查安全组

如果你有具体需求(比如只允许内网、限制端口范围、Docker 环境),可以告诉我,我可以给你更精确的配置。

0