Windows VPN服务器可以与VPN客户端通信,但不会从其本地网络向VPN客户端发送数据包


8

我想使用SSTP VPN配置Windows Server 2012及其Windows 7和Windows 8 VPN客户端,该SSTP VPN使用拆分隧道和子网外寻址,但是我遇到了一个问题:RRAS服务器无法将数据包发送到VPN客户端以外的任何其他计算机。

我的VPN服务器在亚马逊的“虚拟私有云”上运行,因此它只有一个网卡,其IP地址在私有的RFC1918网络上,与我的所有其他Amazon VPC服务器共享,还有一个公共IP,该网络将所有流量转发到该私有地址通过NAT(亚马逊称之为“弹性IP”)。

我已经安装了RRAS并设置了VPN。Amazon的专用子网是172.16.0.0/17(这就是我所说的“ Amazon LAN”),但是我希望所有VPN客户端都使用范围10.128.0.0/20(即我所说的“ VPN LAN”)。

在我的Amazon控制面板中,我完成了以下操作:

  • 禁用VPN服务器的源/目标检查
  • 在10.128.0.0/20池的路由表中添加了一个条目,该条目指向VPN服务器的网络接口。

在路由和远程访问MMC中,在服务器名称的属性菜单中,我执行了以下操作:

  • 常规选项卡-> IPv4路由器(已选中),已启用LAN和请求拨号路由
  • 常规选项卡-> IPv4远程访问服务器(选中)
  • IPv4选项卡->启用IPv4转发(选中)
  • IPv4选项卡->静态地址池,并指定10.128.0.1-10.128.15.154

在我的客户端和所有服务器上,我确保在防火墙中明确允许使用ICMP,或者完全禁用了防火墙(当然,不是永久性计划)。

在客户端上,要启用拆分隧道,我进入了VPN连接的属性->网络-> IPv4->属性->高级-> IP设置选项卡,并且未选中“在远程网络上使用默认网关”,并且选中“禁用基于类别的路由添加”。

此时,我的客户端可以使用Windows 7/8 VPN客户端进行连接。它们从10.128.0.0/20池中分配了IP,但是由于它们没有自动设置任何路由,因此无法与远程网络进行通信。我可以设置到远程网络和VPN网络的路由,如下所示(在客户端上):

route add 172.16.0.0/17 <VPN IP ADDRESS> 
route add 10.128.0.0/20 <VPN IP ADDRESS> 

现在,客户端可以ping通VPN服务器的VPN LAN地址(10.128.0.1),以及其Amazon LAN地址(172.16.1.32)。但是,当尝试与Amazon LAN上的其他计算机通信时,它遇到了一个问题:ping无法收到答复。

因此,例如,如果客户端尝试对我知道已启动的系统执行ping操作并响应诸如172.16.0.113之类的ping操作,则不会看到这些答复(它说“请求超时”)。VPN服务器上的Wireshark确认它可以看到来自客户端的ping,甚至可以看到从172.16.0.113发送来的回复,但是该回复显然永远不会将其返回给客户端。

此外,如果我从172.16.0.113 ping客户端的VPN LAN地址,则VPN服务器上的Wireshark可以ping通,但看不到答复。

因此,回顾一下:

  • VPN服务器可以对Amazon LAN(172.16.0.0/17)上的其他计算机执行ping操作,并接收回复,该网络上的其他计算机也可以对其执行相同的操作。
  • 在客户端添加如前所述的正确路由后,VPN客户端可以ping服务器的Amazon LAN地址并接收答复。
  • 如前所述,在客户端添加正确的路由之后,VPN客户端可以ping服务器的VPN LAN地址10.128.0.1,VPN服务器可以ping客户端的VPN LAN地址在10.128.0.0/20范围内。
  • VPN客户端可以将ping发送到Amazon LAN上的计算机,但是当这些计算机发送答复时,它们会停在VPN服务器上-它们不会转发到客户端,从而导致客户端上的“请求超时”消息。相反,当Amazon LAN上的计算机尝试ping客户端的10.128.0.0/20 VPN LAN地址时,VPN服务器会看到ping,但是客户端从不执行ping操作,因此不会生成回复。

VPN服务器为什么不将数据包从Amazon LAN发送到VPN LAN上的客户端?它绝对可以与VPN LAN上的客户端通信,并且启用了路由,并且它愿意从VPN LAN-> Amazon LAN路由数据包,但不能反向路由。我在这里想念什么?

路线

这是来自VPN客户端的路由表。客户端是运行Windows 8的VirtualBox VM。它的vbox适配器的IP地址是/ 24上的10.0.2.15。该客户端位于NAT之后(实际上,它位于双NAT之后,因为vbox适配器已被NAT到我的本地网络,而NAT已被Internet到Internet)。这个路由表是从手动添加路由10.128.0.0/20和172.16.0.0/17。

IPv4 Route Table
===========================================================================
Active Routes:
Network Destination        Netmask          Gateway       Interface  Metric
          0.0.0.0          0.0.0.0         10.0.2.2        10.0.2.15     10
         10.0.2.0    255.255.255.0         On-link         10.0.2.15    266
        10.0.2.15  255.255.255.255         On-link         10.0.2.15    266
       10.0.2.255  255.255.255.255         On-link         10.0.2.15    266
       10.128.0.0    255.255.240.0         On-link        10.128.0.3     15
       10.128.0.3  255.255.255.255         On-link        10.128.0.3    266
    10.128.15.255  255.255.255.255         On-link        10.128.0.3    266
    54.213.67.179  255.255.255.255         10.0.2.2        10.0.2.15     11
        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
       172.16.0.0    255.255.128.0         On-link        10.128.0.3     15
   172.16.127.255  255.255.255.255         On-link        10.128.0.3    266
        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         10.0.2.15    266
        224.0.0.0        240.0.0.0         On-link        10.128.0.3    266
  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         10.0.2.15    266
  255.255.255.255  255.255.255.255         On-link        10.128.0.3    266
===========================================================================
Persistent Routes:
  None

这是运行Windows Server 2012的RRAS服务器的路由表。如上所述,此服务器也位于NAT之后。它只有一个NIC。它的专用IP地址是/ 23上的172.16.1.32(它本身是较大的/ 17网络的一部分;我相信可以忽略/ 23之外的/ 17部分,因为/ 23上的其他机器)也不能被VPN客户端访问)。

VPN虚拟适配器具有自己的地址10.128.0.1,该地址在客户端第一次连接时自动分配。您看到的10.128.0.1(至其自身)和10.128.0.2(至其唯一客户端)的路由也会在那时自动添加。没有将路由手动添加到VPN服务器。

IPv4 Route Table
===========================================================================
Active Routes:
Network Destination        Netmask          Gateway       Interface  Metric
          0.0.0.0          0.0.0.0       172.16.0.1      172.16.1.32     10
       10.128.0.1  255.255.255.255         On-link        10.128.0.1    286
       10.128.0.2  255.255.255.255       10.128.0.2       10.128.0.1     31
        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
  169.254.169.250  255.255.255.255       172.16.0.1      172.16.1.32     10
  169.254.169.251  255.255.255.255       172.16.0.1      172.16.1.32     10
  169.254.169.254  255.255.255.255       172.16.0.1      172.16.1.32     10
       172.16.0.0    255.255.254.0         On-link       172.16.1.32     11
      172.16.1.32  255.255.255.255         On-link       172.16.1.32    266
     172.16.1.255  255.255.255.255         On-link       172.16.1.32    266
       172.16.2.0    255.255.254.0      172.168.0.1      172.16.1.32     11
        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       172.16.1.32    266
        224.0.0.0        240.0.0.0         On-link        10.128.0.1    286
  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       172.16.1.32    266
  255.255.255.255  255.255.255.255         On-link        10.128.0.1    286
===========================================================================
Persistent Routes:
  None

这是服务器专用网络上另一台也运行Server 2012的计算机的路由表。它具有一个NIC,其专用IP地址为172.16.1.177-这意味着它与VPN服务器在同一/ 23上。(请注意,到达10.128.0.0/20的路由是在网关上设置的,该网关由Amazon控制,因此您在这里看不到它。我已向Amazon添加了正确的路由,这一事实证明了Wireshark VPN服务器可以看到这些数据包。)

IPv4 Route Table
===========================================================================
Active Routes:
Network Destination        Netmask          Gateway       Interface  Metric
          0.0.0.0          0.0.0.0       172.16.0.1     172.16.1.177     10
        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
  169.254.169.250  255.255.255.255       172.16.0.1     172.16.1.177     10
  169.254.169.251  255.255.255.255       172.16.0.1     172.16.1.177     10
  169.254.169.254  255.255.255.255       172.16.0.1     172.16.1.177     10
       172.16.0.0    255.255.254.0         On-link      172.16.1.177    266
     172.16.1.177  255.255.255.255         On-link      172.16.1.177    266
     172.16.1.255  255.255.255.255         On-link      172.16.1.177    266
        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      172.16.1.177    266
  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      172.16.1.177    266
===========================================================================
Persistent Routes:
  None

这是Amazon控制台中的路由。我认为这是正确的-交通使它回到VPN服务器,毕竟,只有里面消失了-但如果有人想看到他们,他们在这里。(Amazon做的事情有点怪异。eni-2f3e8244 / i-77e26440指的是VPN服务器上的NIC,igw-d4bc27bc指的是我所有实例用来与Internet通讯的Amazon控制的Internet NAT /网关。)

10.128.0.0/20   eni-2f3e8244 / i-77e26440   
172.16.0.0/17   local   
0.0.0.0/0       igw-d4bc27bc

2
我曾经使用过几乎与您相同的设置,并且真的不记得您在做什么错。您能否将来自客户端,服务器和一台主机的ROUTE PRINT输出发布到172.16网络上?(我的猜测是来自176.16网络的主机没有正确的路由)
Dusan Bajic 2013年

另外,使用tracert从172.16主机之一到VPN客户端的测试-它是否曾经到达过VPN服务器?
Dusan Bajic 2013年

我已经添加了所需的信息route printtracert输出,并对我之前添加的一些信息进行了重要的更正。(感谢您的帮助!)
Micah R Ledbetter

1
奇怪的。如何精确配置VPN客户端的静态地址池?
Dusan Bajic 2013年

@ dusan.bajic起始IP地址:10.128.0.0; 结束IP地址:10.128.15.255;4096:地址数
米卡- [R莱德贝特

Answers:


1

如果您在服务器上添加一条静态路由,告诉它们要达到10.128.0.0/20,它们必须通过VPN的服务器LAN地址,该怎么办?

route add 10.128.0.0 mask 255.255.240.0 a.b.c.d

用VPN服务器的LAN地址替换abcd。

至少,这将排除亚马逊路由的问题。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.