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 ...
随机推荐
- Runtime消息传送
person.h #import<Foundation/Foundation.h> @interfacePerson :NSObject + (void)eat; - (void)run: ...
- go runtime.Gosched() 和 time.Sleep() 做协程切换
网上看到个问题: package main import ( "fmt" "time" ) func say(s string) { ; i < ; i+ ...
- Hibernate自动创建表
只要在hibernate.cfg.xml添加这句话,就可以自动生成数据表 <property name="hibernate.hbm2ddl.auto">update& ...
- Centos6.6下安装MariaDB步骤,利用yum进行安装
1.在/etc/yum.repos.d/下建立MariaDB.repo文件 可以在Win下编辑好此文件,然后通过SSH远程复制过去. 2.MariaDB.repo内容要根据MariaDB官方提供的re ...
- 分布式系统之Quorum (NRW)算法
基于Quorum投票的冗余控制算法 Quorom 机制,是一种分布式系统中常用的,用来保证数据冗余和最终一致性的投票算法,其主要数学思想来源于鸽巢原理. 在有冗余数据的分布式存储系统当中,冗余数据对象 ...
- TypeScript - Classes
简介 JavaScript语言基于函数和原型链继承机制的方式构建可重用的组件.这对于OO方面编程来说显得比较笨拙.在下一代的JavaScript标准ECMAScript 6为我们提供了基于class ...
- [蓝牙] 5、Battery Service module
Detailed Description This module implements the Battery Service with the Battery Level characteristi ...
- linux环境 c 中如何执行shell命令
1 system 相当简单: int system(const char *command); system("ps -aux"); 2 popen popen有两个参数,第一个是 ...
- http流请求时,被请求站点HttpContext.Current为null?
我负责运维一个短信接口站点sms.调用上游短信供应商下发短信后,他们会给我们推送发送报告.报告是类似DELIVRD.DI:9432这样的码.为了方便识别,系统里有一个报告码与其描述的关系,一开始是写死 ...
- 去除NSString里面的空格
NSString *password = @"12 34"; [password stringByTrimmingCharactersInSet:[NSCharacterSet ...