alimalinux 防火墙配置规则
一、基础环境准备
- 安装 Firewalld
bashCopy Code
sudo dnf install firewalld
- 启动并设置开机自启
bashCopy Code
sudo systemctl start firewalld sudo systemctl enable firewalld
提示:检查状态
systemctl status firewalld
或firewall-cmd --state
。
二、核心配置规则
1. 区域管理
- 查看默认区域
bashCopy Code
firewall-cmd --get-default-zone # 默认通常是 public:ml-citation{ref="3,7" data="citationList"}
- 修改默认区域
bashCopy Code
sudo firewall-cmd --set-default-zone=home --permanent
2. 端口与服务管理
- 开放 HTTP/HTTPS 服务
bashCopy Code
sudo firewall-cmd --permanent --add-service=http sudo firewall-cmd --permanent --add-service=https
- 开放自定义端口(如 8080/TCP)
bashCopy Code
sudo firewall-cmd --permanent --add-port=8080/tcp
- 移除端口或服务
bashCopy Code
sudo firewall-cmd --permanent --remove-port=8080/tcp sudo firewall-cmd --permanent --remove-service=ssh
3. 规则持久化与重载
- 保存并生效配置
bashCopy Code
sudo firewall-cmd --reload # 重载配置:ml-citation{ref="3,6" data="citationList"}
bashCopy Codesudo firewall-cmd --runtime-to-permanent # 将临时规则转为永久:ml-citation{ref="3" data="citationList"}
三、高级规则配置
1. 限制 IP 访问
- 允许特定 IP 访问 SSH 端口
bashCopy Code
sudo firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.100" service name="ssh" accept'
- 禁止 IP 段访问
bashCopy Code
sudo firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="10.0.0.0/24" reject'
2. 端口转发
- 将 80 端口流量转发到 8080
bashCopy Code
sudo firewall-cmd --permanent --add-forward-port=port=80:proto=tcp:toport=8080
四、图形化管理工具
安装 firewall-config
进行可视化操作:
bashCopy Code
sudo dnf install firewall-config
通过图形界面可直观管理区域、服务和规则37。
五、注意事项
- 默认策略:建议默认阻止所有入站流量,仅允许必要服务。
- 测试规则:添加规则前,建议先用
--timeout
参数测试临时规则,避免误锁服务器。 - 多网卡场景:使用不同区域管理不同接口的流量(如
--zone=public --add-interface=eth0
)。
通过上述规则,可灵活适配 AlmaLinux 的防火墙需求。如需恢复默认配置,执行
sudo firewall-cmd --reload
并删除自定义规则即可