连接到 VPN 时无法连接到本地 Sql Server

连接到 VPN 时无法连接到本地 Sql Server

我们办公室里有一台 SQL Server,我经常连接它。没有问题。

我们现在有一个客户,我们需要使用 Windows VPN 软件连接到其 VPN。但是当我连接到 VPN 时,我无法再连接到我们的本地 SQL 服务器。

我已确保 VPN 连接的“在远程网络上使用默认网关”复选框对于 IPv4 和 IPv6 均已关闭,因此我应该能够访问我的本地 LAN 资源。我知道这至少部分可行,因为我可以通过 RDP 访问我们的本地服务器。

但是出于某种原因,我无法通过 Sql Server Manager 或 Sql Delta 连接到我们的本地 Sql Server。我尝试通过 DNS 名称和 IP 地址进行连接,无论是否,1433在终端。

如果按名称而不按端口,我会收到常见的“无法找到网络资源,请确保已启用远程连接”消息。当我尝试按 IP 或按名称和端口进行操作时,我会收到以下错误:

在此处输入图片描述

有人能告诉我如何解决这个问题吗?我正在尝试进行设置,以便当我们需要推动更改时,我可以使用 Sql Delta 生成更改脚本并快速完成,而不必每次都备份/压缩/复制/解压缩/恢复整个数据库。

我正在使用 Windows 8。谢谢!

根据要求,这是我的路线表...

C:\>route print
===========================================================================
Interface List
 35...........................FBS
 19...0c 60 76 37 fd 80 ......Microsoft Hosted Network Virtual Adapter
 13...00 26 b9 6f d3 84 ......NVIDIA nForce Networking Controller
 12...0c 60 76 37 fd 80 ......Dell Wireless 1510 Wireless-N WLAN Mini-Card
  1...........................Software Loopback Interface 1
 15...00 00 00 00 00 00 00 e0 Microsoft ISATAP Adapter
 16...00 00 00 00 00 00 00 e0 Teredo Tunneling Pseudo-Interface
 17...00 00 00 00 00 00 00 e0 Microsoft ISATAP Adapter #2
===========================================================================

IPv4 Route Table
===========================================================================
Active Routes:
Network Destination        Netmask          Gateway       Interface  Metric
          0.0.0.0          0.0.0.0      192.168.1.1    192.168.1.104     25
         10.0.0.0        255.0.0.0       10.3.82.40       10.3.82.42     26
       10.3.82.42  255.255.255.255         On-link        10.3.82.42    281
    66.134.25.226  255.255.255.255      192.168.1.1    192.168.1.104     26
        127.0.0.0        255.0.0.0         On-link         127.0.0.1    306
        127.0.0.1  255.255.255.255         On-link         127.0.0.1    306
  127.255.255.255  255.255.255.255         On-link         127.0.0.1    306
      192.168.1.0    255.255.255.0         On-link     192.168.1.104    281
    192.168.1.104  255.255.255.255         On-link     192.168.1.104    281
    192.168.1.255  255.255.255.255         On-link     192.168.1.104    281
        224.0.0.0        240.0.0.0         On-link         127.0.0.1    306
        224.0.0.0        240.0.0.0         On-link     192.168.1.104    281
        224.0.0.0        240.0.0.0         On-link        10.3.82.42    281
  255.255.255.255  255.255.255.255         On-link         127.0.0.1    306
  255.255.255.255  255.255.255.255         On-link     192.168.1.104    281
  255.255.255.255  255.255.255.255         On-link        10.3.82.42    281
===========================================================================
Persistent Routes:
  None

IPv6 Route Table
===========================================================================
Active Routes:
 If Metric Network Destination      Gateway
  1    306 ::1/128                  On-link
  1    306 ff00::/8                 On-link
===========================================================================
Persistent Routes:
  None

C:\>

我是一名开发人员,所以软件才是我的强项。对于任何更高级的网络,我都有点不熟悉,所以我不确定该怎么做。

答案1

从您的路由表来看,您的主网关似乎位于 192.168.1.0 网络中,而远程网络(通过 VPN 访问的网络)则位于 10.0.0.0。但您还告诉我们,几乎所有(本地)服务器都在 10.0.0.0 范围内。由此可见,存在 IP 地址冲突:通过 VPN 连接时,所有发往 10.0.0.0 的数据包都会通过 VPN 路由到远程 LAN,即使是发往本地 sql 服务器的数据包也是如此。

如果 SQL 服务器位于 10.3.82.0 网络中,我认为这是可通过 VPN 访问的远程 LAN(如果我弄错了,请纠正),那么您将无能为力。如果服务器不在 10.3.82.0 网络中,那么在建立 VPN 连接后给出的以下命令将解决您的问题:

route delete 10.0.0.0 
route ADD 10.3.82.0 MASK 255.255.255.0 10.3.82.40  
route ADD 10.0.0.0 MASK 255.0.0.0 192.168.1.1

这些路线之间显然存在冲突,但不必担心:更严格的规则总是优先于更大的规则,从而产生正确的结果。

答案2

尝试执行以下操作:

  1. 找到包含您拨打的条目的 .pbk 文件。在我的例子中,它是 C:\Users\<user>\AppData\Roaming\Microsoft\Network\Connections\Pbk

  2. 在记事本中打开该文件。

  3. 找到使用RasCredentials = 1入口

    在此处输入图片描述

  4. 更改10->使用RasCredentials = 0

    在此处输入图片描述

  5. 保存并关闭记事本

补充一下:我不知道你有多少个 VPN 连接(我有一个),但如果你有多个,你需要找到所有实例使用RasCredentials = 1并将其更改为使用RasCredentials = 0。每个 VPN 连接在其部分的开头都以 [VPN 连接名称] 格式命名

相关内容