![连接到 VPN 后无法通过名称查看本地网络设备](https://linux22.com/image/1618220/%E8%BF%9E%E6%8E%A5%E5%88%B0%20VPN%20%E5%90%8E%E6%97%A0%E6%B3%95%E9%80%9A%E8%BF%87%E5%90%8D%E7%A7%B0%E6%9F%A5%E7%9C%8B%E6%9C%AC%E5%9C%B0%E7%BD%91%E7%BB%9C%E8%AE%BE%E5%A4%87.png)
我有一台Windows 10
安装了VPN
客户端的机器。它是 HMA 全自动客户端,所以我犯的错误不多。
连接 VPN 后,我无法使用网络名称 MYNAS 访问我的 NAS 设备。同时,我可以通过 IP 地址访问它,它运行良好,传输速度很快。
一旦我断开与 VPN 的连接,就可以立即通过名称访问 NAS。
所以我的问题是 - 我该如何修复或者至少调试它?
谢谢!
答案1
一种解决方法是编辑本地hosts
文件,将主机名硬编码mynas
与其 IP 地址关联。
将文件复制
hosts
到C:\Windows\System32\drivers\etc\
您的桌面。使用记事本从桌面打开该文件。
在新行中,在已有内容之后/下方输入...
192.168.1.100 mynas
其中,mynas
是您当前用于访问 NAS 的主机名,而192.168.1.100
是您 NAS 的当前本地 IP 地址。
保存并关闭
hosts
文件。右键单击
hosts
桌面上已编辑的文件并选择复制。在文件管理器中导航到目录
C:\Windows\System32\drivers\etc\
将编辑后的文件粘贴到
hosts
这里并点击“是”覆盖现有文件。重启电脑然后测试。
当您尝试访问主机名时,计算机将首先检查此文件,然后,如果找不到匹配的条目,它将继续检查您的 DNS,因此通过编辑此文件,我们在某种意义上创建了硬编码的本地 DNS 条目。
请记住,hosts
每次 NAS 设备 IP 或名称发生变化时,您都必须再次手动更新该文件。
这也只会影响本地计算机,您必须在想要设置相同主机名/IP 关联的任何其他本地计算机上重复这些步骤。
答案2
首先,我想请大家注意一下 VPN 到底是什么。我假设您所说的 VPN 是指以下内容:OVPN——免费 VPN 提供商。
如果不是这样,请忽略我说的一切。
首先,VPN 的工作原理是。VPN 基本上是加密的代理服务器。
VPN 客户端(当然是在加密之后)将您的所有数据转发到 VPN 服务器,然后服务器解密并执行请求。此请求返回内容,该内容(加密后)转发回 VPN 客户端,然后您解密返回的内容并读取它。
我认为我看到的问题是你的 NAS 设备在你的当地的局域网络 (LAN)。这意味着主机名 ( mynas
) 位于您的路由器的 DNS。
这意味着您可以通过此主机名 ( ) 访问设备mynas
,只要您请求路由器对于 NAS 的 IP(为了能够处理请求,所有主机名都需要通过 DNS 转换为 IP 地址)。
只有路由器知道地球上的位置(或在本例中mynas
是互联网)在哪里。
问题
您的 VPN 服务器不会向您的路由器询问 DNS(这很正常)。相反,它会询问类似 Google 的 DNS(8.8.8.8
)。
这意味着它不会要求你的路由器访问它是DNS 数据库。
路由器是唯一知道您的 NAS 本地位置的人 (DNS)。Google 的 DNS(我假设您的 VPN 服务器正在使用它来获取 IP)向您的 VPN 服务器返回错误,说它找不到mynas
。
如何解决此问题
如果您想通过在浏览器中输入http://mynas/
或来访问 NAS ftp://mynas
,则需要注册域名mynas
。我不想告诉你,但这是不可能的。需要有后缀,例如.com
。
然而,你能你可以注册一个民众(而不是本地)域名(例如 mynas.com),以便任何 DNS(包括 Google 的)都知道在哪里找到 NAS。
太棒了!每个人都可以从任何地方(包括 VPN 服务器)找到 NAS 的 IP!
解决此问题的方法
你可能不想只为你的 NAS 获取一个域名(是吗?),这使得该选项无效(但你可以免费获得自由)
最终答案:您不应该使用 VPN 访问局域网上的某些内容。这样做毫无意义。在您自己的网络上访问 NAS 时使用 VPN 的唯一原因是:* 您想在自己的设备上隐藏您的 IP 地址(您自己登录吗?您不相信自己的隐私吗?)或 * 您想向您的 VPN 服务提供商表明您的信任 * 您希望通过互联网进行更多流量
正如您所见,这两个借口都很站不住脚 :D。(我想说的是不要使用 VPN 访问本地网络上的某些设备)
答案3
我的上一个版本没有太大帮助。当 VPN 在 Windows 上处于活动状态时,如何在 LAN 上调试名称解析:
- 不运行 VPN,ping MYNAS。您应该会收到来自 IP 的响应。
- 在 VPN 运行时,ping MYNAS。如果收到响应,则表明 Windows 已缓存 nas 的名称/地址。如果未找到主机,但仍可以通过 IP 地址 ping nas,则表明 VPN 正在阻止名称协议,可能是 netBIOS。Windows 10 网络可能不知道您正在使用 VPN。
- 通过断开 VPN 连接并再次通过名称 ping MYNAS 来验证这一点。
如果不为 nas 设置静态 IP 地址和 PC 上的 HOSTS 文件,则只能使用 DNS 服务器实现基于名称的本地网络。可能需要另一个主题来设置它。