Linux系统中防火墙的开启与关闭操作步骤是怎样的?

Linux作为广泛使用的操作系统,其防火墙功能是保障系统安全的重要屏障,防火墙通过控制网络流量进出,防止未经授权的访问和恶意攻击,不同Linux发行版采用的防火墙工具有所不同,常见的有iptables、firewalld、ufw等,本文将详细介绍这些工具的开启与关闭方法,帮助用户根据实际需求管理防火墙状态。

linux如何启闭防火墙

iptables防火墙:传统工具的启闭操作

iptables是Linux内核集成的包过滤工具,广泛应用于CentOS 7及以下版本、RHEL等系统,它通过“表”(tables)和“链”(chains)规则控制数据包流向,核心功能包括过滤(filter)、网络地址转换(nat)等。

安装与检查服务

若系统未安装iptables,可通过以下命令安装(以CentOS为例):

yum install iptables-services -y  # CentOS/RHEL
apt-get install iptables -y       # Debian/Ubuntu(部分版本需手动安装)

安装后检查服务状态:

systemctl status iptables

临时开启/关闭(不保存重启后生效)

  • 开启防火墙
    systemctl start iptables
  • 关闭防火墙
    systemctl stop iptables

    临时操作适用于测试环境,但重启系统后会恢复原状态。

    linux如何启闭防火墙

永久开启/关闭(保存配置并重启生效)

  • 永久开启
    systemctl enable iptables  # 设置开机自启
    systemctl start iptables    # 立即启动
    service iptables save      # 保存当前规则到配置文件(/etc/sysconfig/iptables)
  • 永久关闭
    systemctl disable iptables # 禁用开机自启
    systemctl stop iptables    # 立即停止
    service iptables save      # 保存关闭状态(避免重启后自动启动)

查看防火墙状态与规则

  • 查看状态
    systemctl is-active iptables  # 显示active(运行)或inactive(停止)
    iptables -L -n                # 列出当前规则(-n不解析域名,加快速度)
  • 规则管理示例
    允许HTTP(80端口)流量:

    iptables -A INPUT -p tcp --dport 80 -j ACCEPT
    service iptables save  # 保存规则

iptables常用命令速查表

功能 命令示例 说明
启动服务(临时) systemctl start iptables 立即启动,重启后失效
停止服务(临时) systemctl stop iptables 立即停止,重启后恢复原状态
开机自启(永久) systemctl enable iptables 设置开机启动
禁用开机自启(永久) systemctl disable iptables 禁止开机启动
保存规则 service iptables save 将当前规则写入配置文件
查看规则 iptables -L -n 列出所有规则(数字形式显示IP)

firewalld防火墙:动态管理的现代工具

firewalld是CentOS 7、RHEL 7及以上版本默认的防火墙管理工具,支持动态规则更新(无需重启服务),通过“区域”(Zone)划分不同网络环境的信任级别(如public、trusted等)。

检查与启动服务

systemctl status firewalld  # 查看服务状态
systemctl start firewalld    # 启动服务

临时开启/关闭

  • 开启防火墙
    systemctl start firewalld
  • 关闭防火墙
    systemctl stop firewalld

    临时关闭后,重启系统或手动启动服务会恢复状态。

永久开启/关闭

  • 永久开启
    systemctl enable firewalld  # 开机自启
    systemctl start firewalld   # 立即启动
  • 永久关闭
    systemctl disable firewalld # 禁用开机自启
    systemctl stop firewalld    # 立即停止

规则管理与区域配置

firewalld通过firewall-cmd命令管理规则,支持添加/删除端口、服务等。

  • 查看当前区域与规则
    firewall-cmd --get-active-zones  # 查看活跃区域
    firewall-cmd --list-all          # 列出当前区域所有规则
  • 添加允许的端口(永久生效)
    firewall-cmd --add-port=8080/tcp --permanent  # 添加8080端口(TCP)
    firewall-cmd --reload                          # 重新加载规则(使永久配置生效)
  • 删除规则
    firewall-cmd --remove-port=8080/tcp --permanent
    firewall-cmd --reload
  • 切换区域(如将网卡加入trusted区域)
    firewall-cmd --zone=trusted --change-interface=eth0 --permanent

firewalld常用命令速查表

功能 命令示例 说明
启动服务(临时) systemctl start firewalld 立即启动,无需重载规则
停止服务(临时) systemctl stop firewalld 立即停止,动态规则失效
开机自启(永久) systemctl enable firewalld 设置开机启动
禁用开机自启(永久) systemctl disable firewalld 禁止开机启动
重新加载规则 firewall-cmd --reload 应用永久配置(无需重启服务)
添加端口(永久) firewall-cmd --add-port=端口号/协议 --permanent 指定端口长期开放
查看活跃区域 firewall-cmd --get-active-zones 显示当前网络接口所属区域

ufw防火墙:Ubuntu/Debian的简化工具

ufw(Uncomplicated Firewall)是Ubuntu、Debian等发行版提供的简化防火墙工具,底层基于iptables,但命令更直观,适合新手使用。

linux如何启闭防火墙

安装与启用

sudo apt install ufw -y  # 安装ufw(Ubuntu通常已预装)
sudo ufw enable          # 启用防火墙(首次启用会提示“Command may disrupt existing ssh connections”,选择y继续)

开启/关闭防火墙

  • 开启
    sudo ufw enable
  • 关闭
    sudo ufw disable
  • 查看状态
    sudo ufw status

规则管理

  • 允许特定端口
    sudo ufw allow 22/tcp    # 允许SSH(22端口)
    sudo ufw allow http     # 允许HTTP(80端口,协议名自动识别)
  • 拒绝流量
    sudo ufw deny 8080/tcp   # 拒绝8080端口
  • 删除规则
    sudo ufw delete allow 22/tcp  # 删除已添加的22端口允许规则
  • 启用/禁用日志
    sudo uw logging on   # 启用日志记录
    sudo ufw logging off # 禁用日志记录

ufw常用命令速查表

功能 命令示例 说明
启用防火墙 sudo ufw enable 开启并设置开机自启
禁用防火墙 sudo ufw disable 关闭并取消开机自启
查看状态 sudo ufw status 显示规则与防火墙状态
允许端口/服务 sudo ufw allow 80/tcp 允许指定端口或服务(如http)
拒绝端口/服务 sudo ufw deny 22 拒绝指定端口或服务(如ssh)
删除规则 sudo ufw delete allow 80 根据规则内容删除(需与添加时一致)

注意事项

  1. 临时与永久操作的区别:临时操作(如systemctl stop)仅对当前会话有效,重启系统后恢复;永久操作(如enable--permanent)会修改服务配置,确保重启后状态一致。
  2. 安全风险:生产环境不建议关闭防火墙,若需临时关闭(如安装软件),操作后应尽快重新开启,关闭前建议备份规则(如iptables的iptables-save > backup.rules)。
  3. 规则优先级:iptables中,规则的匹配顺序从上到下,一旦匹配即执行对应动作(ACCEPT/DROP),因此规则顺序至关重要;firewalld和ufw通过区域/策略简化了优先级管理。

相关问答FAQs

Q1:为什么使用systemctl stop iptables关闭防火墙后,重启系统防火墙又开启了?
A:这是因为systemctl stop仅临时停止服务,而防火墙服务可能被设置为开机自启(通过systemctl enable iptables),若需永久关闭,需执行systemctl disable iptables(禁用开机自启)并保存规则(service iptables save),确保重启后不会自动启动。

Q2:如何查看Linux防火墙当前允许的端口规则?
A:根据不同防火墙工具,命令如下:

  • iptablessudo iptables -L -n --line-numbers--line-numbers可显示规则序号,方便删除)
  • firewalldsudo firewall-cmd --list-all(显示当前区域的所有规则,包括开放端口)
  • ufwsudo ufw status numberednumbered参数为规则编号,便于管理)

原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/24721.html

(0)
酷番叔酷番叔
上一篇 2025年9月17日 13:45
下一篇 2025年9月17日 14:06

相关推荐

  • 如何在Linux环境下用C语言编写程序代码?

    在Linux环境下进行C语言程序开发,是许多开发者和学习者的首选,这得益于Linux系统对开源工具链的完美支持以及强大的命令行环境,整个过程从环境搭建到代码编写、编译、调试,形成了一套完整的流程,下面将详细介绍每个环节的具体操作和注意事项,开发环境准备在Linux下编写C语言程序,首先需要确保系统安装了必要的工……

    2025年9月21日
    5300
  • 如何在Linux系统中修改文件与目录权限的详细步骤有哪些?

    在Linux系统中,文件和目录权限是保障系统安全的核心机制,通过控制不同用户对资源的访问权限,避免未授权操作,修改权限主要涉及chmod、chown和chgrp三个命令,下面详细介绍其使用方法和注意事项,Linux权限的基本概念Linux中的权限分为三类:文件所有者(User)、所属组(Group) 和 其他用……

    2025年9月21日
    5500
  • linux 如何生成so文件

    Linux中,使用gcc编译C/C++代码并生成共享库(.

    2025年8月16日
    5400
  • Linux网络连接工具有哪些?常用工具及使用方法是什么?

    Linux作为开源操作系统,其网络连接工具丰富多样,涵盖了从基础网络配置、连通性测试到高级流量监控、安全连接等全场景需求,这些工具既有命令行形式的高效操作,也有图形化界面的便捷管理,能够满足不同用户的使用习惯,以下将从命令行工具、图形化工具、诊断监控工具及配置管理工具四个维度,详细介绍Linux中常用的网络连接……

    2025年9月19日
    4500
  • 如何轻松添加单个IP?

    在Linux系统中添加IP地址是网络管理的基础操作,适用于服务器负载均衡、多站点托管或故障转移等场景,以下是详细方法,涵盖临时与永久配置,适用于主流发行版(如Ubuntu、CentOS),操作需root权限,建议提前备份配置文件,临时添加IP(重启失效)通过ip命令即时生效,适合测试环境,# 添加IP范围(如虚……

    2025年7月26日
    8000

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信