ホスト上で実行されているDockerコンテナーがあり、一部のポートがホスト上のポートにマップされています。
docker run -d -p 9009:9009 someserver
80、443、22を除いて、このマシンをインターネットからファイアウォールで保護したいと思います。
しかし、ホスト内のプロセスが9009に接続できるようにしたいのです。
Dockerがパケットをドロップするためのファイアウォールルールを完全に回避しているように見えることに少しショックを受けました。
firewalldとiptablesの両方を使用してcentos 7を試して、 80、443、および22。どういうわけか、ホストの外部からdockerポートマップコンテナ(ポート9009)にアクセスできました。私が見つけたいくつかの解決策は、Dockerのルーティングを完全に台無しにしているようです-Dockerコンテナがインターネットにアクセスできないようにするなどです。
私のシナリオは可能ですか?
これは同じ質問をしているようです: https://security.stackexchange.com/questions/66136/docker-port-forwarding-exposure
公開されたコンテナポートをローカルホストにのみバインドできるようです。
docker run -d -p 127.0.0.1:9009:9009 someserver