开启或关闭Linux实例中的系统防火墙

防火墙是可以帮助计算机在内部网络和外部网络之间构建一道相对隔绝的保护屏障,从而保护数据信息的一种技术。如果服务器开启了防火墙,并设置了屏蔽外界访问的规则,那么在远程连接该服务器时,可能会导致访问失败。本文主要介绍在Linux操作系统中,如何开启或关闭系统防火墙。

操作说明

Linux系统存在不同的发行版本,不同发行版本中开启或关闭系统防火墙的命令不同,请根据现场环境匹配下列发行版本的操作命令。

重要

为避免因使用管理员权限不当造成不可预期的风险,建议您使用ecs-user用户或普通用户操作。如果普通用户没有sudo权限,具体操作,请参见如何为普通用户添加sudo权限

CentOS 7/CentOS Stream 8/Red Hat 7、8/Alibaba Cloud Linux2、3

  • 查看防火墙运行状态

    系统防火墙默认为关闭状态,您可以使用此命令确认防火墙当前状态。

    sudo firewall-cmd --state
    说明
    • not running:系统防火墙为关闭状态。

    • running:系统防火墙为开启状态。

    • 出现报错-bash: firewall-cmd: command not found:表示未安装系统防火墙,若您需开启防火墙,请执行命令sudo yum install firewalld -y安装防火墙,再参考下方操作开启。

  • 开启防火墙

    sudo systemctl start firewalld

    注意:如果您希望实现在每次重开机时自动启动服务,执行如下命令,开启开机自动启动防火墙服务。

    sudo systemctl enable firewalld
  • 关闭防火墙

    sudo systemctl stop firewalld

    注意:如果您不希望实现在每次重开机时自动启动服务,执行如下命令,关闭开机自动启动防火墙服务。

    sudo systemctl disable firewalld

Ubuntu

  • 查看防火墙运行状态

    系统防火墙默认为关闭状态,您可以使用此命令确认防火墙当前状态。

    sudo ufw status
    说明

    Status: inactive:系统防火墙为关闭状态。

    Status: active:系统防火墙为开启状态。

  • 开启防火墙

    执行如下命令开启防火墙,如果Linux实例重启,防火墙仍会自动开启。

    sudo ufw enable
  • 关闭防火墙

    执行如下命令关闭防火墙,如果Linux实例重启,防火墙仍为关闭状态。

    sudo ufw disable

Debian

在Debian系统中,默认没有安装防火墙,可以通过清空防火墙策略,删除相关屏蔽规则。清空策略前,请务必备份防火墙策略。若需恢复规则,可以使用备份文件恢复防火墙策略。

  • 查看防火墙策略

    sudo iptables -L
  • 关闭防火墙:清空防火墙策略

    您可以通过清空防火墙策略,删除相关屏蔽规则,实现关闭防火墙功能。

    说明

    请替换[$Iptables]为实际防火墙策略的备份文件地址。

    1. 创建备份文件

      sudo touch [$Iptables]
    2. 备份防火墙策略

      sudo sh -c "iptables-save > [$Iptables]"
    3. 清空防火墙策略

      sudo iptables -F
  • 开启防火墙:根据备份文件恢复防火墙策略

    您可以通过恢复防火墙策略或者添加新的防护规则开启防火墙功能。

    说明

    请替换[$Iptables]为实际防火墙策略的备份文件地址。

    sudo iptables-restore < [$Iptables]