分析

Docker容器启动防火墙上的变动

  • 如果暴露本机端口,在nat表DOCKER链上增加一条规则DNAT tcp -- !<docker-network> 0.0.0.0/0 0.0.0.0/0 tcp dpt:<dest port> to:<new address>:<new port>。可以通过命令sudo iptables -t nat -nvL DOCKER查看

通过在nat表增加规则来drop掉所有访问容器暴露端口的连接

实践

iptables nat表增加规则

iptables -t nat -I DOCKER <insert line number> ! -i <docker-network> -p tcp -m tcp --dport <dest port> -j RETURN
  • insert line number必须在容器增加的规则的前边
  • 容器增加的规则可以通过sudo iptables -t nat -nvL DOCKER --line-numbers指令查看
  • 在另一台机子上telnet此端口,不通则成功
Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐