
# Linux云服务器怎样开启或关闭防火墙、添加例外端口？
#### 操作场景
本节操作指导用户开启或关闭Linux操作系统云服务器的防火墙，以及防火墙添加例外端口的操作。
![](https://support.huaweicloud.com/trouble-ecs/public_sys-resources/caution_3.0-zh-cn.png)
防火墙开启和设置安全组是对云服务器的双重保护，如果选择关闭防火墙或添加例外端口，建议安全组谨慎开放端口。
#### 开启或关闭防火墙
根据操作系统不同，分别执行以下命令开启或关闭防火墙。
| 操作系统     | 开启                                    | 关闭                                   | 云运维中心                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
|:---|:---|:---|:---|
| CentOS 6 | **service iptables start**            | **service iptables stop**            | 1. 登录管理控制台。  2. 打开[HWC.ECS.OSOps-switch-linux-firewall.sh](https://console.huaweicloud.com/coc/#/console/automatic-om/script/common/SC2024052200000005dd50344/detail)脚本，获取脚本内容。   说明： 也可在云运维中心[HWC.ECS.OSOps-switch-windows-firewall.bat](https://console.huaweicloud.com/coc/#/console/automatic-om/script/common/SC2024052200000005dd50344/execute)的执行脚本页面设置参数后，直接运行。 |
| CentOS 7 | **systemctl start firewalld.service** | **systemctl stop firewalld.service** | 1. 登录管理控制台。  2. 打开[HWC.ECS.OSOps-switch-linux-firewall.sh](https://console.huaweicloud.com/coc/#/console/automatic-om/script/common/SC2024052200000005dd50344/detail)脚本，获取脚本内容。   说明： 也可在云运维中心[HWC.ECS.OSOps-switch-windows-firewall.bat](https://console.huaweicloud.com/coc/#/console/automatic-om/script/common/SC2024052200000005dd50344/execute)的执行脚本页面设置参数后，直接运行。 |
| Ubuntu   | **ufw enable**                        | **ufw disable**                      | 1. 登录管理控制台。  2. 打开[HWC.ECS.OSOps-switch-linux-firewall.sh](https://console.huaweicloud.com/coc/#/console/automatic-om/script/common/SC2024052200000005dd50344/detail)脚本，获取脚本内容。   说明： 也可在云运维中心[HWC.ECS.OSOps-switch-windows-firewall.bat](https://console.huaweicloud.com/coc/#/console/automatic-om/script/common/SC2024052200000005dd50344/execute)的执行脚本页面设置参数后，直接运行。 |
| Debian   | **/etc/init.d/iptables start**        | **/etc/init.d/iptables stop**        | 1. 登录管理控制台。  2. 打开[HWC.ECS.OSOps-switch-linux-firewall.sh](https://console.huaweicloud.com/coc/#/console/automatic-om/script/common/SC2024052200000005dd50344/detail)脚本，获取脚本内容。   说明： 也可在云运维中心[HWC.ECS.OSOps-switch-windows-firewall.bat](https://console.huaweicloud.com/coc/#/console/automatic-om/script/common/SC2024052200000005dd50344/execute)的执行脚本页面设置参数后，直接运行。 |
   
#### 防火墙添加例外端口
- CentOS 6添加防火墙例外端口。
  1. 以添加23端口为例，执行以下命令，添加防火墙例外端口：tcp协议23端口。 **iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 23 -j ACCEPT**
     
  
  2. 保存新配置。 **service iptables save**
     
  
  3. （可选）设置防火墙开机自启动。
     **chkconfig iptables on**
     ![](https://support.huaweicloud.com/trouble-ecs/public_sys-resources/note_3.0-zh-cn.png)
     - 可执行以下命令关闭防火墙开机自启动。 **chkconfig iptables off**
       
     
     - CentOS 6启动防火墙时可能会出现"iptables"no config file"错误 ，原因是未找到配置文件iptables。解决方法如下：
       1. 新建一条规则。 **iptables -P OUTPUT ACCEPT**
          
       
       2. 保存配置。 **service iptables save**
          
       
       3. 再次启动防火墙。 **service iptables start**
          
        
       
   

- 以CentOS 7添加防火墙例外端口及防火墙常用操作。
  1. 查看防火墙状态。 **systemctl status firewalld**
     或
     **firewall-cmd --state**
     
  
  2. 如果防火墙关闭可以执行以下命令开启。 **systemctl start firewalld**
     如果开启命令执行后提示"Failed to start firewalld.service: Unit is masked."请执行以下命令后再重新执行开启防火墙的命令。**systemctl unmask firewalld**
     
  
  3. 重新检查防火墙状态是否打开。 **firewall-cmd --state**
     回显信息：
     ```
     [root@ecs-centos7 ~]# firewall-cmd --state
     running
     ```
     
  
  4. 以添加23端口为例，执行以下命令，添加防火墙例外端口：tcp协议23端口。 **firewall-cmd --zone=public --add-port=23/tcp --permanent**
     回显信息如下说明设置成功：
     ```
     [root@ecs-centos7 ~]# firewall-cmd --zone=public --add-port=23/tcp --permanent
     success
     ```
     
  
  5. 重新加载策略配置，使新配置生效。 **firewall-cmd --reload**
     
  
  6. 可以执行以下命令查看开启的所有端口。 **firewall-cmd --list-ports**
     ```
     [root@ecs-centos7 ~]# firewall-cmd --list-ports
     23/tcp
     ```
     
  
  7. （可选）设置防火墙开机自启动。 **systemctl enable firewalld.service**
     查看防火墙设置开机自启是否成功。
     **systemctl is-enabled firewalld.service;echo $?**
     回显信息如下说明已设置成功：
     ```
     [root@ecs-centos7 ~]# systemctl is-enabled firewalld.service;echo $?
     enabled
     0
     ```
     ![](https://support.huaweicloud.com/trouble-ecs/public_sys-resources/note_3.0-zh-cn.png)
     可执行以下命令关闭防火墙开机自启动。
     **systemctl disable firewalld.service**
     
   
 
#### 相关链接
- [远程连接Linux云服务器报错：read: Connection reset by peer](https://support.huaweicloud.com/trouble-ecs/ecs_trouble_0529.html)
 
