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系统中,进程是程序执行的基本单位,查看和管理进程是系统运维和开发中的常见需求,本文将详细介绍多种查看特定进程的方法,涵盖基础命令、动态监控工具以及进阶技巧,帮助用户高效定位和分析进程信息,基础进程查看命令:psps(Process Status)是最常用的静态进程查看工具,用于显示当前进程的快照信息……

    2025年9月24日
    7100
  • 如何快速入睡

    在 Linux 系统中安装 Lantern(注意:您查询的 “lentern” 可能是拼写错误,正确名称应为 Lantern,一款网络代理工具)的详细步骤如下,本文提供两种主流安装方式,适用于 Ubuntu、Debian、Fedora、CentOS 等主流发行版,通过官方安装包安装(推荐)步骤 1:下载安装包访……

    2025年6月17日
    11800
  • linux如何禁用权限

    Linux中,可使用chmod命令更改文件或目录权限来禁用某些权限,如

    2025年8月10日
    8400
  • linux远程如何找到主机

    Linux 中,可通过 ssh [用户名]@[主机 IP 或域名]

    2025年8月16日
    7100
  • Linux makefile编写有哪些关键步骤和注意事项?

    Makefile是Linux/Unix环境下用于自动化构建项目的工具脚本,通过定义文件依赖关系和编译规则,简化重复的编译、链接操作,编写Makefile的核心在于明确“目标-依赖-命令”的逻辑关系,合理使用变量和函数提高可维护性,以下从基础语法到进阶技巧详细说明Makefile的编写方法,Makefile基础语……

    2025年8月24日
    8100

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信