Windows Azure Virtual Network (11) 创建VNet-to-VNet的连接
《Windows Azure Platform 系列文章目录》
我们知道,Azure Virtual Network可以
1.将对台Azure VM加入到同一个网段里,同时绑定内网IP地址
2.创建VPN网关,来设置Site-To-Site VPN或者Point-To-Site VPN
但是我们在使用Virtual Network的时候,会遇到这样的情况:
1.之前创建的2个Virtual Network,本来是互相不能通过内网访问的。但是后期想通过内网互通互联。
2.在创建的Virtual Network只能在同一个数据中心里,如何实现跨数据中心的内网互通?
其实是可以通过VNet-to-VNet,把不同的Virtual Network打通,实现在不同VNet的虚拟机,通过内网互通互联的。
VNet-to-VNet连接需要注意:
(1)不同订阅之间的VNet-To-VNet连接
(2)不同数据中心(China East, China North)之间的VNet-To-VNet连接
(3)VNet-to-VNet连接,需要在Azure VNet创建动态路由
(4)不同VNet之间的IP Address不同重叠。
(5)VNet-to-VNet之间的流量是经过Azure数据中心骨干网的
参考资料:
我们先假设一个场景:
我们需要打通China East VNet和China North VNet的VNet-To-VNet连接
关键步骤如下:
(1)规划Virtual Network的IP Rang
(2)在中国东部创建一个VNet,命名为ChinaEastVNet
(3)在中国北部创建一个VNet,命名为ChinaNorthVNet
(4)增加本地网络ChinaEastVNet和ChinaNorthVNet
(5)设置Azure VNet ChinaEastVNet与本地网络ChinaNorthVNet的Site-To-Site VPN连接
(6)设置Azure VNet ChinaNorthVNet与本地网络ChinaEastVNet的Site-To-Site VPN连接
(7)在Azure VNet创建VPN Gateway网关,并设置动态路由
(8)重新设置本地网络的VPN网管地址
(9)连接VPN Gateway网关
现在开始本章的内容:
1.规划Virtual Network的IP Rang
(1)我们先规划位于中国东部的VNet,命名为ChinaEastVNet, IP Rang为10.0.0.0/22
(2)然后我们规划位于中国北部的VNet,命名为ChinaNorthVNet, IP Rang为10.1.0.0/22
(3)对于ChinaEastVNet来说,他要连接到的目标网络是ChinaNorthVNet
(4)对于ChinaNorthVNet来说,他要连接到的目标网络是ChinaEastVNet
(5)对于这2个VNet,都设置对方为本地网络
(6)注意:ChinaEastVNet和ChinaNorthVNet,它们的IP不能互相重叠
(7)示意图如下:
虚拟网络名称 | IP Rang | 需要连接的本地网络 |
ChinaEastVNet | 10.0.0.0/22 | ChinaNorthVNet |
ChinaNorthVNet | 10.1.0.0/22 | ChinaEastVNet |
2.在中国东部创建一个VNet,命名为ChinaEastVNet
(1)我们点击新建,网络->虚拟网络->自定义创建
(2)在中国东部创建虚拟网络,命名为ChinaEastVNet。如下图:
(3)根据实际业务需求,设置DNS服务器
(4)设置IP Rang和Subnet
3.在中国北部创建一个VNet,命名为ChinaNorthVNet
设置ChinaNorthVNet的Subnet
4.增加本地网络ChinaEastVNet和ChinaNorthVNet
(1)我们点击本地网络,增加本地网络
(2)先增加本地网络ChinaEastVNet,VPN设备IP地址我们这里随便设置的,后面会回来进行修改
(3)设置本地网络ChinaEastVNet的IP Rang和CIDR
(4)然后增加本地网络ChinaNorthVNet,VPN设备IP地址我们这里随便设置的,后面会回来进行修改
(5)设置本地网络ChinaNorthVNet的IP Rang和CIDR
(6)注意,我们在虚拟网络设置的Virtual Network ChinaEastVNet和ChinaNorthVNet的IP Rang,必须与本地网络设置的地址空间一致
5.设置Azure VNet ChinaEastVNet与本地网络ChinaNorthVNet的Site-To-Site VPN连接
(1)我们点击之前创建的虚拟网络ChinaEastVNet
(2)页面跳转,我们点击配置选项
(3)增加Virtual Network ChinaEastVNet,连接到本地网络ChinaNorthVNet。同时增加网关子网
(4)然后再设置虚拟网络ChinaNorthVNet
(5)增加Virtual Network ChinaNorthVNet,连接到本地网络ChinaEastVNet。同时增加网关子网
6.在Azure VNet创建VPN Gateway网关,并设置动态路由
页面跳转,点击创建网关->动态路由
然后我们对ChinaNorthVNet,也创建动态路由。图略。一般情况下,创建路由需要15分钟左右。
7.等待动态路由创建完毕后,我们重新设置本地网络的VPN网关地址
(1)我们在虚拟网络中,可以查看到ChinaEastVNet对应的VPN网关地址是:42.159.235.103
(2)ChinaNorthVNet对应的VPN网关地址是:42.159.27.208
(3)我们重新设置本地网络的VPN网关地址,修改本地网络ChinaEastVNet的VPN网关地址,为42.159.235.103
(4)然后再设置本地网络的VPN网关地址,修改本地网络ChinaNorthVNet的VPN网关地址,为42.159.27.208。图略。
(5)VPN网关设置完毕后,如下图:
8.连接VPN Gateway网关
(1)上面的步骤设置完毕后,我们就可以通过Azure PowerShell,来设置Azure Virtual Network IPSec VPN网关了
(2)以管理员身份,运行Azure PowerShell
#在弹出的界面中,输入Azure China用户名和密码
Add-AzureAccount -Environment AzureChinaCloud #选择当前订阅
Select-AzureSubscription 'POC' -current #设置ChinaEastVNet
Set-AzureVNetGatewayKey -VNetName ChinaEastVNet -LocalNetworkSiteName ChinaNorthVNet -SharedKey A1b2C3D4 #设置ChinaNorthVNet
Set-AzureVNetGatewayKey -VNetName ChinaNorthVNet -LocalNetworkSiteName ChinaEastVNet -SharedKey A1b2C3D4
(3)执行结果如下图:
(3)稍等片刻以后,就可以看到VNet-To-VNet通了
================================================分隔符============================================================
(1)最后别忘记,我们可以在中国东部和中国北部,分别创建2台Azure VM,加入到ChinaEastVNet和ChinaNorthVNet里
(2)通过这2台Azure虚拟机的内网,互相连接,以检验这2个Azure VNet可以互通互联。
我们分别通过远程桌面连接,连接到这2台Azure VM,记得先关闭操作系统的防火墙
上图中,位于上海数据中心的虚拟机,机器名为Lei2012CHNSH,内网IP地址为10.0.0.4
位于北京数据中心的虚拟机,机器名为Lei2012CHNBJ,内网IP为10.1.1.4
这2台虚拟机内网互通的延时约为32毫秒。
Windows Azure Virtual Network (11) 创建VNet-to-VNet的连接的更多相关文章
- [SDK2.2]Windows Azure Virtual Network (3) 创建AD Server并添加至Virtual Network
<Windows Azure Platform 系列文章目录> 在之前的文章中,笔者已经向大家介绍了如何创建一个简单的Azure Virtual Network. 本章我将创建一台域服务器 ...
- Windows Azure Virtual Network (11) 虚拟网络之间点对点连接VNet Peering
<Windows Azure Platform 系列文章目录> 在有些时候,我们需要通过VNet Peering,把两个虚拟网络通过内网互通互联.比如: 1.在订阅A里的Virtual N ...
- [SDK2.2]Windows Azure Virtual Network (2) 创建简单的Virtual Network
<Windows Azure Platform 系列文章目录> 本章笔者将介绍如何创建一个简单的 Virtual Network. 1.首先我们登陆Windows Azure管理界面 ht ...
- Windows Azure Virtual Network (8) 创建Azure Point-to-Site点到站点 VPN
<Windows Azure Platform 系列文章目录> 我们在使用Azure的时候,常常有这样的需求: -我需要将企业内网的主机连接到微软Azure公有云平台 -我需要保证企业内部 ...
- [SDK2.2]Windows Azure Virtual Network (4) 创建Web Server 001并添加至Virtual Network
<Windows Azure Platform 系列文章目录> 在上一章内容中,笔者已经介绍了以下两个内容: 1.创建Virtual Network,并且设置了IP range 2.创建A ...
- Windows Azure Virtual Network (13) 跨数据中心之间的虚拟网络点对点连接VNet Peering
<Windows Azure Platform 系列文章目录> 今天是大年初二,首先祝大家新年快乐,万事如意. 在笔者之前的文章中:Windows Azure Virtual Networ ...
- [SDK2.2]Windows Azure Virtual Network (1) 概念
<Windows Azure Platform 系列文章目录> Windows Azure Virtual Network是非常重要的概念,其主要作用有以下两点: 1.将多台Azure V ...
- Windows Azure Virtual Network (7) 设置Azure Virtual Machine固定公网IP (Virtual IP Address, VIP) (2)
<Windows Azure Platform 系列文章目录> 本文介绍的是,当用户在创建Azure Virtual Machine的时候,忘记绑定公网IP,需要重新绑定公网IP的具体操作 ...
- [Windows Azure] Windows Azure Virtual Network Overview
Windows Azure Virtual Network Overview 18 out of 33 rated this helpful - Rate this topic Updated: Ap ...
随机推荐
- 重启Ubuntu后Hadoop的namenode起不来的解决办法
因为Ubuntu每次重启之后都会将/tmp目录清空,而默认配置下每次hadoop name node -format总是将数据信息定位到/tmp/hadoop-${user.name}中,因此需要修改 ...
- 如何在ASP.NET 5上搭建基于TypeScript的Angular2项目
一.前言 就在上月,公司的一个同事建议当前的前端全面改用AngularJs进行开发,而我们采用的就是ASP.NET 5项目,原本我的计划是采用TypeScript直接进行Angular2开发.所以借用 ...
- Couchbase N1QL
Couchbase的 N1QL已经DP4了,在官方的文档中,Select * From like-table 这个like-table实际上指的是Couchbase中Bucket,那么对于早起版本Co ...
- 团队项目——站立会议 DAY8
第八次站立会议记录: 参会人员:张靖颜,钟灵毓秀,何玥,赵莹,王梓萱 项目进展: 1.张靖颜:在反复修改和审查后,处理功能模块代码出错处,完善并运行. 2.钟灵毓秀:再次检查代码,运行报错处的代码修改 ...
- .NET中Dictionary<TKey, TValue>浅析
.NET中Dictionary<TKey, Tvalue>是非常常用的key-value的数据结构,也就是其实就是传说中的哈希表..NET中还有一个叫做Hashtable的类型,两个类型都 ...
- 如何基于纯GDI实现alpha通道的矢量和文字绘制
今天有人在QQ群里问GDI能不能支持带alpha通道的线条绘制? 大家的答案当然是否定的,很多人推荐用GDI+. 一个基本的图形引擎要包括几个方面的支持:位图绘制,文字绘制,矢量绘制(如矩形,线条). ...
- Unity3D使用经验总结 优点篇
09年还在和其它小伙伴开发引擎的时候,Unity3D就初露头角. 当时就对这种基于组件式的设计结构很不理解. 觉得拆分过于细致,同时影响效率. 而时至今日,UNITY3D已经成为了众多团队的首选3D引 ...
- 细说.NET中的多线程 (五 使用信号量进行同步)
上一节主要介绍了使用锁进行同步,本节主要介绍使用信号量进行同步 使用EventWaitHandle信号量进行同步 EventWaitHandle主要用于实现信号灯机制.信号灯主要用于通知等待的线程.主 ...
- ECMAScript5 Array新增方法
数组在各个编程语言中的重要性不言而喻,但是在之前的JavaScript中数组(JavaScript 数组详解)虽然功能已经很强大,但操作方法并不完善,在ECMAScript5中做了适当的补充. Arr ...
- Git学习笔记(10)——搭建Git服务器
本文主要记录了Git服务器的搭建,以及一些其他的配置,和最后的小总结. Git远程仓库服务器 其实远程仓库和本地仓库没啥不同,远程仓库只是每天24小时开机为大家服务,所以叫做服务器.我们完全可以把自己 ...