我想在 Windows 10 上使用 openvpn 和 openconnect 建立 2 个 vpn 连接。openvpn 连接用于通过充当虚拟交换机的 VPS(虚拟专用服务器)与我的远程 PC 保持隧道。openconnect 连接用于绕过我的所有互联网流量。单独使用它们时一切都正常。但是当我首先运行 openvpn 成功建立隧道,然后运行 openconnect 时。openconnect 总是失败,日志中出现此错误:
2017-12-09 15:58:10 | 3e54 | Failed to open \.\Global{F8041029-39C6-456D-9C4B-565CB72F8167}.tap
2017-12-09 15:58:10 | 1e40 | Disconnected
openconnect 似乎想要使用 openvpn 已经使用的相同 TAP 设备。因此我按照这篇文章的建议安装了更多的 TAP 设备https://stackoverflow.com/questions/21210071/how-to-create-a-2nd-tap-adapter-for-openvpn-client-on-win7/21210158。但是 openconnect 似乎总是使用与 openvpn 相同的 TAP 设备,尽管那里有一些未使用的 TAP 设备。有人有办法解决这个问题吗?
openvpn 的版本是“Openvpn 2.3.11”和“Openvpn GUI v10”
openconnect 的版本是“openconnect v7.08”和“openconnect GUI v1.5.1”
答案1
我已经通过以下方式解决了这个问题:
- 首先运行 Openconnect,它将连接服务器并建立 vpn 连接来处理所有互联网流量。
向 OpenVPN 服务器添加静态路由,如下所示:
路由添加 xx.xx.xx.xx 掩码 255.255.255.255 192.168.1.1
连接 OpenVPN。
我认为以上步骤可以解决问题,因为Openconnect在遇到第一个TAP设备已被其他进程使用的错误时会失败,而OpenVPN更SMART,当第一个TAP设备不可用时会尝试下一个TAP设备进行连接,以下是Openvpn的日志:
2017 年 12 月 09 日星期六 19:14:07 CreateFile 在 TAP 设备上失败:\.\Global{F8041029-39C6-456D-9C4B-565CB72F8167}.tap
2017年12月09日星期六 19:14:07 TAP-WIN32 设备[以太网 4] 打开:\.\Global{D9022776-41C4-413E-8611-703510DC3D98}.tap