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

相关推荐
tryCbest3 小时前
Linux使用Docker部署项目后期更新
linux·运维·docker
缘的猿7 小时前
Docker 与 K8s 网络模型全解析
docker·容器·kubernetes
运维栈记8 小时前
使用Grafana监控K8S中的异常Pod
docker·kubernetes·grafana
东城绝神10 小时前
《Linux运维总结:基于X86_64+ARM64架构CPU使用docker-compose一键离线部署consul 1.21.5容器版集群》
linux·运维·docker·架构·consul
小醉你真好11 小时前
17、Centos9 安装 1Panel
linux·docker·运维开发
insight^tkk15 小时前
【Docker】记录一次使用docker部署dify网段冲突的问题
运维·人工智能·docker·ai·容器
江湖人称小鱼哥15 小时前
WSL + Docker 网络访问详解
网络·docker·容器·wsl
韩宏伟15 小时前
使用 Loki + Promtail + Grafana 实现 Docker 容器日志采集与可视化
docker·容器·grafana
JanelSirry17 小时前
微服务是不是一定要容器化(如 Docker)?我该怎么选
docker·微服务·架构
小屁不止是运维17 小时前
k8s问题详解1:k8s集群上传文件过大导致413 Request Entity Too Large(请求文件实体过大)
docker·容器·kubernetes