Iptables
如何更好地控制 docker 在 iptables 中打開哪些埠?
我正在使用 UFW 來設置我的防火牆規則。
但是 docker 在 iptables 中不斷覆蓋它們,打開所有從容器映射到主機的埠。
我只想從外部訪問 docker 容器中的兩個埠,但阻止訪問其他 docker 容器埠並只允許它們訪問 localhost(在 ssh 隧道之後)。
除了 iptables=false 之外的任何解決方案?
簡單的答案是跳過任何 iptables 更改並將需要從 localhost 訪問的埠發佈到僅環回介面。例如
docker run -p 127.0.0.1:2222:22 -d your_ssh_image
這只會將埠 2222 發佈到 127.0.0.1 介面,而不是所有介面 (0.0.0.0)。
如果您確實需要以影響 docker 容器的方式修改 iptables 規則,請使用 docker記錄
DOCKER-USER
的表格,例如:iptables -I DOCKER-USER -p tcp -m tcp --dport 2222 ! -s 192.168.1.1 -j DROP