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操作系统中,如何详细编辑文件内容的具体步骤有哪些?

    在Linux操作系统中,编辑文件内容是日常运维和开发的核心操作之一,无论是配置系统文件、编写代码还是处理文本数据,掌握多种文件编辑方法都能提升效率,本文将详细介绍Linux中常用的文件编辑方式,涵盖图形界面工具、命令行编辑器及流编辑器,帮助用户根据场景选择合适工具,图形界面编辑器:直观易用,适合新手图形界面编辑……

    2025年9月26日
    13400
  • Linux下如何检测CPU是否超频?

    在Linux系统中,检测硬件是否超频是系统维护、性能排查或稳定性分析的重要环节,超频可能通过手动调整CPU、GPU、内存等硬件的频率、电压或时序实现,虽然能提升性能,但也可能导致系统不稳定、硬件寿命缩短等问题,Linux提供了多种工具和方法来检测硬件的实际运行状态,判断是否存在超频行为,以下从CPU、GPU、内……

    2025年10月8日
    12700
  • Linux查看文件用哪些命令最专业?

    基础查看命令cat(拼接文件)作用:快速显示整个文件内容(适合小文件),常用命令: cat filename # 显示文件全部内容cat -n filename # 显示行号(包括空行)cat -b filename # 显示行号(忽略空行)场景:查看小于一屏的文件(如配置文件),风险提示:大文件会导致终端刷屏……

    2025年7月21日
    17200
  • Linux服务器如何修改自己的密码?

    在Linux服务器管理中,定期修改密码是保障系统安全的重要措施,能有效防止密码泄露或被暴力破解,无论是普通用户还是root用户,掌握正确的密码修改方法都十分必要,本文将详细介绍Linux服务器中修改自身密码的多种场景及操作步骤,包括常规修改、非交互式修改以及忘记密码时的应急处理,并补充密码策略相关注意事项,帮助……

    2025年9月28日
    15500
  • Linux如何修改用户名和密码?

    在Linux系统中,修改用户名和密码是常见的系统管理操作,通常涉及权限管理、文件配置及系统验证机制,本文将详细说明Linux环境下修改用户名和密码的具体步骤、注意事项及常见问题解决方案,帮助用户安全、高效地完成操作,Linux用户密码修改方法Linux系统的密码存储在/etc/shadow文件中,该文件仅对ro……

    2025年9月10日
    13100

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信