当前位置:首页 > Linux > 正文

linux如何启动防火墙

在Linux中启动 防火墙可使用命令 sudo systemctl start firewalld,并设置开机自启: sudo systemctl enable firewalld(需先安装firewalld服务)

主流防火墙工具及启动方法

不同Linux发行版默认使用不同的防火墙工具,常见工具包括 firewalld、iptables 和 nftables,以下是它们的核心启动方法:

工具 启动命令 查看状态 设置开机自启
firewalld sudo systemctl start firewalld sudo firewall-cmd --state sudo systemctl enable firewalld
iptables sudo systemctl start iptables sudo iptables -L sudo systemctl enable iptables
nftables sudo systemctl start nftables sudo nft list ruleset sudo systemctl enable nftables

通用步骤(以firewalld为例)

  1. 检查是否安装

    若提示命令未找到(如 firewall-cmd: command not found),需先安装:

  2. 启动防火墙

    linux如何启动防火墙 第1张

    sudo systemctl start firewalld # 立即启动 sudo systemctl enable firewalld # 设置开机自启
  3. 验证状态

    linux如何启动防火墙 第2张

    linux如何启动防火墙 第3张

    sudo firewall-cmd --state # 返回 running 表示已启动 sudo systemctl status firewalld # 查看详细运行状态
  4. 配置防火墙规则

    启动防火墙后,需配置规则以允许或阻止特定流量,不同工具的操作差异较大:

    firewalld(动态管理)

    • 开放端口(如SSH的22端口): sudo firewall-cmd --permanent --add-port=22/tcp sudo firewall-cmd --reload # 应用更改
    • 删除规则: sudo firewall-cmd --permanent --remove-port=22/tcp sudo firewall-cmd --reload
    • 查看当前规则: sudo firewall-cmd --list-all

    iptables(手动配置)

    • 开放端口: sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT # 添加规则 sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT # 示例:开放HTTP sudo iptables-save > /etc/iptables/rules.v4 # 保存规则
    • 删除规则: sudo iptables -D INPUT -p tcp --dport 22 -j ACCEPT

    nftables(新一代工具)

    • 开放端口: sudo nft add table inet filter sudo nft add chain inet filter input { type filter hook input priority 0 ; } sudo nft add rule inet filter input tcp dport 22 accept


    常见问题与解决方案

    Q1:如何确认防火墙已成功启动?

    • firewalld: sudo firewall-cmd --state # 应返回 running
    • iptables: sudo iptables -L # 列出规则,若无默认规则则表示未配置

    Q2:防火墙未安装时如何安装?

    • CentOS/RHEL: sudo yum install firewalld -y
    • Debian/Ubuntu: sudo apt update sudo apt install firewalld -y


    注意事项

    1. 工具兼容性

      • firewalld 是RHEL系(CentOS、Fedora)的默认工具,支持动态管理。
      • iptables 是传统工具,需手动保存规则,适合精细化控制。
      • nftables 是新一代工具,性能更高,但配置复杂。
    2. 规则冲突:避免同时使用多种工具(如 firewalld 和 iptables),可能导致规则冲突。

    3. 通过以上步骤,可灵活选择工具并配置防火墙,建议优先使用系统默认工具(如 firewalld),以降低维护复杂度

0