一、服务器设置

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

创建完成后,远程桌面进去,在自动弹出的“Server Management”里面点击“Add roles and features”,一路Next到“Server Roles”,然后勾选Remote Access。

再一路Next到“Role Services”,选择"DirectAccess and VPN(RAS)"、"Routing"。

然后一路Next并慢慢等待安装。安装完成后你会发现还需要配置才可以使用:

点击"Server Manager"右上角的旗帜图标,选择“Open the Getting Started Wizard”

在弹出的向导中选择最后一项:Deploy VPN Only

然后在本机名称(就是你的VM名称,我这里是EDIVPN)上点击右键,选择“Configure and Enable Routing and Remote Access”

在弹出的向导中选择“Custom configuration”

然后把“VPN access”和“NAT”选上,一路next到底。

最后向导会提示你需要启动服务,点击“Start service”

接下来我们需要配置一个VPN使用的安全证书。新建的VM虽然有个默认证书但不符合我们的要求,最后导出的时候无法选择private key,所以我们要用大微软的工具自己生成一个证书。

工具叫做Internet Information Services (IIS) 6.0 Resource Kit Tools,到这里下载:http://www.microsoft.com/en-us/download/details.aspx?id=17275

安装完成后在你的开始屏幕,App里能找到selfssl这个工具,以管理员身份运行

然后运行这条命令生成SSL证书:

记住,此处你的VM名字一定要用大小写区别于你在azure里创建的VM名字。比如我在azure里用的是edivpn,那么这里我就要用EdiVPN。总之一定要有区别!

selfssl.exe /N:cn=你的VM名字.cloudapp.net /V:3650
 
 

3650的意思是有效期为10年。选择Y确认,不要在意那个“Error opening metabase”的错误。

然后运行“mmc”,点击File, Add/Remove Snap-in

选择Certificates,点击Add,然后选择Computer account

 
选择Local computer,点击Finish,一路到底。
 
 

在Certificates, Personal, Certificates下面找到刚才用selfssl创建的证书,这里要注意区分大小写。这就是为什么刚才在selfssl的时候用大小写区别机器名。

在证书上点击右键,All Tasks,选择Export。

一路Next,在private key的一部里选择“Yes,export the private key”

然后建议大家设置个密码保护证书,以免被别人拿去用你的VPN。

最后给文件取个有意义的名字然后保存下来。然后也拷贝一份到你本地机器上。

现在回到Routing and Remote Access的窗口。右击你的机器名,打开Properties对话框。

在Security标签页下方,选择刚才用selfssl创建的证书(现在知道为什么要区别大小写了吧)

然后再IPv4标签页里,选择“Static address pool”,并根据自己需分配一个地址段给你的VPN客户端使用。

点击OK退出对话框。这时候会要你重启服务,点击Yes重启。

然后展开IPv4节点,在NAT下面右键,选择New Interface...

这里选择你VM的外部连接,也就是互联网连接。这个连接每次VM重启都会变,所以每次重启VPN服务器后都要重新设置一下。不然你的VPN虽然能连上但不能上网!!!

选择"Public interface connected to the Internet",勾选"Enable NAT on this interface"

完成设置后,我们还需要创建VPN账户。运行lusrmgr.msc(账户管理)打开用户账户管理。

在Users下面建立你的VPN账号。千万不要选择“User must change password at next logon”

账户创建完成后无需加入管理员组。但需要在账户属性的Dial-in标签页里面选择“Allow access”

至此,服务器上的设置全部完成。

L2TP VPN Deployment

部署 L2TP VPN时,我们首先应当在Windows Azure中开启一些 UDP 端口。

L2TP port: UDP 1701

IPsec port: UDP 500

IKEv2 port: UDP 4500

此外,在Windows Server防火墙添加例外。

然后打开 RRAS management tools,右键单击服务器,选择 Properties 和 Security 选项卡。

选中 “Allow custom IPsec policy for L2TP/IKEv2 connection” 并输入Preshared Key(预共享密钥)。

二、客户端设置

双击安装刚才拷贝到你本机的安全证书,在导入向导里选择“本地计算机”

证书储存里面选择“受信任的根证书颁发机构”

导入完成后,在网络与共享中心里新建一个VPN连接。

VPN服务器的地址一定要用azure自带的那个.cloudapp.net的域名,不要绑定自己的域名不然肯定会爆。

然后别急,先不要连接,不然还是要爆!

在适配器设置里找到你的vpn连接,在安全选项卡里选择SSTP,需要加密,允许使用这些协议,Microsoft CHAP

现在你就可以使用VPN了。输入你刚才在服务器上创建的账号密码连接到你的VPN虚拟机。

显示已连接就说明SSTP的连接成功了。

最后总结一下要注意的地方:

1. Extra Small的VM是免费的,但不要直接建立这种VM,先建个small,再改成extra small(注意重启后重新配置NAT)

2. 如果你是用现有的VM搞VPN,注意在Azure的防火墙设置里打开TCP 443端口

3. Azure VM的位置随意,即使在East Asia也是可以**的。但你的Azure一定要是Global版的,国内世纪互联的那个是不可以**的。

客户端使用vpn类型 为 L2TP 时 使用如下设置

选择 高级设置 输入预共享秘钥

以上转载自 http://diaosbook.com/Post/2014/3/9/setup-sstp-windows-azure

客户端 win764位  连接 提示错误

x800b0109“已处理证书链,但是在不受信任提供程序信任的根证书中终止。(A certificate chain processed, but terminated in a root certificate which is not trusted by the trust provider.

错误处理

导入证书时候 没有出现 存储证书位置 选项 本地计算机 这个选项 ,所以出现 证书错误的提示。

解决办法

开始 ---运行 ----mmc

打开控制台 中 选择 文件---添加/删除管理单元

下一步 选择 本地计算机 选项

点击确定

选择   “受信任的根证书颁发机构”

右键 “证书” 所有任务----导入

导入证书

重新连接vpn 成功。

Windows Azure上搭建SSTP VPN的更多相关文章

  1. 在Windows Azure上搭建SSTP VPN

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

  2. 在Azure上搭建L2TP服务器

    L2TP是常用的一种point-site的VPN.而目前在Azure上的VPN Gateway只支持IPsec和SSTP两种.如果客户需要L2TP服务器,需要自己在VM中搭建.本文将介绍如何在Azur ...

  3. 连接到Windows Azure Point to Site VPN

    Windows Azure支持两种模式的VPN接入: Site to Site,接入端需要有固定的公网IP地址,用于连接局域网和Windows Azure的虚拟网络. Point to Site,客户 ...

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

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

  5. 如何将SQL Server运行到Windows Azure上

    从2012年6月6日开始,Windows Azure上一些强大的新功能现在可用于预览,包括新的Windows Azure虚拟机(VM).其中有关Windows Azure虚拟机最强大的一件事是他们利用 ...

  6. 快速学习使用 Windows Azure 上的 SharePoint Server 2013

     为了在当今的企业环境中占据一席之地,您需要能够迅速顺应变化和应对挑战.有时,需要及时调整您的SharePoint 基础结构以保持竞争优势. 基础结构即服务可通过随时使用.即付即用的解决方案应对这 ...

  7. 微软.NET年芳15:我在Azure上搭建Photon服务器(C#.NET)

    网上火热的“微软.NET年芳15”文章,我也得写点什么嘛,毕竟我还是现任的微软MVP. 摘录网上的“.NET 15周年”信息如下: 微软的 .NET 框架本周迎来了 15 岁生日..NET 的第一个版 ...

  8. JMeter--二、在Windows环境上搭建wordpress

    为了学习使用JMeter,在Windows环境上搭建了wordpress. 使用JMeter录制或是编写登录worepress.编辑文章.删除文章的脚本. 首先了解一下wordpress是什么? Wo ...

  9. 在 Windows Azure 上部署并定制化 FreeBSD 虚拟机镜像

     发布于 2014-12-11 作者 陈阳 FreeBSD 基础镜像现已登陆中国的 VM Depot! 对于青睐 BSD 而非 Linux 的开源爱好者来说,这无疑是个好消息.同时,随着该基础镜像 ...

随机推荐

  1. refreshLayout 和 滑动控件的冲突解决

    listView.setOnScrollListener(new OnScrollListener() {           @Override     public void onScrollSt ...

  2. xcode 真机调试 failed to get the task for process xxx

    xcode 真机调试 failed to get the task for process xxx 此错误原因是,使用 in house profile 签名了真机调试的证书: 在 target--- ...

  3. Unity视频播放的各种实现方式汇总

    http://www.taidous.com/bbs/article-860-1.html  Unity视频播放有很多种实现方式,可根据要求来选择适当的实现,这里总结一下: 1. MovieTextu ...

  4. 高可用性中的脑裂问题(split-brain problem in HA)(转)

    欢迎关注我的社交账号: 邮箱: jiangxinnju@163.com 博客园地址: http://www.cnblogs.com/jiangxinnju GitHub地址: https://gith ...

  5. MySQL中基本的多表连接查询教程

    一.多表连接类型1. 笛卡尔积(交叉连接) 在MySQL中可以为CROSS JOIN或者省略CROSS即JOIN,或者使用','  如: SELECT * FROM table1 CROSS JOIN ...

  6. Mybatis 学习-1

    本次MyBatis基础实例教程主要讲述MyBatis在项目中的配置方法,实体对象的关系映射.关联关系,以及如何实现一个BaseDao的功能 实例数据库的表结构 CREATE TABLE `blog_u ...

  7. PHP Warning: ob_start() : output handler 'ob_gzhandler conflicts with 'zlib output compression'

    安装phpcms过程中,会遇到Warning:  ob_start() : output handler 'ob_gzhandler conflicts with 'zlib output compr ...

  8. iOS 推送全解析

    本文旨在对 iOS 推送(以下简称 推送)进行一个完整的剖析,如果你之前对推送一无所知,那么在你认真地阅读了全文后必将变成一个推送老手,你将会对其中的各种细节和原理有充分的理解.以下是 pikacod ...

  9. 去除list集合中重复项的几种方法

    因为用到list,要去除重复数据,尝试了几种方法.记录于此... 测试数据: List<string> li1 = new List<string> { "8&quo ...

  10. juery 选择器 选择多个元素

    使用,号: $("#goodSource,#mailState") 选择了id为goodSource或者mailState的元素,当两者之间有任何一个有改变时,将会触发该操作. / ...