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的更多相关文章

  1. 通过基于 Linux 的软件 VPN 设备连接到 Windows Azure 虚拟网络

    摘要 本文章将说明如何通过使用软件 VPN 设备,将本地办公室或站点连接到 Windows Azure 虚拟网络.在构建原型或在构建可以尽快利用云的"开发/测试"工作流时,软件VP ...

  2. Microsoft Azure Point to Site VPN替代方案

    Microsoft Azure提供了Point to Site VPN,但有时候这并不能满足我们的需求,例如:Point to Site VPN是SSTP VPN,只能支持Window客户端拨入,而且 ...

  3. 在Windows Azure上搭建SSTP VPN

    在国内,VPN是用来干嘛的大家都懂的.很久之前我尝试用Azure的Virtual Network搞VPN结果惨败了.最近微博上有基友写了篇文章亲测可行,原文在这里.可惜是英文的.所以我的这篇文章仅仅是 ...

  4. Windows Azure上搭建SSTP VPN

    一.服务器设置 首先,从0开始,你需要创建一个新的VM.我选择Windows Server 2012 R2,所有步骤和创建普通VM都一样,但最后在防火墙设置里一定要打开TCP 443端口: 创建完成后 ...

  5. 使用Openswan接入Windows Azure Site to Site VPN

    Winodows Azure的Site to Site VPN支持主流的防火墙和路由器等接入设备.具体型号和系列请参考下表: VENDOR DEVICE FAMILY MINIMUM OS VERSI ...

  6. 跨云应用部署第一步:使用IPSEC VPN连接AWS中国版和Windows Azure中国版

    随着公有云的普及,越来越多的客户将关键应用迁移到云端.但是事实证明,没有哪家云服务提供商可以提供100%的SLA,无论是例行维护还是意外中断服务,对于客户的关键应用而言,都会受到不同程度的影响.此外, ...

  7. 将内部部署网络和 Windows Azure 集成的新选项: 使用AT&T

    关于云计算的主要对话围绕着向云迁移展开.今天,我们宣布与 AT&T 结为战略联盟,共同为客户提供云计算服务.这一合作伙伴关系将授权客户访问 Windows Azure,作为其现有数据中心的逻辑 ...

  8. 使用 IIS Manager 对 Windows Azure 网站进行远程管理

     最近,我们为客户新增了使用 Windows自带的 IIS管理控制台管理 Azure网站的功能.IIS Manager支持 HTTP over SSL,提供到您的 Windows Azure 网站 ...

  9. 简化 Web 应用程序与 Windows Azure Active Directory、ASP.NET 和 Visual Studio 的集成

    大家好! 今天的博文深入讨论我们今天推出的开发人员工具和框架中的一些新功能.我们通过与 ASP.NET 和 Visual Studio 团队合作开发了一些重大的增强功能,让开发人员能够轻松使用 Win ...

随机推荐

  1. js 字符串 replace replaceAll

    var str = "男的女的老的少的"; alert(str.replace('的','')); 可以看到替换后的str的值为"男女的老的少的",replac ...

  2. Lua-面向对象中函数使用时冒号(:)和点(.)的区别

    先来看一段简单的代码: local Animal = {} function Animal:Eat( food ) print("Animal:Eat", self, food) ...

  3. 15款优雅的 WordPress 电子商务网站主题

    WordPress 电子商务网站主题今年非常流行,特别是对那些想要在几分钟内创建一个在线商店,但又没有掌握网络开发的很多知识的人来说.WordPress 是一个功能强大的 CMS,它的灵活性和可用性是 ...

  4. arcgis engine 调用arcgis server服务

    首先需要添加两个引用: using ESRI.ArcGIS.GISClient;using ESRI.ArcGIS.DataSourcesRaster; /// <summary> /// ...

  5. EXCEL经纬度转化

    =LEFT(A1,FIND("°",A1)-1)+MID(A1,FIND("°",A1)+1,FIND(CHAR(39),A1)-1-FIND("°& ...

  6. 高性能JS笔记3——DOM编程

    一.访问与修改DOM DOM和JS 相当于两个岛屿,访问操作的次数越多,要交的过路费越多,对性能产生很大影响. 减少访问DOM的次数,把运算尽量留在JS端操作. 二.innerHTML 对比 DOM ...

  7. Java虚拟机JVM学习07 类的卸载机制

    Java虚拟机JVM学习07 类的卸载机制 类的生命周期 当Sample类被加载.连接和初始化后,它的生命周期就开始了. 当代表Sample类的Class对象不再被引用,即不可触及时,Class对象就 ...

  8. 配置redis外网可访问,并只允许指定的ip可访问redis

    开启redis 允许外网IP 访问 在 Linux 中安装了redis 服务,当在客户端通过远程连接的方式连接时,报could not connect错误. 错误的原因很简单,就是没有连接上redis ...

  9. RapidFloatingActionButton框架正式出炉

    以下内容为原创,欢迎转载,转载请注明 来自天天博客:http://www.cnblogs.com/tiantianbyconan/p/4474748.html RapidFloatingActionB ...

  10. java 实现https请求

    java 实现https请求 JSSE是一个SSL和TLS的纯Java实现,通过JSSE可以很容易地编程实现对HTTPS站点的访问.但是,如果该站点的证书未经权威机构的验证,JSSE将拒绝信任该证书从 ...