iptables禁用docker暴露的端口

分析

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此端口,不通則成功
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章