游乐游手机版
首页/系统平台/文章详情

Linux防火墙设置指南 firewalld与iptables开启关闭方法

时间:2026-05-16 13:43
在CentOS 7 8 Stream以及Fedora等主流Linux发行版中,管理防火墙是系统管理员的核心任务之一。许多用户习惯使用systemctl命令来启动或停止firewalld服务,并通过firewall-cmd --state来检查其运行状态。然而,一个至关重要的细节常被忽视:当配置永久性

在CentOS 7/8/Stream以及Fedora等主流Linux发行版中,管理防火墙是系统管理员的核心任务之一。许多用户习惯使用systemctl命令来启动或停止firewalld服务,并通过firewall-cmd --state来检查其运行状态。然而,一个至关重要的细节常被忽视:当配置永久性防火墙规则时,必须遵循“先添加--permanent参数,后执行--reload重载”的正确流程。同时,务必确认服务器的网络接口(网卡)已被正确分配到相应的防火墙区域(zone),否则精心配置的规则可能完全无法生效,导致服务无法访问。

Linux防火墙开启和关闭教程 firewalld与iptables配置

firewalld 服务的启动、停止与状态深度检查

在CentOS 7及后续版本中,firewalld作为默认的动态防火墙管理器,采用了运行时配置与永久配置分离的双层架构。这意味着,简单地执行systemctl stop firewalld只会清除当前内存中的规则并停止服务进程,而存储在/etc/firewalld/目录下的配置文件则保持不变。若未禁用其开机自启,系统重启后,服务将自动恢复并加载原有的配置。

  • 要准确判断防火墙是否真正在工作,关键在于执行firewall-cmd --state并确认其返回结果为running。仅依赖systemctl status firewalld显示“active (running)”是不够的,因为可能出现规则集为空或区域绑定错误的情况。
  • 在关闭firewalld服务前,必须评估是否有其他安全应用(如fail2ban入侵防御系统)依赖其功能。这些工具通常通过firewalld的机制来动态封禁IP,贸然停止服务可能导致安全防护失效。
  • 如需永久禁用firewalld,必须执行两个步骤:首先systemctl stop firewalld停止当前服务,然后systemctl disable firewalld移除开机启动项。遗漏第二步将导致防火墙在下次重启后自动激活。

切换至 iptables 防火墙的详细步骤与注意事项

部分用户出于习惯或兼容性考虑,希望将系统防火墙切换回传统的iptables。需要注意的是,在CentOS 7/8等新版本中,通过yum安装的iptables-services包实际上是一个兼容层,其底层默认调用的是nftables框架(除非显式切换至iptables-legacy)。因此,在启用iptables服务前,务必确保firewalld已完全停止并禁用,否则两者冲突可能导致规则混乱,出现iptables -L显示为空而防火墙功能异常的局面。

  • 正确的安装命令是yum install -y iptables-services,它包含了必要的Systemd服务单元。仅安装iptables包无法实现服务管理。
  • 安装后,启用服务并设置开机启动的命令是systemctl enable iptables。仅使用iptables-save命令将规则写入/etc/sysconfig/iptables文件,并不会自动在启动时加载。
  • 通过命令行临时添加的规则(例如iptables -I INPUT -p tcp --dport 22 -j ACCEPT开放SSH端口),在重启后会丢失。必须执行service iptables saveiptables-save > /etc/sysconfig/iptables来永久保存。

firewall-cmd 开放端口的正确顺序:--permanent 与 --reload 解析

使用firewall-cmd配置端口时,理解--permanent--reload的作用与顺序是避免配置失效的关键。--permanent参数仅将规则写入磁盘的配置文件,不影响当前运行的防火墙策略;而--reload命令的作用,正是将磁盘上的永久配置加载到运行时的内核空间中。顺序错误是导致“规则已添加但端口仍无法访问”的常见原因。

  • 标准操作流程应为:首先执行firewall-cmd --permanent --add-port=80/tcp,然后执行firewall-cmd --reload使配置立即生效。
  • 一个典型的错误操作是先执行--reload,再添加规则。这样添加的规则仅存在于内存中,一旦再次重载或服务重启便会消失。
  • firewall-cmd --query-port=80/tcp命令查询的是运行时状态,而非磁盘配置。因此,即使它返回“no”,也不代表你没有将该端口的规则写入永久配置文件。
  • 在脚本中批量开放多个端口时,建议对所有操作统一使用--permanent参数,待所有规则添加完毕后,再执行一次--reload,以减少频繁重载对系统性能的影响。

iptables 与 firewalld 共存的风险与冲突排查

iptablesfirewalld本质上都是Netfilter防火墙的用户态管理工具,不应同时用于管理同一套规则表。firewalld默认使用nftables作为其后端,而新系统中的iptables命令通常是iptables-nft的符号链接。如果同时启用两者,或混用iptables-legacyfirewalld,极易造成规则互相覆盖、查询结果矛盾,甚至引发网络中断。

  • 检查当前系统使用的底层驱动:执行ls /proc/sys/net/netfilter/,若有文件列表输出,则表明nftables正在被使用;执行iptables -V,若输出信息包含“nf_tables”,则确认其运行在nft后端之上。
  • 若因特殊需求必须混用,需明确指定命令路径,例如使用/usr/sbin/iptables-legacy -L/usr/sbin/iptables-nft -L进行区分。但强烈不建议在生产环境中如此操作。
  • 在生产环境切换防火墙方案前,务必在测试环境中充分验证。除了检查命令输出,更应使用ss -tlnpnetstat -tlnp结合实际的telnetnc命令测试端口连通性。

在实际运维中,另一个极易被忽略的要点是firewalld的区域(zone)绑定。即使你正确执行了firewall-cmd --add-port=80/tcp,如果服务器的网络接口(如eth0)未被分配到正确的zone(例如默认的public区域),或者被误分配到了drop(丢弃)区域,所有流量仍将被阻止。你可以使用firewall-cmd --get-active-zones查看活跃区域,并通过firewall-cmd --zone=public --change-interface=eth0 --permanent后重载服务来修改接口的区域归属,确保防火墙策略能应用到正确的网络路径上。

来源:https://www.php.cn/faq/2455195.html
上一篇统信UOS侧边栏开启与快捷操作设置指南 下一篇Linux查看进程绝对路径的两种常用方法
本站内容用于信息整理与展示,如有侵权或内容问题请及时联系处理。

相关推荐

补充同频道和同主题内容,方便继续浏览更多相关内容。

同类最新

继续查看同栏目最近更新的文章。

更多
SysMain磁盘占用高解决方法
系统平台 · 2026-06-09

SysMain磁盘占用高解决方法

近期,不少Win10用户反馈电脑突然变得卡顿,打开任务管理器后发现CPU或磁盘占用率居高不下,而占用资源的主要进程常指向一个名为“SysMain”的服务。这究竟是什么服务?如何有效解决它带来的系统资源占用问题?本文将从根源到解决方案,为你详细解析。 SysMain磁盘占用率高解决方法 实际上,Sys

Win10拖拽文件崩溃的解决方法
系统平台 · 2026-06-09

Win10拖拽文件崩溃的解决方法

当Windows 10系统在拖拽文件时突然卡死或崩溃,确实让人十分困扰。不过别着急,这类问题通常有迹可循,借助系统自带的排查工具就能找出“元凶”。下面这个排查路径,将帮助你精准定位导致故障的文件或程序。 Win10拖拽文件卡死崩溃的解决方法 解决问题的第一步,是打开系统的“控制面板”。你可以通过在任

Win10更新关闭后仍自动开启的解决方法和步骤
系统平台 · 2026-06-09

Win10更新关闭后仍自动开启的解决方法和步骤

Windows 10系统更新究竟该关闭还是开启?这无疑是许多用户心中的困扰。一方面,系统更新能及时提供安全补丁与新功能;另一方面,偶尔出现的新Bug或更新失败,也让人十分头疼。近期,甚至有用户反映更新服务被莫名禁用,导致无法正常更新。如果你也面临类似烦恼,别担心,以下两种方法能帮你彻底掌控Windo

Win10右键多余菜单项删除教程
系统平台 · 2026-06-09

Win10右键多余菜单项删除教程

Windows 10 的鼠标右键菜单过于冗长,里面充斥着大量用不上的选项?这确实是许多用户在日常操作中常遇到的困扰。臃肿的菜单不仅影响美观,更会拖慢你的操作效率。别担心,清除这些冗余条目并不复杂,下面介绍两种主流方法,你可以根据自己的偏好选择适合的方式。 方法一:借助安全软件工具(以360为例) 对

Win10电脑登录界面电源按钮消失快速解决方法
系统平台 · 2026-06-09

Win10电脑登录界面电源按钮消失快速解决方法

在使用Windows 10时,如果发现登录界面缺少电源按钮,只能通过物理按键强制关机,这确实会带来不小的困扰。别着急,这通常并非系统故障,而是一个容易被忽略的系统设置项。今天,我们就来彻底解决这个问题,让你在登录界面也能优雅地完成关机或重启操作。 核心原理其实非常简单:系统内部有一项策略,专门控制是