将主机端口绑定到 Docker 容器时,传入连接具有 Docker 主机的 IP 地址,而不是源的真实 IP

将主机端口绑定到 Docker 容器时,传入连接具有 Docker 主机的 IP 地址,而不是源的真实 IP

我在一些不同的 Docker 容器上运行一些服务。举一个简单的例子:

docker run -it -p 123:123/udp ubuntu /bin/bash

-p 123:123/udp导致所有进入我容器的连接都具有 Docker 容器的 IP 地址主机而不是源的真实 IP(我不知道是否有必要提一下我正在使用UDP协议)。

我怎样才能使传入的连接具有其真实的源 IP 地址?

答案1

这是因为 docker 默认使用 nat 进行联网。你应该以桥接模式启动 docker。请参阅docker 桥接

相关内容