当docker在主机上运行时,无法从外部网络访问服务器

当docker在主机上运行时,无法从外部网络访问服务器

我有两台来自外部提供商的(虚拟)服务器,我可以通过永久 VPN 隧道从本地公司网络访问它们。我不知道网络设置的详细信息,但我可以 ping 两台服务器,并使用本地网络地址 (10.xyz) 通过 ssh 访问它们。两台服务器都安装了全新的 RHEL 7.2。我们将它们称为 server1 和 server2

我已经在 server1 上安装了 docker(来自官方 rpm repo),但是我一启动docker deamon就跟它失去了联系。我可以登录到服务器 2,然后跳转到服务器 1,一切似乎都很正常,但是我无法再从我的网络直接连接到 server1

为了再次直接连接到 server1,我需要停止 docker(作为 systemd 服务管理)并重新启动 server1。

我怀疑与某处某种防火墙存在某种冲突,但我不知道该怎么做。到目前为止,我已经刷新了 server1 上的 ip 表,并验证了防火墙没有运行,但无济于事。

有任何想法吗?

答案1

我最终意识到,使用 VPN 隧道时我所用的 IP(172.17.127.x)与 docker0 接口使用的 IP 处于同一范围内(默认为 172.17.0.0/16)。而我尝试使用 ssh 连接的其他服务器则不是这种情况。

最后,为了避免冲突,我简单地更改了 docker 守护进程的启动配置,将另一个子网(192.168.1.5/24)用于 docker0 接口,问题就解决了。

/usr/bin/dockerd --iptables=false --bip=192.168.1.5/24

相关内容