防火墙端口以及docker访问规则链配置允许特定ip访问

项目上需要把9888端口禁止外部ip访问,应用又是通过docker部署的,所以需要配置docker访问规则链来实现

1.先配置物理机的端口访问规则

#只允许ip为10.143.16.3的地址访问本机的9888端口

firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="10.143.16.3/32" port protocol="tcp" port="9888" accept"

2.重载

firewall-cmd --reload

3.DOCKER-USER是docker设定的用户自定义访问规则链

#配置禁止访问9888端口

iptables -I DOCKER-USER -p tcp --dport 9888 -j DROP

#配置可访问9888端口的白名单

iptables -I DOCKER-USER -s 10.143.16.0/24 -p tcp --dport 9888 -j ACCEPT

#查看DOCKER-USER链规则配置情况

iptables --line -nvL DOCKER-USER

规则顺序关键 :iptables/firewalld 的规则是 "从上到下匹配",白名单需遵循 "允许规则在前,拒绝规则在后",firewalld 规则需加--permanent才会永久生效。
避坑点:不要在DOCKER链加自定义规则(易丢失),优先用DOCKER-USER链。

相关推荐
xieliyu.29 分钟前
Java算法精讲:双指针(三)
java·开发语言·算法
明夜之约44 分钟前
Spring Boot 自动装配源码
java·spring boot·后端
Leaton Lee1 小时前
Spring Boot分层架构详解:从Controller到Service再到Mapper的完整流程
java·spring boot·后端·架构
Jinkxs1 小时前
Resilience4j- 与 Spring Boot 快速集成:自动配置与基础注解使用
java·spring boot·后端
辣机小司1 小时前
【踩坑记录:Spring Boot 配置文件读取值不一致?警惕 YAML 的“八进制陷阱”与 SnakeYAML 版本之谜】
java·spring boot·后端·yaml·踩坑记录
fangdengfu1232 小时前
ES分析系统各个服务日志占用量
java·前端·elasticsearch
杨浦老苏2 小时前
开源多用户图书追踪系统LibrisLog
docker·群晖·收藏管理
云烟成雨TD2 小时前
Spring AI 1.x 系列【51】可观测性技术选型
java·人工智能·spring
星越华夏2 小时前
ESP32-CAM图像传输项目说明文档
java·后端·struts·esp32
Jinkxs3 小时前
Java 跨域14-Java 与区块链(Hyperledger)集成
java·开发语言·区块链