1
Windows VPN服务器可以与VPN客户端通信,但不会从其本地网络向VPN客户端发送数据包
我想使用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 …