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启动失败如何紧急抢救重要数据?

    物理硬盘转移法(推荐优先尝试)适用场景:硬盘未物理损坏,可拆卸工具需求:SATA/USB硬盘盒(笔记本)或备用电脑(台式机)其他可运行Linux/Windows/Mac的机器操作步骤:拆卸硬盘:笔记本:移除电池后拆底盖取出硬盘台式机:断开SATA数据线和电源线连接备用设备:通过硬盘盒转USB接入其他电脑,或直接……

    2025年7月16日
    5800
  • Linux当前活动设备如何添加?

    在Linux系统中,”当前活动设备”通常指系统正在使用或已识别的硬件设备,如USB设备、声卡、网络接口、存储设备等,动态添加这些设备并使其成为”当前活动”状态,涉及设备识别、驱动加载、配置激活等多个环节,本文将详细讲解不同类型设备的添加方法,包括基础原理、操作步骤及常见场景处理,Linux设备管理基础:核心概念……

    2025年9月26日
    2000
  • Linux vi如何打开文件?操作步骤是什么?

    在Linux系统中,vi(Visual Editor)是一款经典的文本编辑器,几乎所有的Linux发行版都默认安装,它以轻量、高效著称,是系统管理员和开发者在命令行环境下处理文本文件的首选工具之一,掌握vi如何打开文件,是使用vi的第一步,也是后续编辑操作的基础,本文将详细介绍vi打开文件的各种方式、参数选项及……

    2025年10月5日
    1300
  • Linux系统如何安装APK?需注意哪些步骤与工具问题?

    在Linux系统中安装APK文件(Android应用安装包)通常涉及不同场景,如在Linux桌面环境模拟运行Android应用、通过adb工具连接Android设备安装,或在基于Linux内核的Android设备上直接安装,以下将分场景详细介绍具体方法、步骤及注意事项,Linux桌面系统安装APK的方法Linu……

    2025年8月22日
    3900
  • 如何设置文件读写权限?

    在Linux系统中,合理分配文件权限是系统安全的核心机制之一,为用户分配读权限(Read Permission)允许用户查看文件内容或列出目录内容,同时避免未授权修改,以下是详细操作指南:理解Linux权限基础Linux权限分为三类身份:所有者(Owner):文件创建者/拥有者所属组(Group):文件关联的用……

    2025年8月8日
    3900

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信