限制网段访问服务器端口63790

bash 复制代码
firewall-cmd --permanent --add-rich-rule='rule family=ipv4 source address=113.110.178.204/10 port protocol=tcp port=63790 accept'
firewall-cmd --permanent --add-rich-rule='rule family=ipv4 source address=61.141.178.204/16 port protocol=tcp port=63790 accept'

要理解这两条 firewall-cmd命令,需从 **Firewalld 富规则(Rich Rule)**​ 的语法、参数含义,以及 Redis 场景下的作用展开分析:

一、Firewalld 富规则基础

Firewalld 是 Linux 下的防火墙管理工具,富规则(Rich Rule) ​ 是其高级功能,支持更精细的流量控制(如**源IP网段、目标端口、协议、动作(允许/拒绝)**​ 等组合条件)。

二、逐行解析第一条命令

复制代码
firewall-cmd --permanent --add-rich-rule='rule family=ipv4 source address=113.110.178.204/10 port protocol=tcp port=63790 accept'
参数/字段 含义解释
firewall-cmd Firewalld 的命令行工具,用于管理防火墙规则。
--permanent 规则永久生效 (否则重启防火墙后规则会丢失,需执行 firewall-cmd --reload重载才会临时生效)。
--add-rich-rule 添加「富规则」,用于定义复杂的访问控制逻辑。
rule family=ipv4 规则仅对 IPv4 流量 ​ 生效(若需 IPv6 则改为 family=ipv6)。
source address=113.110.178.204/10 源 IP 网段: - 113.110.178.204是网段的起始 IP ; - /10是子网掩码的简写(对应子网掩码 255.192.0.0),表示该网段包含 113.96.0.0 ~ 113.127.255.255范围内的所有 IPv4 地址。
port protocol=tcp port=63790 目标端口与协议: - protocol=tcp表示仅针对 TCP 协议; - port=63790表示 Redis 服务的端口(需确认 Redis 实际监听此端口,若为默认 6379需对应修改)。
accept 动作:允许​ 符合上述条件的流量通过防火墙。

三、逐行解析第二条命令

复制代码
复制代码
firewall-cmd --permanent --add-rich-rule='rule family=ipv4 source address=61.141.178.204/16 port protocol=tcp port=63790 accept'
参数/字段 含义解释
rule family=ipv4 同第一条,仅对 IPv4 流量生效。
source address=61.141.178.204/16 源 IP 网段: - 61.141.178.204是网段的起始 IP ; - /16是子网掩码的简写(对应子网掩码 255.255.0.0),表示该网段包含 61.141.0.0 ~ 61.141.255.255范围内的所有 IPv4 地址。
port protocol=tcp port=63790 同第一条,针对 TCP 协议的 63790端口。
accept 动作:允许​ 符合条件的流量通过。

四、结合 Redis 场景的作用

这两条命令的核心目的是:允许特定 IP 网段的机器,通过 TCP 协议访问本机的 Redis 端口(63790)

需注意以下前提(否则规则可能"无效"):

  1. Redis 端口匹配 :Redis 需实际监听 63790端口(若 Redis 配置为默认 6379,需将规则中的 63790改为 6379)。

  2. Redis 绑定网卡 :Redis 配置文件(redis.conf)中 bind指令需允许目标网段的流量(若 bind 127.0.0.1仅允许本机,即使防火墙放行,外网也无法连接)。

  3. 防火墙重载 :添加富规则后,需执行 firewall-cmd --reload使规则临时生效(--permanent仅保证"配置持久化",需重载才会真正加载)。

五、扩展:CIDR 网段的通俗理解

  • /10:子网掩码 255.192.0.0,表示 IP 前 10 位固定 ,剩余 22 位可变 → 覆盖约 419 万个 IP(113.96.0.0 ~ 113.127.255.255)。

  • /16:子网掩码 255.255.0.0,表示 IP 前 16 位固定 ,剩余 16 位可变 → 覆盖约 6.5 万个 IP(61.141.0.0 ~ 61.141.255.255)。

总结

这两条命令通过 Firewalld 富规则,精准放行了两个 IP 网段对 Redis 端口(63790)的 TCP 访问 。若要落地,需确保 Redis 自身配置(端口、bind)与防火墙规则"配合",并通过 --reload或重启使规则生效。

相关推荐
鼹鼠SDN3 小时前
没有公网 IP,如何在外面访问家里的打印机、摄像头和整个局域网?
网络·网络协议·tcp/ip
2601_962071575 小时前
【Java报错已解决】org.springframework.beans.factory.BeanCreationException
java·开发语言
小诗懂技术6 小时前
【网络通信UDP】基础 进程间不同主机的通信
运维·服务器·网络
zww89491116 小时前
酒馆预约系统开发实战:从需求分析到上线全流程指南
java·eclipse
DM今天肝到几点?7 小时前
AI 安全进入「攻防同频」:Gemini 3.8 Flash Cyber 上线、Astra 触及关键级、HiddenLayer 融资 1 亿美元
网络·人工智能·深度学习·安全·语言模型·开源·知识图谱
幼儿园蛋小黑8 小时前
TCP 并发:从原理到高并发实践
网络·网络协议·tcp/ip
zww89491119 小时前
匿名树洞系统开发实战:从需求分析到部署指南
java·eclipse
黑马程序员毕设10 小时前
基于Java的医院药品管理系统的优化设计与实现
java·开发语言·spring boot·小程序·架构·课程设计·毕设
木井巳10 小时前
【BFS/DFS 解决 FloodFill 算法】太平洋大西洋水流问题
java·算法·leetcode·深度优先·广度优先·宽度优先·推荐算法
我爱cope10 小时前
【计算机网络 | 网络层11:ICMP 协议:Ping 和 Traceroute 的底层原理】
网络·学习·计算机网络