问题
这是我当前的设置(参见下图):在我的本地 LAN(称为 LAN1)中,我有一台名为 host2 的 Windows 10 Enterprise 笔记本电脑。在 host2 中,我运行 VMware Workstation 15 Player(15.5.1 build-15018445),它正在管理运行 Ubuntu 19.10 的 VM(称为 host1)。此外,在 LAN1 中,我还有另一台 Ubuntu 19.10 机器(一台真实机器,而不是 VM),称为 host3,我应该能够通过“host3.local”从 host2 或 host1 访问它。在 host2 上,我还安装了 Cisco AnyConnect Secure Mobility Client,我使用它来启用从 host1 或 host2 到运行在另一个 LAN(称为 LAN2)中的另一台 Linux 机器的连接。
我相信,通过阅读如何在 OSX 上为 Cisco VPN 客户端创建拆分隧道 VPN?在我的配置中,如果没有系统管理员的参与,就不可能将所有主机配置为 host1 可以同时访问 host3 和 host4。所以这不是我的问题。
当我断开 Cisco AnyConnect 连接,然后想要从 host1 连接到 host3 时,每次我都必须浏览 VM Player 上的菜单,手动从 NAT 切换到 Bridged+“复制物理连接状态”(请参阅下图中的屏幕截图)。而且,在重新连接 AnyConnect 后,我必须进行反向切换。在某些情况下(在过渡条件以下)我还必须断开并重新连接 VMware Player 上的网络适配器,才能在这两种模式之间完全切换。你可以想象,所有这些都太麻烦了,无法手动完成,反复。
我该如何简化该活动,以便每次 AnyConnect 断开或重新连接时都不必手动执行该操作?通过简化,可接受的答案是断开/重新连接 AnyConnect 后,我可以在 host2 上执行脚本或 DOS 批处理文件(可能通过 Win10 桌面上的快捷方式)或在 host1 上执行脚本或 DOS 批处理文件。
图表
NAT 条件下的详细结果
Cisco AnyConnect 安全移动客户端:已连接到 host1:
断开并重新连接之前:
- ping host3.local --> 失败:ping:host3.local:名称或服务未知
- ping 主机4:通过
断开并重新连接后:
- ping host3.local --> 失败:ping:host3.local:名称或服务未知
- ping 主机4:通过
桥接条件下的详细结果:
Cisco AnyConnect 安全移动客户端:已连接到 host1:
断开并重新连接之前:
- ping host3.local --> 失败:ping:host3.local:名称或服务未知
- ping host4 --> 失败:ping:host4:名称解析暂时失败
断开并重新连接后:
- ping host3.local --> 通过
- ping host4 --> 失败:ping:host4:名称解析暂时失败