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 ...
随机推荐
- 使用gson在解析unicode时遇到的问题
之前在用gson解析的时候未记录下来,所以今天做一个小的总结, 比如遇到像这种"\u003d"的unicode的字符,我们想解码这个字符,用gson可以这样表达 Gson gson ...
- phoenix 开发API系列(一)创建简单的http api
安装 phoenix framework 安装 phoenix 很简单: mix archive.install https://github.com/phoenixframework/archive ...
- monodb C#接口封装
mongodb的C#封装,驱动是samus/mongodb-csharp 1.连接类 using MongoDB; using MongoDB.Linq; namespace DBModel { pu ...
- 可在广域网部署运行的QQ高仿版 -- GG叽叽V2.0,增加网盘和远程磁盘功能(源码)
尽力2~3周发布一个版本,我这次也没有失言.这段时间内,我仿照QQ的微云功能,在GG中增加了网盘的功能,而且,我还自创了一个QQ没有的新的功能:远程磁盘.正如远程桌面一样,远程磁盘允许我们像访问本地磁 ...
- 【Bugly干货分享】iOS内存管理:从MRC到ARC实践
Bugly 技术干货系列内容主要涉及移动开发方向,是由Bugly邀请腾讯内部各位技术大咖,通过日常工作经验的总结以及感悟撰写而成,内容均属原创,转载请标明出处. 对于iOS程序员来说,内存管理是入门的 ...
- Sensor(GYROSCOPE)
package com.example.sensor01; import java.util.List; import android.hardware.Sensor; import android. ...
- 自己写一个java.lang.reflect.Proxy代理的实现
前言 Java设计模式9:代理模式一文中,讲到了动态代理,动态代理里面用到了一个类就是java.lang.reflect.Proxy,这个类是根据代理内容为传入的接口生成代理用的.本文就自己写一个Pr ...
- nw.js如何处理拖放操作
nw.js如何处理拖放操作 其实拖放(drag-drop)操作是Html5的功能,不是nw.js的内置API,那么我们采用Html5应用一般的处理方法就可以了. 首先我们看一下一个正常的页面,直接拖放 ...
- SQL 行列倒置
SQL的的行列倒置已经不是新知识了,但在博主的技术咨询期间,仍发现其实有很多人并不了解这块,所以在此专门写一篇博客记录.本文将以Mysql为例,并以数据采集指标信息获取为例子.在下面的例子,你可以在s ...
- 缓存篇(Cache)~第一回 使用static静态成员实现服务器端缓存(导航面包屑)
返回目录 今天写缓存篇的第一篇文章,在写完目录后,得到了一些朋友的关注,这给我之后的写作带来了无穷的力量,在这里,感谢那几位伙伴,哈哈! 书归正传,今天我带来一个Static静态成员的缓存,其实它也不 ...