映射的网络驱动器无法删除,但会显示在资源管理器中;连接到错误的服务器

映射的网络驱动器无法删除,但会显示在资源管理器中;连接到错误的服务器

这是我遇到过的最奇怪的问题。

摘要:映射的网络驱动器在 Windows 资源管理器中仍然存在,无法删除/断开连接(声称它不存在;net use 未显示任何内容;net use drive: /delete 失败)。奇怪的是,映射的驱动器在一段时间后连接,尽管它所需的 VPN 连接尚未连接。更奇怪的是,它连接到了错误的服务器,这应该是不可能的,因为映射的驱动器在没有激活 VPN 连接的情况下根本无法识别它。

细节...

我有两个映射网络驱动器。

两台服务器都通过 VPN 建立了与完全不同的服务器的连接。一台映射到 (Z:) 192.168.1.2,另一台映射到 (W:) 192.168.2.1,因为每台 VPN 服务器都为其 VPN 客户端建立了不同的范围(192.168.1.* vs 192.168.2.*)。请注意,这些不是本地计算机,而是使用 Windows Server 2012 路由和远程访问功能在 VPN 处于活动状态时显示为本地计算机的远程服务器。服务器“IT”将自身设置为 192.168.1.2,服务器“WW”将自身设置为 192.168.2.1,它们是完全不同的服务器,具有不同的 WAN 地址,尽管它们位于同一个虚拟托管中心。

当两个 VPN 都处于活动状态时,两个映射驱动器均可按预期运行。

当我重新启动客户端(Windows 7)计算机时,显然两个 VPN 都处于非活动状态,但是尽管没有活动的 VPN,其中一个驱动器(Z:) 192.168.1.2 会在一段时间后建立连接。

奇怪的是,它似乎连接到了错误的服务器“WW”而不是“IT”,我通过在资源管理器中的映射驱动器(WTF.txt)中创建一个文件并确认它已通过远程桌面登录并导航到物理文件夹在服务器上成功创建来确认这一点。

这对我来说完全没有意义。没有 VPN 处于活动状态,因此当将驱动器映射到 LAN 地址(如 192.168.1.2)时(VPN 处于非活动状态时该地址不应该存在),该映射驱动器如何不仅能够找到位于该州另一部分的远程服务器,还能与其建立连接?为什么它在被删除/断开连接后仍保留在 Windows 资源管理器中。

有趣的是,如果我激活 VPN 并使用相同的字母和相同的 LAN 地址 (192.168.1.2) 再次映射驱动器,它会建立与正确服务器的连接并在 Windows 资源管理器中再次显示为活动状态。即使我执行此操作后断开/删除它,它仍然存在.... 就像 Windows 资源管理器中嵌入了一些稳定的虫洞,将映射的驱动器链接到错误的服务器,并在我重新启动机器时不断重新出现。

答案1

我想到了。

首先,必须连接驱动器才能将其删除。这似乎是 Windows 中映射驱动器的常见问题。

其次,尽管客户端唯一活动的 VPN 是与服务器 A 建立的,但客户端之所以能够连接到服务器 B,是因为服务器 B 也使用与客户端相同的帐户建立了与服务器 A 的 VPN 连接。

该问题是一种奇怪的 VPN 地址冲突,其原因不仅是两个不同的客户端使用相同的帐户,还在于它们的连接顺序以及窗口选择的后备地址与服务器自己的环回适配器地址相冲突。

正常情况下,客户端和服务器 B 各自都有自己的用户帐户,用于拨入服务器 A 的 VPN,并且它们各自在其用户帐户的拨入选项卡中分配了不同的静态 IP,因此正常情况下客户端和服务器 B 各自都会获得自己的静态 IP,而不会发生任何冲突。

出于某种原因,我没有使用服务器 B 自己的帐户,而是使用了客户端的帐户进行连接,这基本上是我的主要用户帐户……一个简单的错误。当我看到两个客户端使用相同的用户名连接时,我在 RRAS 中注意到了这一点。我知道其中一台是我的客户端机器,但另一台已经活跃了 900 多个小时。就在那时,我意识到一定是服务器 B 连接到服务器 A,但它未能使用自己的用户帐户。所以这很有趣。大约 900 多个小时前,客户端肯定先连接,并收到正确的静态 IP:192.168.1.101。然后服务器 B 必须在客户端的 VPN 仍处于活动状态时进行连接,并且由于客户端已经使用同一个帐户登录,因此无法为其分配所选的静态 IP,因此 Windows 决定回退到静态路由范围内可用的下一个 IP 地址,该地址恰好是 192.168.1.2。因此,服务器 B 现在的 VPN IP 地址为 192.168.1.2。这没什么问题,除了……

这有问题,因为这是我分配给服务器 A 环回适配器的 IP(192.168.1.2)。这应该是我在客户端连接时通过 VPN 访问服务器 A 时使用的 IP,但现在服务器 B 认为它也是 192.168.1.2。

因此发生了无法检测到的 IP 地址冲突,这解释了奇怪的行为。也就是说,当我第一次连接到服务器 A 的 VPN 时,地址 192.168.1.2 正在路由到服务器 B,如果我只是断开连接并将驱动器重新连接到同一 IP,它会找到服务器 A。我不确定当 RRAS 客户端和 Microsoft Loopback 适配器最终分配到同一个 IP 地址时,Windows 如何决定路由到哪台计算机。

说实话,这是 Windows Server 中的一个愚蠢的错误,因为 RRAS 服务器应该知道不要分配给定范围内已被另一个适配器(环回适配器)占用的 IP 地址。也许它只跟踪 IP 并测试与它自己分配的 IP 是否冲突,并且无法知道现有适配器是否已使用允许范围内的 IP。

整个事情都是一系列奇怪的事件组合……服务器 B 在服务器 A 之后使用同一个帐户而不是自己的帐户进行连接,因为该帐户的静态 IP 已被占用,RRAS 随后愚蠢地从允许范围内为其分配了一个 IP 地址,而没有先检查冲突,最终为服务器 B 分配了与服务器 A 的环回适配器相同的 IP。然后,当客户端尝试访问该 IP 时,Windows 会首先认为它是服务器 B,但断开/重新连接到同一 IP 的映射驱动器后,就会解析为服务器 A。非常奇怪。

无论如何,我所要做的就是将允许的范围从 192.168.1.1 增加到 192.168.1.3,这样它就不会为任何客户端分配自己的静态 IP,这是不应该发生的,因为它们都被分配了自己的静态 IP,只是当它们使用同一个帐户连接时,它别无选择,只能回到允许范围内的某个范围。

相关内容