本文最后更新于 423 天前,其中的信息可能已经有所发展或是发生改变。
iptables配置docker服务端口访问限制
服务器系统为 CentOS 7
PS:CentOS 7自带iptables,但不自带iptables-services。建议需要部署一下:yum install iptables-services
过程
遇到了一个需求,需要用iptables限制一个rabbitmq
服务端口只能由指定的ip访问,安装之前的直接限制就行
执行完后使用iptables -L -n
命令可以查看当前所有的iptables规则。
但是很遗憾,并没有什么卵用,不管是别的服务器的统统都能访问。所以是为什么呢?
因为rabbitmq服务是用docker起的,docker会往系统中注册一个虚拟网卡叫docker0,访问docker服务的流量会直接被转发到这张网卡上,而因为docker0在linux系统中会被视为一张网卡,所以他的iptables规则是独有的,刚才设置的INPUT对docker服务是不生效的。
解决办法
此时执行
就可以看到DOCKER规则中新增了刚执行的规则
保存规则并重启
扩展
参考
1.https://zhuanlan.zhihu.com/p/457250110?utm_id=0
什么时候才能像你一样优秀
为啥最近你们俩的评论都进了垃圾箱