Gdy VPN jest aktywny, cały ruch wydaje się być tunelowany przez csctun0.
Korzystając z VirtualBox jestem w stanie skonfigurować „mostek sieciowy” do eth0, który wydaje się całkowicie ignorować manipulacje wykonane przez oprogramowanie Cisco. VirtualBox łączy się bezpośrednio z moją siecią lokalną i uzyskuje bezpośredni dostęp do lokalnych urządzeń sieciowych i Internetu.
Chcę to samo osiągnąć z kontenerami Docker, ale most Dockera wydaje się działać inaczej.
Co jest potrzebne, aby kontener Docker pomijał tunel Cisco, jak robi to VirtualBox?
Edytować: Próbowałem użyć „macvlan” i postępowałem zgodnie z instrukcjami http://hicu.be/docker-networking-macvlan-bridge-mode-configuration ale nie działa, gdy próbuję wysłać pingi do lokalnej bramy:
# docker exec -ti container0 ping -c 4 10.0.0.1
PING 10.0.0.1 (10.0.0.1) 56(84) bytes of data.
64 bytes from 10.0.0.1: Destination Host Unreachable
64 bytes from 10.0.0.1: Destination Host Unreachable
64 bytes from 10.0.0.1: Destination Host Unreachable
64 bytes from 10.0.0.1: Destination Host Unreachable
--- 10.0.0.1 ping statistics ---
4 packets transmitted, 0 packets received, 100% packet loss
źródło
Odpowiedzi:
Dlaczego nie uniemożliwisz VPN przejęciu całego połączenia? Po prostu wyłącz korzystanie z domyślnej bramy w sieci zdalnej dla połączenia VPN, a Docker powinien poprawnie działać domyślnie (przez eth0).
Dodatkowo można użyć polecenia routingu, aby dyktować trasę w różnych scenariuszach (na przykład: gdy VPN jest aktywny).
źródło