笔者在旷视科技从事私有云平台开发,在工作中遇到了在服务器上防火墙无法阻止docker容器bridge模式下服务的问题。
背景
常见的linux防火墙方式为在iptables的INPUT链,设置白名单,端口或者ip
sudo iptables -L INPUT -nv --line
如图所示, 防火墙对于10.199.1.26, 10.122.104.147, 10.199.1.25 三个为可通行ip, 以及docker0网卡的请求时可通行的。
截屏2020-11-01 下午10.31.33.png
问题
服务器上如果docker container是以bridge模式启动,则防火墙规则失效。比如docker 启动bridge模式启动nginx,则防火墙无法阻拦。
原因
解释原因之前,先抛出一个问题,docker 运行如下命令
docker run -d -p 27111:80 nginx
是如何把服务器27111端口映射到容器内80端口的呢?
这一切还要从linux网络,以及docker 如何使用Linux
本文发布于:2024-02-04 16:05:32,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/170711245056999.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |