alimalinux 防火墙配置规则

一、基础环境准备

  1. 安装 Firewalld
    bashCopy Code
    sudo dnf install firewalld
  2. 启动并设置开机自启
    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 Code
    sudo 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


五、注意事项

  1. 默认策略‌:建议默认阻止所有入站流量,仅允许必要服务‌。
  2. 测试规则‌:添加规则前,建议先用 --timeout 参数测试临时规则,避免误锁服务器‌。
  3. 多网卡场景‌:使用不同区域管理不同接口的流量(如 --zone=public --add-interface=eth0)‌。

通过上述规则,可灵活适配 AlmaLinux 的防火墙需求。如需恢复默认配置,执行 sudo firewall-cmd --reload 并删除自定义规则即可‌