利用GRE隧道让Windows Server Gateway支持多租户路由
Windows Server Gateway(WSG)是一个多租户的网关,但是当它作为直接路由网关时只能服务于一个虚拟网络。这就意味着每个启用直接路由的虚拟网络都需要要给独立的WSG。很明显这对于服务提供商而言非常不经济。
如中文章 GRE Tunneling in Windows Server Technical Preview 中所提及的,Windows Server Threshould引入了一个新的特性让WSG具备建立GRE隧道的能力。GRE是一个轻量的隧道协议,它可以将很多不同的网络层协议封装在虚拟的点到点IP网络连接中。GRE支持多租户在一个6核的虚拟机上可以达到2Gbps的吞吐。而且很多第三方的网络软硬件设备都支持GRE(RFC 2890)。
虽然Windows Server Threshould尚未正式发布,但如今Windows Server 2012 R2也可以通过安装更新KB3022776来支持GRE隧道。这个更新没有公开的下载链接,虚拟联系微软的售后技术支持获得该更新。详细的信息可以参考链接 https://support.microsoft.com/en-us/kb/3022776 。
下面我们将展示GRE隧道是如何让WSG具备多租户路由能力的。
我的测试环境中新建了一个具备两块虚拟网卡的Windows Server 2012 R2 RRAS虚拟机,两块虚拟网卡都接入同一个物理网络。
我在这台虚拟机上添加RRAS角色并配置使用其中一块作为外部网卡,另一块连接内部网络。
接着我通过了Windows Azure Pack创建了一个虚拟网络,但不用创建S2S VPN。
在两个布有RRAS的虚拟机上(一个是Windows Azure Pack测试环境中的多租户WSG,另一个是新安装的RRAS)安装了更新KB3022776并重新启动以后,我们可以来配置GRE隧道的VPN。
在多租户的WSG上,运行下面的命令。
Add-VpnS2SInterface -Name GREtoDESKTOP -Destination 10.172.88.110 -IPv4Subnet "10.172.88.0/22:100" -GRETunnel -GREKey "12345" -SourceIp: 10.190.165.83 -RoutingDomain GREVNET82d8f1a6-731f-459d-a679-debe954c181f
在新装的RRAS上运行命令
Add-VpnS2SInterface -Name GREtoBLUECLOUD -Destination 10.190.165.83 -IPv4Subnet "192.168.10.0/24:100" -GreTunnel -GreKey "12345" -SourceIpAddress: 10.172.88.110
通过命令"Get-VpnS2SInterface",我们可以看到GRE VPN连接已经是已连接状态。
在物理网络"10.172.88.0/22"中添加了一条静态路由后,在虚拟网络"192.168.10.0/24"和物理网络之间就可以建立连接了。
Comments
Anonymous
May 26, 2015
强悍...学习了。 Windows Server Threshold在虚拟化、网络和存储方面的改进还是很令人振奋的,需要花点时间去研究下。Anonymous
May 26, 2015
感觉能够应用SDN的客户大部分都是IDC级别的客户了。对这种客户来说,他们的用户更多的关注的应该是多租户NAT 和多租户 S2S VPN,WSG的直接路由功能多租户的意义比较适用于企业内部大规模的私有云环境吧。 Azure 上的VM的 PIP功能,一定要配置为区域级别虚拟网络,是不是采用了GRE隧道实现的直接路由功能呢?瞎猜的...