三二互联专业提供速度最快最稳定的美国服务器、香港服务器。中美直连,亚洲优化![ 代理登陆 ] [ 付款方式 ] [ 找回密码 ][ 电子协议责任书 ]
硬件资源保障

采用高配品牌服务器

主流强悍CPU配置

确保服务高速稳定运行

中美直连线路

中美直连亚洲优化

采用中国CN2骨干网络

保证速度飞快稳定高效

如何在CentOS9上配置防火墙?

美国、香港服务器

如何在CentOS9上配置防火墙?

06-24   来源:

 CentOS9 默认使用 firewalld,不使用 iptables,下面从基础启动、端口放行、IP 白名单、安全加固、常用排查全覆盖。

一、防火墙基础启停(必做)
bash
运行
# 1. 查看防火墙状态
systemctl status firewalld
# 2. 开机自启 + 立即启动
systemctl enable --now firewalld
# 临时关闭(不推荐长期用)
systemctl stop firewalld
# 禁止开机启动
systemctl disable firewalld
两个重要规则模式
临时规则:不加 --permanent,立即生效,重启防火墙丢失,适合测试
永久规则:加 --permanent,执行完必须 firewall-cmd --reload 才生效,永久保存
二、基础查看命令
bash
运行
# 查看默认区域(默认 public)
firewall-cmd --get-default-zone
# 查看网卡绑定的当前生效区域
firewall-cmd --get-active-zones
# 查看当前所有放行规则(端口、服务、富规则)
firewall-cmd --list-all
# 只看放行的端口
firewall-cmd --list-ports
# 只看放行的服务
firewall-cmd --list-services
# 查看所有IP白名单富规则
firewall-cmd --list-rich-rules
三、放行常用服务(推荐方式)
内置服务直接放行,不用记端口:
bash
运行
# 放行网页80、443
firewall-cmd --permanent --add-service=http
firewall-cmd --permanent --add-service=https
# 放行SSH远程(默认22)
firewall-cmd --permanent --add-service=ssh
# 重载生效
firewall-cmd --reload
四、放行自定义端口(最常用)
1. 放行单个 TCP 端口(示例:SSH 改成 2222)
bash
运行
firewall-cmd --permanent --add-port=2222/tcp
firewall-cmd --reload
2. 放行 UDP 端口
bash
运行
firewall-cmd --permanent --add-port=3390/udp
firewall-cmd --reload
3. 放行连续端口范围
bash
运行
# 放行 10000-20000 所有TCP端口
firewall-cmd --permanent --add-port=10000-20000/tcp
firewall-cmd --reload
4. 多个端口批量放行
bash
运行
firewall-cmd --permanent --add-port=8080,8888,3306/tcp
firewall-cmd --reload
5. 删除放行端口
bash
运行
firewall-cmd --permanent --remove-port=2222/tcp
firewall-cmd --reload
五、高级:IP 白名单(生产安全必备,富规则 rich-rule)
1. 只允许你本机公网 IP 访问 SSH 2222 端口(最安全)
bash
运行
# 替换为你的公网IP:112.123.45.67
firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="112.123.45.67/32" port protocol="tcp" port="2222" accept"
firewall-cmd --reload
2. 允许内网网段访问数据库 3306
bash
运行
firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="192.168.1.0/24" port protocol="tcp" port="3306" accept"
firewall-cmd --reload
3. 拒绝某个 IP 所有访问
bash
运行
firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="103.12.45.78" reject"
firewall-cmd --reload
4. 删除某条富规则
先执行 firewall-cmd --list-rich-rules 复制整条规则,把 --add-rich-rule 改成 --remove-rich-rule:
bash
运行
firewall-cmd --permanent --remove-rich-rule="rule family="ipv4" source address="112.123.45.67/32" port protocol="tcp" port="2222" accept"
firewall-cmd --reload
六、安全加固:设置默认拒绝所有入站(被攻击应急首选)
1. 将默认区域改为 drop(丢弃所有入站流量,仅允许出站)
bash
运行
# 先放行你的运维IP+SSH端口,防止自己被锁
firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="你的公网IP/32" port protocol="tcp" port="2222" accept"
# 设置默认全部拒绝
firewall-cmd --set-default-zone=drop --permanent
firewall-cmd --reload
设置后:只有你白名单 IP 能连服务器,其他所有 IP 全部拦截。
恢复默认公共区域
bash
运行
firewall-cmd --set-default-zone=public --permanent
firewall-cmd --reload
七、端口转发、IP 伪装(内网服务器上网)
bash
运行
# 开启IP伪装(内网机器通过本机上网)
firewall-cmd --permanent --add-masquerade
# 端口转发:访问本机8080转发到内网192.168.1.100:80
firewall-cmd --permanent --add-forward-port=port=8080:proto=tcp:toaddr=192.168.1.100:toport=80
firewall-cmd --reload
八、规则备份、清空、故障回滚
bash
运行
# 1. 备份当前所有规则
firewall-cmd --list-all > /tmp/firewall_bak.txt
# 2. 清空当前区域所有规则(谨慎!先放行自己IP)
firewall-cmd --permanent --remove-all-rules
firewall-cmd --reload
# 3. 临时规则保存为永久
firewall-cmd --runtime-to-permanent
九、图形化防火墙(桌面版可用)
bash
运行
# 安装图形工具
dnf install firewall-config -y
# 终端输入打开
firewall-config
十、生产环境推荐最简安全配置模板
bash
运行
# 1. 放行自己公网IP SSH高位端口
firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="你的IP/32" port protocol="tcp" port=2222 accept"
# 2. 放行网站80、443全网访问
firewall-cmd --permanent --add-service=http
firewall-cmd --permanent --add-service=https
# 3. 默认拒绝所有其他入站
firewall-cmd --set-default-zone=drop --permanent
# 4. 生效
firewall-cmd --reload
 

三二互联专业提供香港VPS,美国VPS主机,香港云服务器租用等业务香港美国到大陆CN2 GIA速度最快

上一篇:如何查看CentOS9上firewalld的详细运行日志? 下一篇:centos9系统怎么加固防御?

美国GIA服务器三二互联版权所有 WWW.250.cc 2008-2015 All Rights Reserved
三二互联 - 专业的美国C3服务器、香港vps、抗DOOS流量清洗、云备份系统、网站加速系统、美国GIA服务器和香港云服务器产品提供商
三二互联24小时在线工单系统为您提供全面、专业、周到的技术支持与服务
咨询热线:400-679-9994(免长话费)