2017-12-21 10 views
0

컨테이너를 (정말 문제가 어느 않습니다) 내가 사용 컨테이너를 입력 만든 후 도커 컨테이너 내에서 특정 서브넷 ping을 할 수 없습니다 뿐만 아니라 내 직장 네트워크의 거의 모든 서버에 액세스 할 수 있습니다. 그러나 어떤 이유로 172.20. *. *로 시작하는 IP로 서버를 핑 (ping) 할 수 없습니다.

예를 들어, 10.0. *. *, 10.50. *. *와 같은 IP가있는 여러 서버를 사용해 보았는데 모든 것이 정상적으로 작동했습니다. 172.20으로 시작하는 서버에 연결할 수 없습니다. Mac 호스트에서이 서버를 문제없이 핑 (ping) 할 수 있습니다. Linux 컴퓨터와 Windows 컴퓨터에서 같은 것을 시도했지만 문제를 재현하지 못했습니다.

Docker가 호스트를 통해 연결을 라우팅하는 방식과 관련이 있다고 가정합니다. 그것은 도커 네트워크가 보통 172.18. *. *에 있다는 사실과 관련이있을 수 있습니다. 그러나, 나는 그것을 이해할 수 없었다.

여기 라우팅 테이블은 컨테이너 내에서의 : 도커 CE 17.09.1-CE-mac42 (21090)와 맥 OS 높은 시에라 실행

$ route 
Kernel IP routing table 
Destination  Gateway   Genmask   Flags Metric Ref Use Iface 
default   172.18.0.1  0.0.0.0   UG 0  0  0 eth0 
172.18.0.0  *    255.255.0.0  U  0  0  0 eth0 

.

어떤 일이 벌어지고 있는지 알 수 있습니까?

답변

0

어딘가에서 라우터 또는 방화벽이 차단되어야합니다. Mac에서 좋은 시작을 원한다면 traceroute를 172.20 만드십시오. .을 사용하여 해당 서버에 연결하는 경로를 확인하십시오. 네트워크가 다르므로 라우팅 문제 여야합니다. Docker는 게이트웨이 172.18.0.1을 사용하고 있기 때문에 호스트 컴퓨터의 내부 방화벽을 확인해야합니다. 지난 주에 거기에 있었어.

+0

mac에서 172.20. * *. \ * 서버까지 traceroute는 흥미로운 것을 표시하지 않습니다. 단지 기본 게이트웨이를 통과합니다. 네트워크에 방화벽이있는 경우 호스트도 해당 서버에 연결할 수 없습니까? 나는 또한 Mac의 방화벽이 꺼져 있는지 확인 했으므로 그게 문제라고 생각하지 않습니다. – MatanRubin