我有一台运行 Cisco VPN Client 5.0.07.0290 的 Windows 7 Enterprise vm。我通过 RDP 连接到此 Windows 机器。我有一台 Linux 服务器,需要通过此 Windows 服务器上的 VPN 进行路由。尝试使用 vpnc 连接到 Linux 机器上的 VPN 服务器导致“vpnc:目标无响应”。Linux 机器可以通过端口 500 和 4500 上的 nmap 访问 VPN 服务器,因此我们知道问题不在于网络,而在于 vpnc。Windows vm 与 Linux 机器位于同一子网中。我可以通过 Linux 服务器和我的工作站访问 Windows 机器。
但是,当我启动 VPN 连接时,RDP 断开连接。Windows 防火墙已完全禁用,VPN 客户端中启用了透明隧道(UDP 上的 IPSec),并且启用了“允许本地 LAN 访问”。当我加载 Windows VM 的虚拟化控制台时,我可以确认它现在可以访问 VPN。
据我所知,发生的情况是 Cisco VPN 客户端不遵守“允许本地 LAN 访问”设置。
这是一个已知的错误吗?有人经历过通过 Windows 机器进行路由以使用 Cisco VPN 客户端吗?
答案1
尝试故障排除的几个步骤:
您可以从网络上的任何 Windows 客户端使用 VPN 吗?(或者 LAN 上的任何其他客户端;任何托管 VM。如果您正确理解您的帖子,则该设备是唯一可以通过 VPN 连接的设备。)
尝试连接到 VPN VM [从 Linux 服务器] 时,在服务器上运行以下命令以查看网络连接是否正在建立:netstat | find /N "xxxx" //其中 xxxx 是 Linux 服务器 IP
这将告诉您网络连接是否正在建立。(您实际上可以观察 SYN-ACK 握手的建立。)仅仅因为您可以在 500 和 4500 上连接并不意味着其他所需端口可能正在工作(即:10000 [UDP]、50、51 [IP])。
PS Cisco AnyConnect 在激活时会重写主机路由表,专门用于防止拆分隧道(以防止隧道被绕过)。这将需要任务管理器或批处理文件在建立 VPN 后恢复内部路由。