好吧,情况是这样的。我为几个项目提供咨询,有些项目要求我先连接到他们的 VPN,然后才能访问他们的服务器。问题是,当我为这个特定的客户连接到 VPN 时,它会切断我与许多工作资源(Sharepoint、Outlook、Skype,最重要的是 Pandora)的连接
几年前,我遇到过类似的问题,我的朋友添加了一条路由,以便只有到他们网站/服务器的流量通过 VPN。问题是我不知道他是怎么做到的。我在 MS 网站上查找了一些资料,并尝试添加路由,但似乎不起作用。
这是我所拥有的。
C:\Users\Dizzy>route print
===========================================================================
Interface List
10...fc aa 14 2e 52 b5 ......Intel(R) Ethernet Connection (2) I218-V
16...00 ff d9 d6 21 c7 ......TAP-NordVPN Windows Adapter V9
14...00 00 00 05 5c 8e ......ASIX AX88772B USB2.0 to Fast Ethernet Adapter
32...........................Blackhawk
1...........................Software Loopback Interface 1
===========================================================================
我使用“route -p”尝试添加持久路由,我认为这正是我需要的。连接时我连接的服务器 IP 是 172.17.15.243。所以现在我有这个:
===========================================================================
Persistent Routes:
Network Address Netmask Gateway Address Metric
172.17.15.243 255.255.255.0 On-link 1
172.17.15.0 255.255.255.0 On-link 1
===========================================================================
这似乎不起作用,因为我仍然无法访问 Skype 或 Pandora。
此时我不知道我是否设置错误,或者是什么。有一件事我注意到,昨晚界面是#29,现在是#32
哦,我有 Windows 10 Pro,并且从 MS Store 安装了 Cisco Connect,所以它使用 Windows 来管理 VPN。
未连接到 VPN 我有:
===========================================================================
Interface List
10...fc aa 14 2e 52 b5 ......Intel(R) Ethernet Connection (2) I218-V
16...00 ff d9 d6 21 c7 ......TAP-NordVPN Windows Adapter V9
14...00 00 00 05 5c 8e ......ASIX AX88772B USB2.0 to Fast Ethernet Adapter
1...........................Software Loopback Interface 1
===========================================================================
IPv4 Route Table
===========================================================================
Active Routes:
Network Destination Netmask Gateway Interface Metric
0.0.0.0 0.0.0.0 192.168.86.1 192.168.86.37 35
127.0.0.0 255.0.0.0 On-link 127.0.0.1 331
127.0.0.1 255.255.255.255 On-link 127.0.0.1 331
127.255.255.255 255.255.255.255 On-link 127.0.0.1 331
192.168.86.0 255.255.255.0 On-link 192.168.86.37 291
192.168.86.37 255.255.255.255 On-link 192.168.86.37 291
192.168.86.255 255.255.255.255 On-link 192.168.86.37 291
224.0.0.0 240.0.0.0 On-link 127.0.0.1 331
224.0.0.0 240.0.0.0 On-link 192.168.86.37 291
255.255.255.255 255.255.255.255 On-link 127.0.0.1 331
255.255.255.255 255.255.255.255 On-link 192.168.86.37 291
===========================================================================
Persistent Routes:
Network Address Netmask Gateway Address Metric
172.17.15.243 255.255.255.0 On-link 1
172.17.15.0 255.255.255.0 On-link 1
===========================================================================
IPv6 Route Table
===========================================================================
Active Routes:
If Metric Network Destination Gateway
1 331 ::1/128 On-link
14 291 fe80::/64 On-link
14 291 fe80::c86d:557e:caf3:da69/128
On-link
1 331 ff00::/8 On-link
14 291 ff00::/8 On-link
===========================================================================
Persistent Routes:
None
我已经连接到 VPN:
===========================================================================
Interface List
10...fc aa 14 2e 52 b5 ......Intel(R) Ethernet Connection (2) I218-V
16...00 ff d9 d6 21 c7 ......TAP-NordVPN Windows Adapter V9
14...00 00 00 05 5c 8e ......ASIX AX88772B USB2.0 to Fast Ethernet Adapter
32...........................Blackhawk
1...........................Software Loopback Interface 1
===========================================================================
IPv4 Route Table
===========================================================================
Active Routes:
Network Destination Netmask Gateway Interface Metric
0.0.0.0 0.0.0.0 192.168.86.1 192.168.86.37 4260
0.0.0.0 0.0.0.0 On-link 172.17.101.209 56
65.70.114.5 255.255.255.255 192.168.86.1 192.168.86.37 4516
127.0.0.0 255.0.0.0 On-link 127.0.0.1 4556
127.0.0.1 255.255.255.255 On-link 127.0.0.1 4556
127.255.255.255 255.255.255.255 On-link 127.0.0.1 4556
172.17.15.0 255.255.255.0 On-link 172.17.101.209 56
172.17.15.255 255.255.255.255 On-link 172.17.101.209 311
172.17.101.209 255.255.255.255 On-link 172.17.101.209 311
192.168.86.0 255.255.255.0 On-link 192.168.86.37 4516
192.168.86.37 255.255.255.255 On-link 192.168.86.37 4516
192.168.86.255 255.255.255.255 On-link 192.168.86.37 4516
224.0.0.0 240.0.0.0 On-link 127.0.0.1 4556
224.0.0.0 240.0.0.0 On-link 192.168.86.37 4516
224.0.0.0 240.0.0.0 On-link 172.17.101.209 56
255.255.255.255 255.255.255.255 On-link 127.0.0.1 4556
255.255.255.255 255.255.255.255 On-link 192.168.86.37 4516
255.255.255.255 255.255.255.255 On-link 172.17.101.209 311
===========================================================================
Persistent Routes:
Network Address Netmask Gateway Address Metric
172.17.15.243 255.255.255.0 On-link 1
172.17.15.0 255.255.255.0 On-link 1
===========================================================================
IPv6 Route Table
===========================================================================
Active Routes:
If Metric Network Destination Gateway
1 331 ::1/128 On-link
14 291 fe80::/64 On-link
14 291 fe80::c86d:557e:caf3:da69/128
On-link
1 331 ff00::/8 On-link
14 291 ff00::/8 On-link
===========================================================================
Persistent Routes:
None
这是我的桌面,所以它不需要是便携式解决方案,并且我只需要在连接到 VPN 时访问 1 个资源。当我 ping 它时,IP 地址是 172.17.15.243 当我执行 NSLookUp 时,我得到 192.168.86.1 我如何在添加路由时找到要使用的 LAN 网关?我使用了 0.0.0.0,但我不确定这是否正确。
我对技术有一定的了解,但是这种级别的网络总是给我带来麻烦。
答案1
是什么造成了你的问题
这里发生的事情是,连接到 VPN 会将非常广泛的路由推送到您的操作系统的路由表中。您可以在连接 VPN 之前和之后运行“route print”,以查看连接 VPN 的副作用是添加了哪些路由。您会看到以下路线组合已添加到您的路线表中:
===========================================================================
Network Address Netmask Gateway Interface Metric
0.0.0.0 0.0.0.0 On-link 172.17.101.209 56
65.70.114.5 255.255.255.255 192.168.86.1 192.168.86.37 4516
172.17.15.0 255.255.255.0 On-link 172.17.101.209 56
===========================================================================
还添加了其他路线。我们不太关心这些。
添加的第一条路由表示发往“任何地方”的流量都应使用 VPN 隧道。因此,这是一条默认路由。除非有更具体的目的地,否则离开您机器的任何流量都将使用 VPN 网关。请注意,表中仍列出了旧的默认路由,指示“在任何地方使用 LAN 网关”,但其度量更高(更差)。该路由不再是首选。
添加的第二条路由打了一个洞,表明发往 VPN 服务器公共 IP 的流量应使用旧网关。请注意,即使度量值更高,路由也更具体。网络掩码255.255.255.255
表示“仅适用于此 IP 地址”。具体性优先于度量值。
添加的第三条路由是应使用 VPN 网关的特定 IP 范围。鉴于 VPN 网关已经是默认路由,因此这是冗余信息。我不太清楚为什么要添加这条路由,但我猜 VPN 服务的 IT 管理员可能因为某些用户遇到的某些特定问题而手动添加了这条路由。
添加的其他路由包括新的默认多播(224.0.0.0)和广播(。.*.255) 路由。每个网络上还添加了针对您机器自身 IP 地址的路由。不确定为什么需要这些路由;这可能是 Windows 的问题。
从技术上来说,问题是什么?
这些路由会告诉您的计算机通过 VPN 隧道发送除 VPN 隧道本身和直接本地 LAN 的流量之外的所有流量。这样做是因为 VPN 网关可以(并且通常需要)将您的流量路由到远程内联网(不同于互联网)中的更多子网。例如,当连接 VPN 时,您的计算机将获得一个 IP 地址 172.17.101.209/24。远程网络上的邮件服务器可能位于 172.17.15.4/24,Sharepoint 位于 172.17.7.16/24,Skype 位于 172.17.55.27/24 等。这些都位于与您的 VPN IP 不同的子网上,只有 VPN 网关可以将流量路由到这些机器。与其将每个 IP 或子网单独推送到您的路由表(例如,到 172.17.15.0 的路由),企业 IT 可以更轻松地设置/覆盖所有流量的默认路由以使用 VPN,并让 VPN 网关确定如何将您连接到您想要到达的所有子网。当 VPN 客户端在其本地网络中也有资源需要访问时,向这些客户端推送新的默认路由就会成为问题。同样的例子也适用:邮件服务器、内部网站、Skype 等。您需要本地网关才能访问这些资源。
从理论上来说,如何解决这个问题呢?
我们需要知道哪些网络位于哪个网关上。如果我们尝试使用无法从该网关路由的网络网关,我们将收到“目标无法到达”响应。如果我们使用远程网关访问本地 SharePoint 服务器,我们将收到该响应。这使我们处于一个棘手的境地,需要手动将路由添加到操作系统的路由表,告诉它要为不同的 IP 范围使用哪个网关。这可能会非常不稳定,尤其是在大型企业网络中,因为两个网络可能使用相同的内部 IP 范围。基本上,我们处于这样的情况:我们选择两个网关中的一个作为默认网关,然后从另一个网关添加我们需要的各个子网的路由。我该运行什么命令才能解决这个问题?
你说得对。你运行 `route -p add` 类型的命令来添加不是默认网关的网关的路由。听起来你的同事决定使用 VPN 的网关作为默认网关,然后为你需要访问的每个本地子集手动添加路由。你可以使用 `nslookup` 从本地 LAN 找到你需要的服务器的 IP 地址,然后将该服务所在的整个子网添加到你的路由表中。例如,我将运行nslookup sharepoint.localcompany.com
并返回 IP 192.168.12.51。然后我将运行route -p add 192.168.12.0 mask 255.255.255.0 <LAN-gateway-ip>
。
希望您只需要添加一个或两个子网即可使一切正常运行。希望这些子网不常见(例如 192.168.0.0/24、192.168.0.1/24 或 10.0.0.0/24)。请参阅下面的“其他问题”。
编辑以获取新信息
鉴于我在路由表中看到的 IP 地址,我将运行此命令并查看是否运行得更好。我不知道接口 10 或 14 是否是您用于 LAN 的接口,因此请根据您的设置选择相应的编号。route -p add 192.168.0.0 mask 255.255.0.0 0.0.0.0 IF [10/14]
此命令表示“使用 LAN 接口上学习到的网关来获取 192.168.0.0 至 192.168.255.255 范围内的 IP”。它可能会破坏某些功能,在这种情况下,您可以通过交换 来将其add
回滚delete
。
其他问题
整个问题都复制到了 DNS 子系统中。您有两个不同网络的 DNS 服务器,而“internal-sharepoint..com”不在远程 DNS 服务器中。我不想把这个任务留给用户,但这是一个完全独立的问题。TL;DR:我相信您依靠“DNS 后缀”来知道要使用哪个 DNS 服务器。如果您需要帮助,请发布一个单独的问题。这是不可移植的。您硬编码了哪些子网与哪些网关一起使用。如果您在家工作并使用自己公司的 VPN,则需要更新您添加的所有路由以使用公司的 VPN 网关,而不是您可能在办公室使用的任何网关。如果您漫游到需要这些子网工作的另一个网络,则需要删除这些路由。主要地,这就是我的回复这么长的原因。如果您只是运行命令,您将不会识别只会在以后出现的新问题。当这些问题发生时,您必须撤消或修改对路由表所做的这些更改。
IP 冲突问题。如果您必须添加一个公共子网,那么您将不可避免地/很快会遇到需要该子网在本地和远程网络中工作的情况。我认为最简单的方法是接受这种不便,删除所有手动添加的路由,并根据需要启用/禁用 VPN 以访问本地/远程服务。
如果这个解释不清楚或者我可以更详细地解释某一部分,请告诉我。