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)
酷番叔酷番叔
上一篇 3小时前
下一篇 2小时前

相关推荐

  • linux没有浏览器如何卸载不了

    nux下若没有浏览器,可通过终端使用包管理工具(如apt、

    2025年8月16日
    1800
  • Linux下安装GCC的具体步骤是什么?

    在Linux系统中,GCC(GNU Compiler Collection)是开发C、C++、Objective-C等程序的核心工具,广泛用于编译源代码生成可执行文件,无论是系统编程、应用开发还是学习编程语言,安装GCC都是Linux环境配置的基础步骤,不同Linux发行版因包管理器差异,安装GCC的命令略有不……

    2025年8月26日
    1600
  • 如何快速更新系统并安装Subversion和Apache模块?

    在Linux系统上搭建SVN(Subversion)服务器是管理代码版本控制的可靠方案,以下为详细操作流程,基于Ubuntu/CentOS等主流发行版(以Ubuntu为例),所有步骤需root权限执行:安装必要组件sudo apt install subversion libapache2-mod-svn ap……

    2025年7月7日
    3400
  • linux命令如何查看dns

    `cat /etc/resolv.

    2025年8月18日
    1800
  • Linux无法识别U盘?解决方法大全

    U盘识别原理当U盘插入Linux系统时:内核检测:内核通过udev服务自动识别USB设备,加载驱动(如usb-storage),挂载点创建:系统通常将U盘挂载到/media/用户名/或/run/media/用户名/目录,文件系统支持:Linux支持FAT32/NTFS/exFAT等常见格式,若无法识别需额外工具……

    2025年7月17日
    2600

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信