Windows Azure Virtual Network (8) 创建Azure Point-to-Site点到站点 VPN
《Windows Azure Platform 系列文章目录》
我们在使用Azure的时候,常常有这样的需求:
-我需要将企业内网的主机连接到微软Azure公有云平台
-我需要保证企业内部的网络与微软Azure公有云平台建立VPN连接
通过Azure Virtual Network中的Point-To-Site VPN,就可以实现将企业内网的一台主机(VPN客户端)与Azure Virtual Network中的网络进行连接
-这里的Point指的就是企业内网的一台主机(VPN客户端)
-这里的Site是指Azure Virtual Network的网络
-这样可以实现将企业内网的一台主机与云端网络互通互联,同时通过VPN保证网络的安全性
注意:
-企业内网的主机需要安装VPN客户端
-支持以下客户端操作系统:
Windows 7 (32位和64位)
Windows Server 2008 R2(仅支持64位)
Windows 8(32位和64位)
Windows Server 2012(仅支持64位)
-Point-to-Site VPN是使用SSTP VPN
请注意,如果您首次创建了Azure Virtual Network时候,没有创建Point-to-Site VPN。将来想再次设置P-to-S VPN会失败,所以规划好Azure Point-to-Site VPN是非常重要的。
本章,笔者将使用Azure Virtual Network,将笔者使用的T430s笔记本电脑与Azure Virtual Network打通VPN连接。
配置虚拟网络和动态路由网关
1.首先登陆Azure管理界面。https://manage.windowsazure.com
2.在左侧面板中的Networks,然后点击右侧列表的Create a virtual network。如下图:

3.在Virtual Network Details里。设置name为P2SVNet,地区我们选择East Asia香港的数据中心。如下图:

4.在DNS Server and VPN Connectivity窗口中。
- DNS Server中设置我们需要的 DNS服务器。这里我选择的是192.168.0.4
- 勾选Configure a point-to-site VPN
- 注意:如果想让加入该Point-to-site VPN里的本地电脑和云端虚拟机能够正常使用DNS服务的话,
需要在下图左侧DNS Server中,将DNS设置为Google 服务器8.8.8.8或者电信DNS服务器114.114.114.114
如下图:

5.在Point-to-Site Connectivity中。设置VPN客户端的IP Range。
请注意下图的VPN客户端的IP Range不能与本地网络上的任何IP Rang相重叠。

6.在Virtual Network Address Space中,设置Azure云平台虚拟网络的地址范围。(请注意下图的IP Rang不要与本地网络所用地址范围重叠)
因为笔者在步骤四中,设置了DNS Server地址为192.168.0.4。所以笔者在下图中设置的VNet Address Space IP Rang为192.168.0.0-192.168.0.255。
同时点击"Add Gateway Subnet"按钮,设置Virtual Network的 Gateway。如下图:

7.创建完毕后,我们就可以在列表中查看到之前创建的Point-to-Site VPN

8.创建完毕后,我们点击"Create Gateway"按钮,创建Azure Virtual Network Gateway
创建Gateway的时间会比较长,请耐心等待。

8.回顾:
VPN客户端的设置为
IP Rang为10.0.0.1 - 10.0.0.254
Virtual Network的设置为
IP Rang为192.168.0.0 - 192.168.0.254
Sunet-1 IP Rang为192.168.0.4 - 192.168.0.126
Gateway为192.168.0.132 - 192.168.0.134
DNS地址为192.168.0.4 (可以配置Google服务器8.8.8.8 或者电信服务器114.114.114.114)
9.然后我们先创建一台Azure Virtual Machine,并添加到P2SVNet这个虚拟网路里。注意在指定用户名和密码的时候,输入和您本地用户一样的用户名和密码。(因为虚拟网络上的虚拟机不在主域控制器管理下)。
这台虚拟机的名称我们设置为LeiP2SVM。这台机器创建完毕后,Private IP为192.168.0.4

创建证书
1.在笔者的T430s笔记本上,使用证书创建工作(makecert.exe)是创建X.509证书的一种方法。
2.以管理员身份运行命令提示符(CMD)。
3.在makecert.exe目录(例如C盘目录)下,运行一下命令行,生成客户端根证书
makecert -sky exchange -r -n "CN=RootCertificateName" -pe -a sha1 -len 2048 -ss My "RootCertificateName.cer"
执行完毕后,在C盘根目录下会生成RootCertificateName.cer证书文件,并且该命令将在你的计算上的"个人"证书存储区中创建和安装根证书。
4.将该证书上载到管理门户。点击之前创建的虚拟网路P2SVNet,点击Certificates,然后点击Upload a Root Certificate。
将C:\RootCertificateName.cer证书文件上传。

生成客户端证书
1.在笔者的T430s笔记本里,以管理员身份运行命令提示符(CMD),在makecert.exe目录,执行以下命令:
makecert.exe -n "CN=ClientCertificateName" -pe -sky exchange -m 96 -ss My -in "RootCertificateName" -is my -a sha1
2.会在你的“个人”证书存储区中生成一个名为“ClientCertificateName”的客户端证书。如下图:

3.如果其他客户端需要连接到Azure Virtual Network VPN,只需要在我的Thinkpad T30s,导出ClientCertificateName证书(同时导出的时候,添加私钥)。在其他的客户端导入ClientCertificateName证书即可。
配置VPN客户端
1.回到Azure Management Portal,下载VPN客户端
-支持以下客户端操作系统:
Windows 7 (32位和64位)
Windows Server 2008 R2(仅支持64位)
Windows 8(32位和64位)
Windows Server 2012(仅支持64位)
选择下载与所安装到的客户端操作系统对应的程序包
-对于32位客户端,选择"下载32位客户端VPN程序包"
-对于64位客户端,选择"下载64位客户端VPN程序包"
如下图:

2.下载后请安装VPN,然后会在本地就算机会出现VPN连接。如下图:

3.会弹出VPN客户端程序,如下图:

4.
Windows Azure Virtual Network (8) 创建Azure Point-to-Site点到站点 VPN的更多相关文章
- [SDK2.2]Windows Azure Virtual Network (3) 创建AD Server并添加至Virtual Network
<Windows Azure Platform 系列文章目录> 在之前的文章中,笔者已经向大家介绍了如何创建一个简单的Azure Virtual Network. 本章我将创建一台域服务器 ...
- Windows Azure Virtual Network (7) 设置Azure Virtual Machine固定公网IP (Virtual IP Address, VIP) (2)
<Windows Azure Platform 系列文章目录> 本文介绍的是,当用户在创建Azure Virtual Machine的时候,忘记绑定公网IP,需要重新绑定公网IP的具体操作 ...
- [SDK2.2]Windows Azure Virtual Network (2) 创建简单的Virtual Network
<Windows Azure Platform 系列文章目录> 本章笔者将介绍如何创建一个简单的 Virtual Network. 1.首先我们登陆Windows Azure管理界面 ht ...
- [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 (11) 创建VNet-to-VNet的连接
<Windows Azure Platform 系列文章目录> 我们知道,Azure Virtual Network可以 1.将对台Azure VM加入到同一个网段里,同时绑定内网IP地址 ...
- Windows Azure Virtual Network (5) 设置Azure Virtual Machine固定Private IP
<Windows Azure Platform 系列文章目录> 注意:本文介绍的是Global Azure (http://www.windowsazure.com),如果你使用的是由世纪 ...
- Windows Azure Virtual Network (6) 设置Azure Virtual Machine固定公网IP (Virtual IP Address, VIP) (1)
<Windows Azure Platform 系列文章目录> 注意:本文介绍的是Global Azure (http://www.windowsazure.com),如果你使用的是由世纪 ...
- Windows Azure Virtual Network (10) 使用Azure Access Control List(ACL)设置客户端访问权限
<Windows Azure Platform 系列文章目录> 本文介绍的是国内由世纪互联运维的China Azure. 我们在创建完Windows Azure Virtual Machi ...
- [New Portal]Windows Azure Virtual Machine (19) 关闭Azure Virtual Machine与VIP Address,Internal IP Address的关系(1)
<Windows Azure Platform 系列文章目录> 默认情况下,通过Azure Management Portal创建的Public IP和Private IP都是随机分配的. ...
随机推荐
- DirectXMath
DirectXMath 是Windows平台下的数学库,DirectXMath 库基于 XNA Math C++ SIMD library version 2.04 . DirectXMath 库 ...
- ng2-timesheet, 一个timesheet.js的angular2复制版
一个 timesheet.js (JavaScript library for HTML5 & CSS3 time sheets) 的 Angular 2 复制版 用法: npm instal ...
- .Net Core下如何管理配置文件
一.前言 根据该issues来看,System.Configuration在.net core中已经不存在了,那么取而代之的是由Microsoft.Extensions.Cnfiguration.XX ...
- 算法:POJ1006 三重峰值问题
这题有直接套公式的解法 这里提供一个O(n)的解法. package practice; import java.io.BufferedInputStream; import java.util.Sc ...
- Flume概述和简单实例
Flume概述 Flume是一个分布式.可靠.和高可用的海量日志采集.聚合和传输的系统.支持在日志系统中定制各类数据发送方,用于收集数据;同时,Flume提供对数据进行简单处理,并写到各种数据接受方( ...
- 使用Struts 拦截namespace进行权限控制
有时候我需要在几个包下都需要进行同一个权限控制.如在购物网站中,我们需要进入个人中心.下订单.评价商品等等都需要进行登录权限控制,但是这几个模块并不是位于同一个package下.Struts提供的拦截 ...
- AWS系列之二 使用EC2
在本文中我们有三个任务. 第一:使用Amazon management console创建一个EC2实例. 第二:使用本地的命令行工具远程登陆到该EC2实例. 第三:在该EC2实例上创建一个web服务 ...
- Hibernate inverse用法(转载)
出处:http://blog.csdn.net/xiaoxian8023/article/details/15380529 一.Inverse是hibernate双向关系中的基本概念.inverse的 ...
- IOS Animation-贝塞尔曲线与Layer简单篇(一)
IOS Animation-贝塞尔曲线与Layer简单篇 swift篇 1.介绍 贝塞尔曲线: 贝塞尔曲线是计算机图形图像造型的基本工具,是图形造型运用得最多的基本线条之一.它通过控制曲线上的四个点( ...
- JS数组的concat、push等方法,操作的是地址指针,而非内存操作
var a = [{x:1}, {y:1}, {z:3}]; var b = a.concat(['gg', 'ff']); var c = []; c.push(a[1]); console.log ...