Routing vom Container zu einer VM auf einem Laptop


0

Ich habe einen Docker-Daemon auf meinem Laptop und habe einen Container gestartet. Die IP des Containers ist 172.17.0.2/16.

Ich habe auch eine VM und seine IP ist 172.20.8.102/16.

Ich möchte die VM vom Container aus anpingen können. Wenn ich es versuche, hängt Ping einfach.

Sollte ich etwas zur Routentabelle des Containers oder Laptops hinzufügen?

Die Routentabelle des Containers sieht folgendermaßen aus:

root@3ab67fd10821:/# ip route
default via 172.17.0.1 dev eth0 
172.17.0.0/16 dev eth0 proto kernel scope link src 172.17.0.2

Die Routentabelle des Laptops sieht folgendermaßen aus:

[~/proj] ip route
default via 10.0.1.1 dev en0
10.0.1.0/24 dev en0  scope link
10.0.1.1/32 dev en0  scope link
10.0.1.3/32 dev en0  scope link
127.0.0.0/8 via 127.0.0.1 dev lo0
169.254.0.0/16 dev en0  scope link
169.254.0.0/16 dev en3  scope link
169.254.48.158/32 dev en3  scope link
172.17.8.0/24 dev vboxnet  scope link
172.18.8.0/24 dev vboxnet  scope link
172.20.8.0/24 dev vboxnet  scope link
192.168.65.0/24 dev vboxnet  scope link
224.0.0.0/4 dev en0  scope link
224.0.0.0/4 dev en3  scope link
255.255.255.255/32 dev en0  scope link
255.255.255.255/32 dev en3  scope link

Die Routentabelle der VM sieht folgendermaßen aus:

[core] ip route
default via 10.0.2.2 dev eth0 proto dhcp src 10.0.2.15 metric 1024 
10.0.2.0/24 dev eth0 proto kernel scope link src 10.0.2.15 
10.0.2.2 dev eth0 proto dhcp scope link src 10.0.2.15 metric 1024 
172.20.0.0/16 dev eth1 proto kernel scope link src 172.20.8.102 

Der Host sollte die Fähigkeit zur Weiterleitung haben, da der gesamte Datenverkehr über den Hostcomputer abgewickelt wird
Alex

Danke Alex, ich sehe in der Tat, dass der Host die gewünschte VM pingen kann. Aber es funktioniert nicht aus dem Container. Vielleicht ist es ein Firewall-Problem? Weißt du, wo ich das auf einem Mac suchen könnte?
Nick Lang

Versuchen Sie:sysctl -w net.inet.ip.forwarding=1
Alex
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.