CentOS防火墙firewall-cmd实战:配置特定IP/IP段访问端口详解

centos7防火墙(firewalld、iptables) 一、firewalld和iptables netfilter/iptables是集成在linux2.4.x版本内核中的包过滤防火墙系统。 该框架可以实现数据包过滤,网络地址转换以及数据包管理功能。linux中的防火墙系统包括两个部分:netfilte和iptables。netfilte可以对本机所有流入、流出、转发的数据包进行查看、修改、丢弃、拒绝等操作。由于netfilter在内核空间中,用户通常无法接触内核和修改内核,此时需要命令行工具,一般使用iptables,firewalld等工具。使用iptab 阅读详情

1. 项目概述:为什么需要限定特定IP访问?

在CentOS服务器运维的日常里,防火墙配置是基础中的基础,但也是最容易出问题的一环。很多朋友配置完防火墙规则,比如开放了某个端口,测试时一切正常,结果服务器一重启,或者过段时间再访问,发现规则“消失”了,服务又连不上了。这种问题在 firewall-cmd 上尤其常见,因为它有两种配置模式:运行时(Runtime)和永久(Permanent)。更进阶的需求是,我们不仅想开放端口,还想精细控制——只允许某个特定的IP地址或者一个IP段来访问这个端口,其他来源一律拒绝。这不仅是安全加固的基本要求,在诸如数据库访问、管理后台、内部API接口等场景下更是刚需。

你可能会搜到很多命令,比如 firewall-cmd --add-rich-rule ,但照抄之后常常发现不生效,或者重启失效。这背后的原因在于对 firewall-cmd 的规则优先级、区域(zone)概念以及“富规则”(rich rule)的理解不够透彻。今天,我就以“限定特定的IP访问SSH服务(22端口)”和“限定IP段访问Web服务(80端口)”这两个最典型的场景为例,手把手带你走通整个流程,不仅告诉你命令怎么写,更重点解释每个参数的意义、不同命令间的区别,以及如何确保规则持久化。我会分享我在这上面踩过的坑,比如为什么直接添加规则有时会被默认规则覆盖,以及如何用最清晰的方式验证规则是否真正生效。

2. 核心概念与工具解析:理解firewall-cmd的工作逻辑

在动手敲命令之前,我们必须先理清几个关键概念。 firewall-cmd 是CentOS 7及以上版本默认的防火墙前端管理工具,其后台是 firewalld 守护进程。它和传统的 iptables 命令直接操作规则链的思路不同,引入了一套更抽象、更动态的管理模型。

2.1 区域(Zone):防火墙策略的容器

这是 firewalld 的核心概念。你可以把Zone理解为一套预设的防火墙策略模板。每个网络接口(如eth0、ens33)都会被分配到一个Zone中,从而继承该Zone的所有规则。常见的Zone有:

  • public(默认) : 在公共区域使用,仅允许选定的传入连接。新安装的CentOS,网卡通常就在这个Zone。
  • trusted : 信任所有连接,相当于临时关闭防火墙(但服务仍在运行)。
  • internal : 用于内部网络,通常比public区域信任度更高。
  • dmz : 用于非军事区(对外服务)的网络。

我们的规则都是绑定在某个Zone上的。如果你不指定Zone,命令默认就作用于当前网卡所属的Zone(通常是public)。查看当前所有Zone及接口绑定情况:

firewall-cmd --get-active-zones

2.2 运行时与永久配置:避免重启失效的关键

这是导致规则“丢失”的罪魁祸首。 firewalld 将配置分为两层:

  • 运行时配置(Runtime) : 立即生效,但重启 firewalld 服务或服务器后就会丢失。对应的命令通常不带 --permanent 参数。
  • 永久配置(Permanent) : 写入配置文件( /etc/firewalld/ ),但不会立即生效。需要重载服务或重启后,才会应用到运行时环境。对应的命令需要加上 --permanent 参数。

关键操作习惯 : 为了保证规则持久化且立即生效,一个可靠的操作顺序是:1) 添加永久规则;2) 重载防火墙配置。这可以通过一条组合命令完成: firewall-cmd --permanent [其他参数] && firewall-cmd --reload 。 --reload 操作会重新加载所有永久配置到运行时环境,而不会中断现有的已建立连接,比 --complete-reload 更安全。

2.3 富规则(Rich Rule):实现复杂控制的利器

简单的端口开放( --add-port )无法指定源地址。要实现“允许特定IP访问特定端口”,就必须使用“富规则”。富规则语法非常强大且灵活,允许你基于源/目标IP、端口、协议、动作(accept/reject/drop)、日志等元素进行精细组合。其基本结构可以理解为: rule [family="ipv4|ipv6"] [source/destination address] [port] [protocol] [action]

例如,一条规则的

桌面云虚拟机Ubuntu离线安装open-vm-tools 公司办公在桌面云中进行开发,桌面云是无法访问外网的,然后又有安装虚拟机的需求,使用VMware自带的VMware-tools安装功能失败,报错也需要联网才能解决,如果不安装VMware-tools,则虚拟机无法使用共享文件夹功能以及与本机共享剪贴板功能,非常难受,故自己研究解决如何离线安装open-vm-tools(open-vm-tools 是 VMware Tools 的开源实施)打开Ubuntu,可以在文件中看到生成的ISO文件,点开,将四个软件包复制粘贴至桌面。 阅读详情

相关推荐

CAN收发器TJA1145A休眠唤醒应用

TJA1145的唤醒工作原理主要依赖于其内部的唤醒机制和外部硬件的配合,主要涉及低功耗状态、选择性唤醒功能。TJA1145是一款CAN收发器,它支持多种工作模式,包括NormalStandbySleep等。在这些模式中,Sleep模式是最低功耗状态,而Normal模式则是最活跃的状态,其中Standby模式处于两者之间,允许一定的功能操作但功耗较低。TJA1145可以通过接收特定的唤醒源从Sleep或Standby模式唤醒到Standby或Normal模式。唤醒源的检测与处理。

radix关于mcu的博客,持续更新中... 5935

MBIST --- PATR1.Memorybist测试原理

mem bist作为现在design设计中不可或缺的DFT设计内容,越发重要。本章节主要介绍mem bist组成部分,测试的原理以及注意事项。

sinat_27691203的博客 1万+

让 AI 学会“慢思考”:MCP Sequential Thinking 深度部署与使用指南

摘要: MCP Sequential Thinking 是一种让AI具备"慢思考"能力的技术,通过动态调整思维路径解决复杂问题。本文详细介绍了在Windows、macOS和Linux系统下的部署方法,包括环境准备、配置文件修改等步骤。该技术通过"产生想法-评估需求-修正路径"的循环机制,显著提升AI在代码设计、数学证明等复杂任务中的表现。文章还提供了验证安装方法、使用示例和常见问题解答,帮助开发者解锁AI的深层思考能力。(149字)

weixin_43236925的博客 1898

声音源定位:利用YOLO与麦克风阵列定位声音来源YOLOv5、YOLOv8、YOLOv10

YOLO(You Only Look Once)是一个用于目标检测的深度学习模型。YOLO的最大特点是其通过一次前向传播即可完成多个目标的检测,速度和精度相对其他目标检测算法具有显著优势。YOLO模型的版本不断更新,从YOLOv1到YOLOv10,算法精度和速度都有了显著的提升。声音源定位是利用多个麦克风阵列收集的声音信号,通过算法计算声音源的位置。声音源定位的关键在于准确估计每个麦克风的声音到达时间,从而确定声音源的空间坐标。基于时延估计(TDOA)

YOLO 663

华为OD技术面真题 - Python开发 - 2

汇总华为OD技术面八股Python八股,高频技术真题并提供详细解答。

qq_45776114的博客 900

深入剖析Zynq AMP模式下CPU1中断响应机制:从原理到创新实践

在异构计算领域,Zynq-7000系列SoC的AMP(Asymmetric Multiprocessing)模式堪称多核编程的瑞士军刀。独立运行环境:CPU0运行Linux,CPU1运行FreeRTOS或裸机程序硬件资源独占:CPU0管理DDR,CPU1使用OCM(片上内存)中断隔离:默认所有中断路由到CPU0这种架构非常适合需要实时响应的工业控制系统——比如用CPU0处理网络通信,CPU1负责电机控制。AMP模式下中断路由的底层原理多维度性能优化技巧工业级可靠性的实现方案。

QQ_778132974的博客 484

基于MATLAB的最大重叠离散小波变换(MODWT)算法详解

最大重叠离散小波变换(Maximal Overlap Discrete Wavelet Transform, MODWT)是DWT的重要改进形式,由Percival和Walden等人在20世纪90年代系统提出并完善。MODWT通过消除下采样操作,采用样本平移不变的分解方式,解决了DWT的多个固有缺陷。MODWT的核心创新在于取消下采样环节。与DWT每级分解后对滤波输出进行二分下采样不同,MODWT在每一级都使用相同的滤波器,但通过插入零值的方式调整滤波器系数,保持每级系数数量与原始信号相同。

qq_42212808的博客 112

linux 基于debian/ubuntu AB系统适配(二)-updateEngine移植

其实A/B系统的原理很简单,大部分的工作都集中在uboot上,rootfs只是起到一个辅助的作用,但这个作用也就必不可少的。你会发现在这个其中并没有kernel的参与。

badbayyj的博客 1026

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

上一篇: 解决curl HTTPS证书验证错误:从原理到实战的完整指南
下一篇: AI智能体技能安全审计与鲁棒性增强实战指南
文明小野花
博客等级 码龄9年 63粉丝 3383原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值