使用iptabels限制docker端口不生效,限制非docker容器端口可生效。
经测试,发现Docker容器创建时会自动创建iptables策略,Docker使用的iptables规则链是DOCKER-USER,所以需使用iptables对DOCKER-USER链做限制。
iptables限制Docker端口和IP配置案例
限制docker指定端口访问策略
1.1. 禁止所有IP访问docker的8888端口iptables -I DOCKER-USER -i eth0 -p tcp --dport 8888-j DROP
1.2. 允许172.17.0.1地址访问docker的8888端口iptables -I DOCKER-USER -i eth0 -s 172.17.0.1 -p tcp --dport 8888 -j ACCEPT
查询DOCKER-USER策略
iptables --line -nvL DOCKER-USER
删除DOCKER-USER策略
删除DOCKER-USER链第一条(num)规则
iptables -D DOCKER-USER 1保存DOCKER-USER策略
service iptables save
IPV6地址限制,可以配置ip6table规则,与上述iptablef规则类似;