当 Cisco AnyConnect 安全移动客户端提供 VPN 隧道时,使用 Docker 直接访问 eth0

当 Cisco AnyConnect 安全移动客户端提供 VPN 隧道时,使用 Docker 直接访问 eth0

当 VPN 处于活动状态时,所有流量似乎都通过 csctun0 进行隧道传输。

使用 VirtualBox,我能够设置到 eth0 的“网络桥”,这似乎完全忽略了 Cisco 软件所做的操作。VirtualBox 直接连接到我的本地网络并直接访问本地网络设备和互联网。

我想用 Docker 容器实现同样的功能,但是 Docker 桥接器似乎工作方式不同。

如何才能让 Docker 容器像 VirtualBox 一样绕过 Cisco 的隧道?

编辑: 我尝试使用“macvlan”,并按照http://hicu.be/docker-networking-macvlan-bridge-mode-configuration但是当我尝试向本地网关发送 ping 时失败:

# 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

答案1

为什么不阻止 VPN 接管整个连接?只需禁用远程网络上 VPN 连接的默认网关,Docker 应该默认正常工作(通过 eth0)。

此外,您可以使用路由命令来指示在不同场景中采用的路由(例如:当 VPN 处于活动状态时)。

相关内容