我們在使用Docker的服務器上運行的一些服務試圖連接到私有IP地址(10.0.0.0/8,192.0.0.0/16,172.16.0.0/12 ,100.64.0.0/10)。阻止從Docker容器到私有IP的傳出連接
此行爲很正常,但我們的服務器提供商檢測到此流量並向我們發送警報。
我們只想停止傳出流量,而不是使用iptables傳入。
這是我們的當前設置:
-A OUTPUT -d 192.168.0.0/16 -m owner --uid-owner `id -u dockeruser` -j REJECT --reject-with icmp-port-unreachable
-A OUTPUT -d 100.64.0.0/10 -m owner --uid-owner `id -u dockeruser` -j REJECT --reject-with icmp-port-unreachable
-A OUTPUT -d 172.16.0.0/12 -m owner --uid-owner `id -u dockeruser` -j REJECT --reject-with icmp-port-unreachable
-A OUTPUT -d 10.0.0.0/8 -m owner --uid-owner `id -u dockeruser` -j REJECT --reject-with icmp-port-unreachable
然而,這似乎並沒有工作,因爲碼頭工人創建以下規則:
Chain FORWARD (policy ACCEPT)
target prot opt source destination
DOCKER-ISOLATION all -- anywhere anywhere
DOCKER all -- anywhere anywhere
對於服務:
Chain DOCKER (1 references)
target prot opt source destination
ACCEPT tcp -- anywhere 172.17.0.2 tcp dpt:1234
ACCEPT tcp -- anywhere 172.17.0.4 tcp dpt:1234
最後:
Chain DOCKER-ISOLATION (1 references)
target prot opt source destination
RETURN all -- anywhere anywhere
任何反饋意見。
我不是iptables專家,但是您可以通過在啓動守護進程時將'--iptables = false'作爲標誌來阻止Docker修改您的iptables。 – johnharris85
感謝您的建議,但我們希望Docker添加它自己的防火牆規則 –
全部或全部atm afaik。 – johnharris85