情况:我有一个服务在docker容器中运行,该容器托管在DSM软件包管理器中提供的官方Synology docker软件包中。此服务需要http-连接到另一个服务,该服务未在docker中运行,但恰好托管在同一Synology主机(相同的LAN IP地址)上。与服务的http连接持续超时。
操作:对此进行调查,发现我可以从容器ping我LAN上的任何其他IP(例如192.168.1.4),但可以ping到容器的主机IP(192.168.1.2)超时。我的防火墙启用了ICMP。
问题:为什么容器无法成功ping通主机IP?
示例:以下简单示例概述了问题:
root@synology# docker run --name test -ti ubuntu /usr/bin/env sh
# apt-get update
[...]
# apt-get install iputils-ping
[...]
# ping 192.168.1.4
PING 192.168.1.4 (192.168.1.4) 56(84) bytes of data.
64 bytes from 192.168.1.4: icmp_seq=1 ttl=63 time=0.309 ms
64 bytes from 192.168.1.4: icmp_seq=2 ttl=63 time=0.420 ms
64 bytes from 192.168.1.4: icmp_seq=3 ttl=63 time=0.316 ms
^C
--- 192.168.1.4 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2001ms
rtt min/avg/max/mdev = 0.309/0.348/0.420/0.050 ms
# ping 192.168.1.2
PING 192.168.1.2 (192.168.1.2) 56(84) bytes of data.
^C
--- 192.168.1.2 ping statistics ---
5 packets transmitted, 0 received, 100% packet loss, time 3999ms
# exit
我尝试过的事情:
root@synology# ping 192.168.1.2
PING 192.168.1.2 (192.168.1.2) 56(84) bytes of data.
64 bytes from 192.168.1.2: icmp_seq=1 ttl=64 time=0.044 ms
64 bytes from 192.168.1.2: icmp_seq=2 ttl=64 time=0.023 ms
^C
--- 192.168.1.2 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 999ms
rtt min/avg/max/mdev = 0.023/0.033/0.044/0.012 ms
d:\>ipconfig
[...]
Ethernet adapter Ethernet:
Connection-specific DNS Suffix . : home
Link-local IPv6 Address . . . . . : [...]
IPv4 Address. . . . . . . . . . . : 192.168.1.101
Subnet Mask . . . . . . . . . . . : 255.255.255.0
Default Gateway . . . . . . . . . : 192.168.1.1
[...]
d:\>docker run --name test -ti ubuntu /usr/bin/env sh
[...]
# whoami
root
# apt-get update
[...]
# apt-get install iputils-ping
[...]
# ping 192.168.1.101
PING 192.168.1.101 (192.168.1.101) 56(84) bytes of data.
64 bytes from 192.168.1.101: icmp_seq=1 ttl=37 time=0.627 ms
64 bytes from 192.168.1.101: icmp_seq=2 ttl=37 time=2.51 ms
64 bytes from 192.168.1.101: icmp_seq=3 ttl=37 time=1.51 ms
^C
--- 192.168.1.101 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2041ms
rtt min/avg/max/mdev = 0.627/1.548/2.509/0.768 ms
# exit
172.17.0.0/16
,因此与LAN子网没有冲突。我还检查了与其他容器的冲突。我没有对Synology docker软件包进行任何特殊调整,几乎所有东西都是开箱即用的(除了我在那里安装的东西)。我不使用,甚至尝试在包装盒上配置群集或Kubernetes。只是泊坞窗。
我处于机智的尽头。为什么我不能ping /连接到主机IP?
答案 0 :(得分:0)
我的新Synology遇到了完全相同的问题,在寻找解决方案时,我遇到了这个问题。幸运的是,我可以解决系统上的问题,这只是一个勾号,我意外地启用了多个网关。 此设置位于“控制面板”>“网络”>“高级设置”
中只需取消选中即可在我的系统上解决该问题