docker封禁对外端口映射

docker比linux防火墙规则优先级要高,一旦在docker里面配置了对外服务端口的话在iptable里面封不掉,需要通过下面的方法进行封禁:

这里我的宿主机IP地址是10.5.1.244,docker 内部网络ip段是默认的172.17段的,以下为命令:

注意要先DROP再ACCEPT,即先输入DROP类命令,后输入ACCEPT命令,后续输入的命令在防火墙的规则会更靠上,即更优先生效。

sudo iptables -I DOCKER-USER -p tcp ! -s 10.5.1.244 --dport 3306 -j DROP #非宿主机IP丢弃

sudo iptables -I DOCKER-USER -p tcp -s 172.17.0.0/16 --dport 3306 -j ACCEPT #docker内部ip允许访问

sudo iptables -I DOCKER-USER -p tcp ! -s 10.5.1.244 --dport 6379 -j DROP #非宿主机IP丢弃

sudo iptables -I DOCKER-USER -p tcp -s 172.17.0.0/16 --dport 6379 -j ACCEPT #docker内部ip允许访问

sudo netfilter-persistent save

sudo netfilter-persistent reload

#可以通过下面的命令查看配置结果

sudo iptables -L DOCKER-USER -n --line-numbers

Chain DOCKER-USER (1 references)

num target prot opt source destination

1 ACCEPT 6 -- 172.17.0.0/16 0.0.0.0/0 tcp dpt:7555

2 ACCEPT 6 -- 172.17.0.0/16 0.0.0.0/0 tcp dpt:8072

3 DROP 6 -- !10.5.1.244 0.0.0.0/0 tcp dpt:7555

4 DROP 6 -- !10.5.1.244 0.0.0.0/0 tcp dpt:8072

5 ACCEPT 6 -- 172.17.0.0/16 0.0.0.0/0 tcp dpt:6379

6 DROP 6 -- !10.5.1.244 0.0.0.0/0 tcp dpt:6379

7 ACCEPT 6 -- 172.17.0.0/16 0.0.0.0/0 tcp dpt:3306

8 DROP 6 -- !10.5.1.244 0.0.0.0/0 tcp dpt:3306

9 RETURN 0 -- 0.0.0.0/0 0.0.0.0/0

相关推荐
是枚小菜鸡儿吖1 小时前
把视频教程变成可复习的笔记:Docker 部署 BiliNote,自动转写与总结
笔记·docker·容器
ICollection2 小时前
4060笔记本用Docker部署ComfyUI绘图
docker·comfyui
淼澄研学9 小时前
Proliferate开源框架技术解析与Docker部署实操
docker·容器·开源
浪兎兎10 小时前
Docker 容器技术笔记
笔记·docker·容器
Zhu75811 小时前
在Docker环境离线部署最新版Harbor
运维·docker·容器
qq_113601493518 小时前
CopyEscape Docker容器逃逸(CVE-2026-17106)
运维·docker·容器
修先生18 小时前
WisQuery 一套开箱即用、可 Docker 一键部署的 智能问数 + 知识库 + 智能问答 一体化平台
运维·docker·容器
有来技术18 小时前
youlai-boot 实战:MinIO 停止维护,Docker 迁移 RustFS 完整记录
java·后端·docker
Rain的Java大神之路18 小时前
Docker搭建Redis集群完全指南
java·运维·redis·后端·docker·容器·架构