连接到Windows Azure Point to Site VPN
Windows Azure支持两种模式的VPN接入:
- Site to Site,接入端需要有固定的公网IP地址,用于连接局域网和Windows Azure的虚拟网络。
- Point to Site,客户端使用Windows SSTP拨号,只支持Windows操作系统。用于开发测试和运维。
通过Point to Site VPN连接到Windows Azure,可以有效的提升系统安全——减少对外开放的端口数量,只保留应用程序的对外服务端口而关闭系统维护端口。例如:一个Web Server,只开放80或者443端口即可,SSH(22)或者RDP(3389)等维护端口就完全不需要对外开放了。当然,即便对外开放了维护端口,也可以通过设置ACL来确保访问安全。但是,ACL是基于IP地址的,特别是在国内复杂的网络环境中,设置基于IP地址的ACL并非是一件容易的事情——用户通过好多的层NAT上网,一个IP地址可能被N多用户共享。如果遇到突发情况,需要在家或者在办公室之外连接到Windows Azure进行系统维护,ACL就无能为力了。
首先,我们在虚拟网络上创建一个动态路由VPN网关。具体操作请参见Windows Azure的说明文档,在此不再赘述。VPN网关创建时间比较长,至少要20分钟才能ready。在等待的过程中,我们来创建Point to Site VPN所需的证书。
创建证书需要使用“makecert”,如果已经安装了Visual Studio,那么可以直接通过Visual Studio命令行来使用“makecert”。没有安装Visual Studio也别担心,为了制作一个数字证书而安装一个“巨无霸”开发工具显然是划不来的。其实“makecert”只要三个文件就可以运行了。需要的同学可以点击这里下载。
第一步,制作root证书:
makecert -sky exchange -r -n "CN=[root证书名称]" -pe -a sha1 -len 2048 -ss My "[root证书文件名].cer"
建议将root证书长期保留,除了Point to Site VPN,还有很多地方用得上。默认root证书有效期到2039年(差不多能用到退休)。执行上述命令后,当前目录下会生成一个"[root证书文件名].cer"文件,将这个文件上传到Windows Azure虚拟网络中。
第二步,使用root证书签发客户端证书:
makecert.exe -n "CN=[客户端证书名称]" -pe -sky exchange -m 3 -ss My -in "[root证书名称]" -is my -a sha1
其中,“-m”参数是指定客户端证书的有效月数,建议不要超过3个月,这样可以通过重新签发客户端证书来增强安全性,特别是在多人使用的情况下。当然,也可以为每个使用VPN的用户签发一个独立的客户端证书。
当VPN网关创建完成,root证书也顺利上传后,在虚拟网络的dashboard页就可以下载到VPN客户端的安装包了,注意请根据自己的操作系统选择正确的版本:32位或者64位。运行这个安装包,就会在本地创建一个新的网络连接,点击新创建的网络连接,就可以建立起到Windows Azure虚拟网络的VPN连接!
如果要将客户端证书分发给多个用户使用,那么在本地执行“certmgr.msc”,找到“个人”证书存储区,将客户端证书连同私钥一起导出为".pfx"文件后供其他用户在本地(用户自己的计算机上)执行客户端证书导入(双击".pfx"即可)。客户端证书正确导入后,再运行VPN客户端安装包创建新的VPN连接。注意:导出客户端证书时,需要设置一个导入密码,请将将此密码告知需要导入客户端证书的用户。
我们来总结一下Point to Site VPN的特性:
- Windows Azure只能给Point to Site VPN分配一个C类网段,因此,同时拨入Point to Site VPN的客户端数量是有限制的,理论上不超过250个。
- 客户端只支持Windows操作系统,Mac OS X和Linux无法使用。
- 客户端连接到VPN后,不会改变本地网络的出口路由(连接到Internet的路由),用Point to Site VPN连接国际版Microsoft Azure进行FQ是肯定没戏的。
- 客户端建立VPN连接时不需要使用用户名和密码来验证身份,因此客户端证书就是唯一的身份验证凭据。
- 如果出现客户端证书泄漏,可以在虚拟网络中将上传的root证书删除。这样所有使用该root证书签发的客户端证书都会失效。
连接到Windows Azure Point to Site VPN的更多相关文章
- 通过基于 Linux 的软件 VPN 设备连接到 Windows Azure 虚拟网络
摘要 本文章将说明如何通过使用软件 VPN 设备,将本地办公室或站点连接到 Windows Azure 虚拟网络.在构建原型或在构建可以尽快利用云的"开发/测试"工作流时,软件VP ...
- Microsoft Azure Point to Site VPN替代方案
Microsoft Azure提供了Point to Site VPN,但有时候这并不能满足我们的需求,例如:Point to Site VPN是SSTP VPN,只能支持Window客户端拨入,而且 ...
- 在Windows Azure上搭建SSTP VPN
在国内,VPN是用来干嘛的大家都懂的.很久之前我尝试用Azure的Virtual Network搞VPN结果惨败了.最近微博上有基友写了篇文章亲测可行,原文在这里.可惜是英文的.所以我的这篇文章仅仅是 ...
- Windows Azure上搭建SSTP VPN
一.服务器设置 首先,从0开始,你需要创建一个新的VM.我选择Windows Server 2012 R2,所有步骤和创建普通VM都一样,但最后在防火墙设置里一定要打开TCP 443端口: 创建完成后 ...
- 使用Openswan接入Windows Azure Site to Site VPN
Winodows Azure的Site to Site VPN支持主流的防火墙和路由器等接入设备.具体型号和系列请参考下表: VENDOR DEVICE FAMILY MINIMUM OS VERSI ...
- 跨云应用部署第一步:使用IPSEC VPN连接AWS中国版和Windows Azure中国版
随着公有云的普及,越来越多的客户将关键应用迁移到云端.但是事实证明,没有哪家云服务提供商可以提供100%的SLA,无论是例行维护还是意外中断服务,对于客户的关键应用而言,都会受到不同程度的影响.此外, ...
- 将内部部署网络和 Windows Azure 集成的新选项: 使用AT&T
关于云计算的主要对话围绕着向云迁移展开.今天,我们宣布与 AT&T 结为战略联盟,共同为客户提供云计算服务.这一合作伙伴关系将授权客户访问 Windows Azure,作为其现有数据中心的逻辑 ...
- 使用 IIS Manager 对 Windows Azure 网站进行远程管理
最近,我们为客户新增了使用 Windows自带的 IIS管理控制台管理 Azure网站的功能.IIS Manager支持 HTTP over SSL,提供到您的 Windows Azure 网站 ...
- 简化 Web 应用程序与 Windows Azure Active Directory、ASP.NET 和 Visual Studio 的集成
大家好! 今天的博文深入讨论我们今天推出的开发人员工具和框架中的一些新功能.我们通过与 ASP.NET 和 Visual Studio 团队合作开发了一些重大的增强功能,让开发人员能够轻松使用 Win ...
随机推荐
- Redis-分片
分片(partitioning)就是将你的数据拆分到多个 Redis 实例的过程,这样每个实例将只包含所有键的子集.本文第一部分将向你介绍分片的概念,第二部分将向你展示 Redis 分片的可选方案. ...
- JavaScript解析URL参数
创建一个Js类: var Request = { QueryString: function (item) { var svalue = location.search.match(new RegEx ...
- 一款很实用的jQuery鼠标悬浮有动画效果的响应式瀑布流插件
一款很实用的jQuery鼠标悬浮有动画效果的响应式瀑布流插件 在线预览 下载地址 实例代码 <!doctype html> <html lang="zh"> ...
- Shepherd – 在应用程序中轻松实现引导功能
Shepherd 是一个指导用户使用应用程序的 JavaScript 库.它使用 Tether——另一个开源库,实现所有的步骤.Tether 确保你的步骤不会溢出屏幕或被剪裁.你可以很容易地指导用户使 ...
- jQuery的eq方法
定义和用法eq() 方法将匹配元素集缩减值指定 index 上的一个. 语法.eq(index) 其中的index :整数,指示元素的位置(最小为 0).如果是负数,则从集合中的最后一个元素往回计数. ...
- sublime text 之添加插件 并使用
通过package controll install 安装各种插件: 1:AdvancedNewFile,安装完毕后 快捷键:ctr+alt+n:输入框中输入你要创建的文件夹和文件,就创建好了. ...
- javascript中this关键字详解
不管学习什么知识,习惯于把自己所学习的知识列成一个list,会有助于我们理清思路,是一个很好的学习方法.强烈推荐. 以下篇幅有点长,希望读者耐心阅读. 以下内容会分为如下部分: 1.涵义 1.1:th ...
- 2015年Java开发岗位面试题归类
一.Java基础 1. String类为什么是final的. 2. HashMap的源码,实现原理,底层结构. 3. 说说你知道的几个Java集合类:list.set.queue.map实现类咯... ...
- NSFileHandle
/* 文件处理句柄要完成的工作: 相当于C中的文件操作,诸如 打开,读,写,关闭,修改文件偏移量等行为 类名: NSFileHandle 注意: 操作句柄时,重点把握文件的偏移量在哪个位置 重点 ...
- 【代码笔记】iOS-城市plist
一,效果图. 二,工程图. 三,代码. RootViewController.h #import <UIKit/UIKit.h> @interface RootViewController ...