Windows VPN服务器可以与VPN客户端交谈,但不会将数据包从本地networking发送到VPN客户端

我想configurationWindows Server 2012及其Windows 7和Windows 8 VPN客户端,使用拆分隧道和子网外寻址的SSTP VPN,但我遇到了一个问题:RRAS服务器不会发送数据包到VPN来自任何机器以外的客户。

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

我已经安装了RRAS并build立了一个VPN。 亚马逊的私有子网是172.16.0.0/17(这就是我所说的“亚马逊LAN”),但我希望所有的VPN客户端使用范围10.128.0.0/20(我称之为“ VPN LAN“)。

在我的亚马逊控制面板中,我做了以下操作:

  • 禁用VPN服务器的源/目标检查
  • 为指向VPN服务器的networking接口的10.128.0.0/20池添加了一个入口路由表。

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

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

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

在客户端,为了启用拆分隧道,我已经去了VPN连接的属性 – >networking – > IPv4 – > Propeties – >高级 – > IP设置选项卡,并取消选中“在远程networking上使用默认网关”选中“禁用基于类的路由添加”。

此时,我的客户可以使用Windows 7/8 VPN客户端进行连接。 他们被分配了来自10.128.0.0/20池的IP,但由于他们没有自动设置任何路由,他们不能与远程networking通话。 我可以设置路由到远程networking和VPNnetworking,就像这样(在客户端上):

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

现在,客户端可以ping VPN服务器(10.128.0.1)的VPN LAN地址以及其亚马逊LAN地址(172.16.1.32)。 但是,当试图与亚马逊局域网上的其他计算机通话时,会遇到问题:ping不会收到回复。

所以,例如,如果客户端尝试ping我知道已启动的系统,并响应ping(如172.16.0.113),则不会看到这些回复(它表示“请求超时”)。 Wireshark在VPN服务器上确认它看到来自客户端的ping,甚至可以看到从172.16.0.113发出的回复,但是这个回复显然不会回到客户端。

此外,如果我从172.16.0.113 ping客户端的VPN LAN地址,VPN服务器上的Wireshark看到ping,但没有看到回复。

所以,回顾一下:

  • VPN服务器可以ping亚马逊局域网(172.16.0.0/17)上的其他机器并接收回复,该networking上的其他机器也可以这样做。
  • VPN客户端可以ping服务器的亚马逊LAN地址,并在客户端添加正确的路由后收到回复,如前所述。
  • VPN客户端可以ping通服务器的10.128.0.1的VPN LAN地址,VPN客户端可以在10.128.0.0/20范围内ping客户端的VPN LAN地址,如前所述客户端添加了路由正确的路由。
  • VPN客户端可以向亚马逊局域网上的计算机发送ping命令,但是当这些计算机发送应答时,它们会停止在VPN服务器上 – 它们不会被转发到客户端,导致客户端上的“请求超时”消息。 相反,当亚马逊局域网上的一台机器试图ping客户端的10.128.0.0/20 VPN局域网地址时,VPN服务器就会看到这个ping,但是客户端从来不会这样做,因此不会产生回复。

为什么VPN服务器没有将数据包从亚马逊LAN发送到VPN LAN上的客户端呢? 它肯定可以与VPN LAN上的客户端进行通话,并且启用了路由,并且愿意将来自VPN LAN – > Amazon LAN的数据包路由到路由器,而不是相反。 我在这里错过了什么?

路线

这是VPN客户端的路由表。 客户端是运行Windows 8的VirtualBox虚拟机。它的vbox适配器的IP地址是/ 24上的10.0.2.15。 这个客户端在NAT之后(实际上,它是在双NAT之后,因为vbox适配器已经NAT到我的本地networking,这是NAT到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后面。 它只有一个网卡。 它的私有IP地址是172.16.1.32,在一个/ 23上(这本身就是一个更大/ 17的networking的一部分;我认为可以忽略/ 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的服务器专用networking中另一台计算机的路由表。它具有一个NIC,其私有IP地址为172.16.1.177,这意味着它与VPN服务器位于同一个/ 23上。 (请注意,10.128.0.0/20的路由设置在由亚马逊控制的网关上,所以你不会在这里看到。我已经向亚马逊添加了正确的路由,certificateWireshark 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 

这里是亚马逊控制台中的路线。 我认为这些都是正确的 – stream量正在使其回到VPN服务器,毕竟只是消失在它的内部 – 但如果有人想看到它们,在这里,他们是。 (亚马逊eni-2f3e8244 / i-77e26440是指VPN服务器上的网卡, 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 

如果您在服务器上添加一条静态路由,告诉他们为了达到10.128.0.0/20,他们必须通过VPN的服务器LAN地址?

 route add 10.128.0.0 mask 255.255.240.0 abcd 

将abcdreplace为VPN服务器的LAN地址。

这至less可以排除亚马逊路线的问题。