firewalld防火墙工具的使用

firewalld防火墙工具的使用

firewalld 是一种动态的防火墙管理工具,广泛用于 Linux 操作系统(如 CentOS、Fedora 和 RHEL)。它提供了一个用户友好的接口,用于配置和管理防火墙规则,支持 IPv4、IPv6、ARP 和网络桥接。

firewalld 的基本概念

  • 区域(Zones):firewalld 使用区域来定义不同的信任级别。每个区域包含一组规则,用于允许或拒绝网络流量。常见的区域包括 public、private、internal、dmz 和 trusted。

  • 服务(Services):firewalld 支持以服务的方式管理常见的网络服务(如 SSH、HTTP、HTTPS)。你可以使用服务名来快速配置相关的端口和协议。

  • 规则(Rules):可以为每个区域定义规则,包括允许的端口、IP 地址、协议等。

安装 firewalld

在大多数 Linux 发行版上,firewalld 通常默认安装。如果没有安装,可以使用以下命令进行安装:

# CentOS/RHEL
sudo yum install firewalld

# Ubuntu/Debian
sudo apt install firewalld

启动和管理 firewalld

  1. 启动 firewalld:

    sudo systemctl start firewalld
  2. 设置开机自启:

    sudo systemctl enable firewalld
  3. 检查 firewalld 状态:

    sudo systemctl status firewalld

常用命令和配置方法

以下是一些常用的 firewalld 命令和配置方法:

1. 查看当前区域和规则

  • 查看活跃的区域:

    sudo firewall-cmd --get-active-zones
  • 查看某个区域的详细信息:

    sudo firewall-cmd --zone=public --list-all

2. 区域管理

  • 设置默认区域:

    sudo firewall-cmd --set-default-zone=public
  • 添加新区域:

    sudo firewall-cmd --permanent --new-zone=myzone
  • 删除区域:

    sudo firewall-cmd --permanent --delete-zone=myzone

3. 端口管理

  • 开放端口:

    sudo firewall-cmd --zone=public --add-port=8080/tcp --permanent
  • 关闭端口:

    sudo firewall-cmd --zone=public --remove-port=8080/tcp --permanent
  • 开启端口转发:

    ## 打开端口转发,监听9736端口,并将请求转发到10.53.234.104的16379端口(转发到本机时,需要写本机地址,而不能是127.0.0.1)
    firewall-cmd --zone=public \
    --add-forward-port=port=9736:proto=tcp:toport=16379:toaddr=10.53.234.104 \
    --permanent 
  • 关闭端口转发:

    ## 移除端口转发
    firewall-cmd --zone=public \
    --remove-forward-port=port=9736:proto=tcp:toport=16379:toaddr=10.53.234.104 \
    --permanent
  • 重新加载配置(使修改生效):

    sudo firewall-cmd --reload

4. 服务管理

  • 开放服务:

    sudo firewall-cmd --zone=public --add-service=http --permanent
  • 关闭服务:

    sudo firewall-cmd --zone=public --remove-service=http --permanent
  • 查看已开启的服务:

    sudo firewall-cmd --zone=public --list-services

5. IP 地址和地址段管理

  • 允许特定 IP 地址:

    sudo firewall-cmd --zone=public --add-source=192.168.1.100 --permanent
  • 删除特定 IP 地址:

    sudo firewall-cmd --zone=public --remove-source=192.168.1.100 --permanent
  • 允许 IP 地址段:

    sudo firewall-cmd --zone=public --add-source=192.168.1.0/24 --permanent

6. 规则管理

  • 添加富规则(Rich Rules):

    sudo firewall-cmd --zone=public --add-rich-rule='rule family="ipv4" source address="192.168.1.100" accept' --permanent
  • 删除富规则:

    sudo firewall-cmd --zone=public --remove-rich-rule='rule family="ipv4" source address="192.168.1.100" accept' --permanent

总结

firewalld 是一个灵活且强大的防火墙管理工具,能够通过区域、服务和富规则等方式来简化防火墙配置。通过上述命令和配置方法,您可以轻松地管理 Linux 系统的网络流量,增强系统的安全性。


"如果文章对您有帮助,可以请作者喝杯咖啡吗?"

微信二维码

微信支付

支付宝二维码

支付宝


firewalld防火墙工具的使用
https://blog.liuzijian.com/post/2024/10/12/firewalld-firewall-tool/
作者
Liu Zijian
发布于
2024年10月12日
许可协议