解决AnyConnection与OpenVPN冲突导致的无法直接访问工具机上的虚拟机

问题描述

  1. 因为需要在家访问公司里的工具机上的虚拟机的网络,所以我需要挂访问公司的vpn,然后挂工具机的vpn。

  2. 但是今天我挂好了这两个vpn后,发现始终无法访问虚拟机上的网络。最后发现是AnyConnect阻止了路由信息的添加,导致网络无法访问

定位步骤

  1. 重启电脑,使用如下指令删除之前的路由(避免干扰观察),并查看删除结果

route delete 172.17.0.0
route print | findstr "172"

  1. 打开AnyConnect连接公司内网,执行如上指令查看路由信息,发现此时有一条路由信息,该配置应该为登录公司VPN后推送的

  2. 打开OpenVPN登录工具机上的VPN,执行如上指令查看路由信息,发现此时有一条路由信息,不符合实际情况,这个就应该是虚拟机内网无法访问的原因,请求没有被正确路由

  3. 断开AnyConnect的连接,执行如上指令查看路由信息,期待的路由信息出现。最后定位是AnyConnect的VPN阻止了OpenVPN修改路由信息

  4. 在OpenVPN成功添加路由信息后,恢复AnyConnect连接,又可以愉快的访问工具机上的虚拟机了

相关资料

我在定位解决这个问题后,想知道这是不是AnyConnection的bug时,又发现了如下的资料:

  1. 解决Cisco AnyConnect 客户端不让改路由表的问题