Windows azure多站点vpn配置介绍
我们之前的文章介绍了windows azure vnet到vnet的vpn配置及本地到windows azure的vnet之间的vpn配置,而我们今天主要介绍的是windows azure 的多站点的vpn配置,那什么是多站点的vpn配置呢。我们还是拿真实环境来举例说明吧!我们之前文章中主要介绍了两个关于windows azure 的vpn配置文档,一个是本地网络与windows azure之间的vpn配置,主要实现本地网络与windows azure内部的虚拟网络互通,另外一个就是windows azure vnet和vnet之间的vpn配置,实现windows azure两个虚拟网络之间的网络互通,如果把这两个vpn配置结合到一块就形成了一个多站点vpn配置。
我们先介绍一下目前的实验环境,
1. 我的本地的网络环境地址定义为10.1.1.0/24 ,内部主要的服务有AD、exchange、tmg、adfs等服务。
2. Windows azure 虚拟网络定义
Azure-Vnetwork01: 10.10.1.0/24
Local_vnet01:10.10.1.0/24
Azure-Vnetwork02: 10.10.2.0/24
Local_vnet02:10.10.1.0/24
本地的网络定义:iiosoft_localnetwork: 10.1.1.0/24
3. 我们今天介绍将本地网络与windows azure的网络也实现vpn配置后,能实现本地网络到windows azure的不同虚拟网络之间互通即可。
注:创建使用动态路由网关的站点到站点 ×××,如果是静态路由的话我们需要更改网关类型。
我们为了完全给大家一个介绍,我重新申请了一个测试账户进行配置:
1. 首先是我本地的网络,我选择使用windows 2012r2服务模拟本地的硬件防火墙设置充当本地的vpn设置。
Internal: 10.1.1.60
External: 106.39.102.149
我们需要定义一个虚拟网络,首先是实验本地网络到windows azure之间的vpn配置
我们按照之前的规划,需要定义本地网络。当前这个不是一定的。我们可以先定义虚拟网络也可以先定义本地网络;为了方便操作,我先定义本地网络。我们目前做的是讲本地网络跟windows azure的虚拟网络实现vpn互通
Iiosoft本地的网络配置:名称及vpn设置地址;
该vpn网关设置地址为我的本地网络RRAS服务的外网ip
定义本地网络的地址范围:10.1.1.0/24
定义虚拟网络
虚拟网络名称
选择点到点的vpn配置
定义虚拟网络的地址范围:根据我们之前的规划,虚拟网络1的地址范围:
10.10.1.0/24
开始创建虚拟网络
虚拟网络创建完成后,我们定义网络vpn网关;
注:一定要选择动态路由哦
开始创建vpn网关
Vpn网关创建完成。我们可以查看,默认生成了一个vpn网关
接下来,我们下载vpn设置脚本;因为我们的本地使用的是microsoft 2012R2系统做为一个RRAS服务,所以我们下载的时候选择windows server2012R2
下载后默认的扩展名为cfg,为了方便执行该脚本,我们通过修改该扩展名为ps1,然后通过powershell执行
我们通过powershell执行该脚本
以下powershell中的红色信息可以忽略,不是报错。
接下来我们查看azure的portal信息,看看vpn服务是否跟windows azure的vpn链接正常
我们在查看RRAS服务器配置:服务运行正常
接下来我们创建一个虚拟机试试网络之间的连通性
选择虚拟网络一的网络类型
我们通过该虚拟机ping本地的网络地址。经过测试结果为通。服务运行正常。
然后我们从本地ping windows azure的网络。也是通
我们可以通过azure 的port进行确认,网络是通的,因为都有流量产生了。
我们本地与windows azure的vnetwork01通过vpn通了,但是我们如果有多个vnetwork的话如何进行通信呢 ,我们知道默认的windows azure的vnet和vnet之间是不通的,上篇文章我们就介绍了。今天我们主要实现的是本地网络与windows azure的不同vnetwork之间的通信。那怎么做呢,具体见下:
我们首先同样需要给Azure-Network02创建一个地址范围。
10.10.2.0/24,对于azure-network来说是本地网络
然后我们选择虚拟网络2通过配置点到点的vpn配置连接到本 地网络vnet01
虚拟网络2的地址定义: 10.10.2.0/24
同样我们为虚拟网络2创建一个vpn网关
创建完成后,我们查看网络之间是没有流量的。而且vpn状态也是链接中断的
我们同样创建一个虚拟网络2的虚拟机进行测试。
我们ping虚拟网络01的虚拟机是不通的;。
因为我们的虚拟网络中通过vpn配置的是链接到本地网络中的iiosoft_localnetwork,所以这样也会链接不上。 我们需要将虚拟网络中azure_vnetwork-01的网络配置文件导出添加vnetwork后我们导入进行配置才能正常工作。我们选择vnetwork-01
导出vnetwork01的网络配置进行修改
我们可以看出vnetwork01链接到是iiosoft_localnetwork的网络,没有链接到vnetwork02的的本地网络,所以我们需要在配置文件内添加。
我们通过网络配置文件看,得知有三个本地网络的详细信息:
同时虚拟网络01的网络定义及连接到的虚拟网络信息:
虚拟网络02的网络定义及连接到的虚拟网络信息
我们通过以上信息确认,虚拟网络01连接的是本地网络iiosoft-localnetwokr,所以我们需要定义网络信息,添加本地虚拟网络02
<LocalNetworkSiteRef name="Vnet_Local-02">
<Connection type="IPsec" />
</LocalNetworkSiteRef>
我们在虚拟网络:Azure_Vnetwork中修改链接信息:添加链接到vnetwokr02的网络信息:
保存后,我们需要将保存后的网络配置文件导入到虚拟网络01中。
导入配置
确认后,我们开始更新
我们导入网络配置后,发现vpn还是不通。
我们发现手动连接后还是失败,原因是因为两个vpn网关会有两个不同的共享秘钥,所以我们需要通过powershheell来完成下面的工作。
我们首先是复制保存Vnetwork-01的共享秘钥
通过powershell来定义虚拟网络01和虚拟网络02的共享秘钥为指定成一个
Set-azurevnetgatewaykey –vnetname azure_vnetwork –localnetworksitename vnet_local-02 –share xxxxx
同样为虚拟网络02来定义虚拟网络01对的额共享秘钥
Set-azurevnetgatewaykey –vnetname azure_vnetwork –localnetworksitename vnet_local-02 –share xxxxx
接着我们查看azure port页面的服务状态,vpn连通了
然后azure_vnetwork有两个定义配置信息。因为我们这个是多站点的,所以跟一个的界面稍微有点差别
然后我们再通过虚拟机进行测试;
我们通过vnetwork01到vnetwork02的网络通了
vnetwork02到vnetwork01的网络通了
同样vnetwork01到本地网络也是通的
我们发现vetwork02到本地网络之间是不通的:
原因是因为,vnetwork02的vpn链接的本地网络是vnetwork01的本地网络。
我们需要给在vnetwork01的本地网络添加iiosoft_localnetork的地址段10.1.1.0/24
我们编辑vnetwork02的的本地网络配置,然后添加iiosoft_local的地址段:10.1.1.0/24,保存
保存后的状态。
加上之后,我们还需要在iiosoft_local的RRAS服务器上添加vnetwork02的地址段:
打开路由和远程访问,编辑ipv4---静态路由,添加静态路由---10.10.2.0/24,其他信息默认,然然后保存即可。
添加后的效果:
解析来我们再次次测试
我们首先从iiosoft_local本地进行测试:
我们从vnetwork01上进行测试:
最后我们在vnetwork02上进行测试:
最后我们回到azure portal上进行查看确认
问题总结:
以下介绍一个我之前遇到的问题:
部署多站点的vpn的时候无法连接的问题:
通过路由和远程访问的状态下连接出现错误的问题:
然后重新重启系统。我们重新后发现还是无法验证,提示以下错误:
原因是因为我们需要修改一下RRAS的共享秘钥:
因为Network-01同时连接了2个隧道,下载脚本的时候,预共享密钥是Vnet-Vnet的)
需要手动更改成Vnet到本地2012R2的密钥,才能连接成功。具体方法为:
使用Powershell获取密钥:Get-AzureVNetGatewayKey -VNetName Vnetwork-01 -LocalNetworkSiteNameIiosoft_LocalNetwork Iiosoft_LocalNetwork | fl
Get-AzureVNetGatewayKey -VNetName Vnetwork-01 -LocalNetworkSiteNameIiosoft_LocalNetwork Iiosoft_LocalNetwork | fl
我们需要将该value的信息复制后来替换RRAS的共享秘钥:
单击网络接口---外网ip----安全---使用预共享的秘钥进行身份验证
修改共享秘钥:保存
保存后,手动连接尝试: