连接到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 ...
随机推荐
- 12款最佳的 WordPress 语法高亮插件推荐
语法高亮工具增强了代码的可读性,美化了代码,让程序员更容易维护.语法高亮提供各种方式由以提高可读性和文本语境,尤其是对于其中可以结束跨越多个页面的代码,以及让开发者自己的程序中查找错误.在这篇文章中, ...
- Onsen UI – 新鲜出炉的 PhoneGap 界面框架
Onsen UI 是一个基于元素自定义的 HTML5 UI 框架,用于构建你的移动前端.这个一个基于 Web 组件的概念的框架,让构建应用程序变得更加轻松.Onsen UI 专门针对 PhoneGap ...
- 【zepto学习笔记03】事件机制
前言 我们今天直接进入事件相关的学习,因为近期可能会改到里面的代码就zepto来说,我认为最重要的就是选择器与事件相关了,随着浏览器升级,选择器简单了,而事件相关仍然是核心,今天我们就来学习学习 ze ...
- angular源码分析:angular中jqLite的实现——你可以丢掉jQuery了
一.从function JQLite(element)函数开始. function JQLite(element) { if (element instanceof JQLite) { //情况1 r ...
- 10本Java经典书目推荐
本文列出的10本书是我个人非常喜欢的Java书籍,当我有时间的时候,我就会将它们捧在手里阅读.甚至有些书我反复读过很多遍,每次重新读的时候总会有新的收获.因此这些书也是大部分Java程序员喜欢的书籍. ...
- 表达式语言EL
表达式语言EL 表达式语言 EL(Expression Language,表达式语言)主要是用在JSP页面中,用来辅助我们产生无脚本的JSP页面,此处的脚本指的是JSP中的Java代码. EL的语法是 ...
- Android 显示意图激活另外一个Actitity
1.跳转到一个新的Actitity 新建项目, 新建一个java类OtherScreenActivity 继承自 Activity类 package com.wuyudong.twoactivity; ...
- Android 创建一个新的Activity
本文转载自:http://www.cnblogs.com/wuyudong/p/5658020.html 新建一个项目,创建一个java类,继承自Activity 新建一个Android.xml文件: ...
- IOS整体项目层级构建
在创建IOS项目时,若有一个比较明确的层级架构,将对于今后代码的维护或者功能的扩展很有帮助:本文将通过一个实例来展现我对于层级的一些观点:里面有一些零碎的知识点可能无法全部介绍,到时提供源代码进行下载 ...
- mysql中数据类型的取值范围
mysql整型bigint.int.mediumint.smallint 和 tinyint的语法介绍,如下: 1.bigint 从 -2^63 (-9223372036854775808) 到 2^ ...