【博文推荐】部署Multi-Site VPN将本地连入Azure云端

云计算
微软提出了一个自己的概念,叫做Multi-site VPN,它和我们建立多个site-2-site VPN的区别仅仅在于Azure端的配置方法上。下文详细叙述。
  本博文出自51CTO博客梦想依赖实践博主,有任何问题请进入博主页面互动讨论!

博文地址:http://yinzi7.blog.51cto.com/299508/1619743

实验背景:

公司在国内多个城市都有分支机构,每个satellite office都有自己独立的内网,是一个独立的site。现在公司租用了Azure服务,将一些重要服务迁移至Azure,但某些服务要求必须只能通过公 司内部网络通信完成,所以需要将公司的几个分支结构的子网和Azure资源所在的子网连接起来。

世纪互联的Azure当前并不支持直接在manage.windowsazure.cn这个管理portal中直接配置Azure到多个子网的site- 2-site VPN。微软提出了一个自己的概念,叫做Multi-site VPN,它和我们建立多个site-2-site VPN的区别仅仅在于Azure端的配置方法上。下文详细叙述。

前提条件/准备工作:

  1. Windows Azure管理权限,能够新建Virtual Network(New->Network services->virtual network);
  2. 本地VPN设备或者服务器的管理权限,试验中我使用的是FortiGate防火墙设备。如果您使用专门的VPN设备,请一定参考微软的兼容性设备列表,确保您使用的VPN设备和windows Azure相兼容;
  3. 本地子网的网络地址池空间;
  4. Azure要计划使用的网络地址池空间;
  5. 一个xml文件编辑器,用于编辑从Azure上下载到本地的网络配置文件;
  6. Azure PowerShell;

部署过程:

1.新建Virtual Network:

为Virtual Network命名;

选择使用的datacenter的地点,目前世纪互联在中国有两个datacenter。中国北方(北京),国东方(上海);

为你的virtual network制定一个DNS服务器,这里建议您选择一些比较靠谱的,最好是在国内和国外都比较靠谱的DNS服务器,建议您使用google的8.8.8.8,国内的114DNS等。OpenDNS也很不错,但是在国内访问延时较大,不太建议;

配置VPN的方式为Site-to-site VPN,你的on-premise/local网络可以新建或者选择你已经录入过的网络,试验中我们是新建了一个local network;

配置本地网络(local network/on-premise network)属性,本地网络的名字,本地VPN设备的IP地址,本地网路的地址空间;

配置Azure端的子网属性,自己按照实际需求设置即可,完成virtual network的创建过程。配置完成后,我们可以通过查看virtual network的dashboard看到当前的状态。

2.增加local Network(添加其他几个分支结构的子网信息,这个过程这一步也可以省略):

  • New->Network services->Virtual Network->Add local network;
  • 输入local Network的名称;
  • 输入local network的子网地址范围;

3.配置Virtual Network:

如果你已经通过GUI将其他On-premise(local) network的信息添加到了virtual network中,那么你只需要修改<ConnectionsToLocalNetwork> 和</ConnectionsToLocalNetwork>之间的部分,先将这部分内容复制,然后粘贴在< /ConnectionsToLocalNetwork>之前,将你粘贴的内容中的name部分进行修改,修改成你需要增加的on- premise(local) network的名字。以此类推,将所有其他需要增加进来的网络都添加好;

如果你之前没有通过GUI将其他的On-Premise(local) network的信【51CTO专稿】息创建好,你可以直接通过修改这个xml文件进行创建。找 到<LocalNetworkSite>……….</LocalNetworkSite>部分,复制这一部分,粘贴到这部分的后 面,讲你想添加的On-Premise(local) network的name、子网范围、VPNGatewayAddress进行修改即可。以此类推,将所有需要添加的子网添加好之后,执行上一布的过程, 这样就将network configuration文件编辑好了,进行保存;

创建gateway,这里要注意,根据微软官方的文档(https://msdn.microsoft.com/en-us/library/azure /jj156210.aspx),配置Multi-site VPN一定要选择Dynamic Routing。这个创建过程比较慢,实测中国北方数据中心,创建过程用了20分钟;

创建好Gateway之后,我们检查一下当前的virtual network状态是否正确。Gateway的公网IP应该能够在dashboard中显示出来,gateway的类型是Dynamic Routing。然后我们将当前的network configuration导出,导出来的是一个xml文件;

编辑配置文件,找到<ConnectionsToLocalNetwork> 和</ConnectionsToLocalNetwork>之间的部分,我们看到这里默认只有我们在新建virtual network的时候输入的on-premise network的信息,而我们新增的local network都不在这里,那么我们就需要手动修改这个配置文件,将我们其他的On-Premise(local network)的信息增加进来。

上传编辑好的配置文件,更新virtual network网络配置。New->Network Services->Virtual Network->Import configuration,选择你刚才编辑好的配置文件,进行上传。


4.获取Multi-site VPN信息(需要通过Azure PowerShell):

  • 获取subscription:get-AzureSubscription;
  • 选择需要的subscription:select-AzureSubscription -name;
  • 获取virtual network configuration:get-AzureVNetConfig|fl;
  • 获取VPN Pre-shared-key:Get-AzureVNetGatewayKey -vNetName xxx -LocalNetworkSiteName yyyy;
  • 获取Azure端VPN的属性设置:Get-AzureVNetGatewayIPsecParameters -VNetName AAAA -LocalNetworkSiteName BBBB

5.配置本地VPN设备。由于大家所使用的VPN设备都不相同,但需要修改的项目基本一致,这里我们说一下通常需要修改的几个地方和注意事项:

  • 需要使用IKEv2;
  • 启用Replay Detection;
  • 不需要配置NAT traversal;
  • 不需要配置Auto Keep Alive;
  • 不需要配置Auto-Negotiate;
  • 不要启用Perfect Forward Security(PFS);

 

责任编辑:Ophira 来源: 51CTO
相关推荐

2015-05-25 09:51:55

Azure混合云平台VPN技术

2015-04-08 14:44:40

2014-12-12 10:46:55

Azure地缘组affinitygro

2015-04-17 11:15:01

Windows Azu虚拟机SCVMM

2014-12-22 11:04:30

Windows AzuiPhone虚拟机

2015-07-29 13:46:27

OpenStackIcehouse私有云实战部署

2015-05-15 10:04:28

localhost

2015-05-27 09:17:50

AzureDocker

2015-04-21 09:58:09

Azure混合云实例级公共IP

2015-06-04 11:17:12

2015-06-17 09:34:09

软件定义存储 云存储

2015-07-01 10:25:07

Docker开源项目容器

2019-04-23 08:00:08

Azure微软云迁移

2015-03-30 13:24:31

主从MariaDB实例部署

2012-09-27 13:12:17

2015-06-15 13:06:23

项目项目经验

2015-09-29 10:26:51

pythonlogging模块

2015-04-21 09:28:58

ockerdocker监控平台监控

2014-12-01 10:33:51

Python

2019-11-26 08:00:00

GitHubGitHub ActiAzure
点赞
收藏

51CTO技术栈公众号