2020新冠疫情期间,很多单位提倡在家soho办公,这时候有一台ssl vpn服务器就显得尤为重要。下面步骤可以搭建一台低成本的RouterOS的ssl服务器。

一、基础知识

SSL 安全协议最初是由美国网景公司设计开发的,全称为:安全套接层协议 (Secure Sockets Layer) , 它指定了在应用程序协议 ( 如 HTTP 、 Telnet 、FTP) 和 TCP/IP 之间提供数据安全性分层的机制,它是在传输通信协议上实现的一种安全协议,采用公开密钥技术,它为TCP/IP 连接提供数据加密、服务器认证、消息完整性以及可选的客户机认证。

SSTP可以认为是微软版的SSL VPN协议,微软自2008服务器开始支持SSTP,不过微软系统在实现上配置相当复杂。RouterOS上可以简单配置实现SSTP的服务器,配合微软的客户端,搭建一个较为完美的ssl系统。

SSTP系统需要用到服务器证书,微软的客户端需要用到信任的授权单位的证书,所以一般企业就用自签名证书来实现。

二、搭建环境

1、RouterOS V6.46 (一片网卡,内外网都在上面)

2、客户端:windows 10 专业版

3、域名:xu.com (根据单位不同可替换)

4、ca证书名称:ca.xu.com

5、服务器证书名称:server.xu.com

三、配置步骤

1、 ip pool等SSTP服务器设置

在RouterOS上,需要先设置SSTP服务器相关内容,主要步骤有设置pool池,设置profile文件,设置拨号用户名,最后设置服务器并关联相关参数。

/ip pool add
name=“sstp-vpn-pool” ranges=172.30.0.2-172.30.0.254

/ppp profile add
name=“sstp-vpn-profile” use-encryption=yes local-address=172.30.0.1
dns-server=8.8.8.8
remote-address=sstp-vpn-pool

/ppp secret add
name=sstpuser1 profile=sstp-vpn-profile password=sstpuser1 service=sstp

/interface
sstp-server server set enabled=yes default-profile=sstp-vpn-profile
authentication=mschap2

/interface
sstp-server server set enabled=yes default-profile=sstp-vpn-profile authentication=mschap2
certificate=server.xu.com force-aes=yes pfs=yes

2、 配置证书系统并导出CA证书

以下步骤同样是在RouterOS上做:

第一步先建立证书模板。

/certificate

add
name=ca-template common-name=ca.xu.com
days-valid=3650 key-size=2048 key-usage=crl-sign,key-cert-sign

add
name=server-template common-name=*.xu.com days-valid=3650
key-size=2048 key-usage=digital-signature,key-encipherment,tls-server

第二步进行签名,ca做自己签名。

/certificate

sign ca-template
name=ca.xu.com

sign server-template
name=server.xu.com ca=ca.xu.com

第三步导出ca证书(用export),再下载到本地,这些步骤可通过webcfg的菜单界面来做比较方便。

第四部,在客户端计算机上导入打本地计算机中。

步骤:是找到该证书文件、右键、导入证书。

注意证书存储位置一定要导入到“本地计算机”的“受信任的根证书颁发机构”中。

3、 在PC客户端导入CA证书。

在win10的客户端上,在网络的vpn一栏中,添加vpn连接,如下图所示:

连接名称可以任意写一个容易记住的名字,但是服务器名称或地址必须要写域名,本文是server.xu.com
。因为是测试环境,我需要修改我的etc/hosts文件,正式环境可不用修改。Hosts文件添加一行:

192.168.12.251 server.xu.com

如果是大规模部署,可手工方式建立sstp vpn的链接文件,直接在客户机器上运行以下命令:(在powershell以管理员命令方式运行)

PS> powershell.exe -c ‘Add-VpnConnection -name “SSTP-VPN连接” -ServerAddress
“server.xu.com” -TunnelType Sstp -auth MSChapv2 -RememberCredential
-PassThru’

4、测试。

在windows10机器上,找到“Sstp-vpn连接”,拨号,输入用户名和密码(我用的用户名和密码都是sstpuser1),测试,正常。

总体来说比较简单,是一台比较有用的SSL设备,适合小微企业使用。RouterOS路由器的基础设置本文并没有写出来。最主要有设置有内外网ip,nat转换使之能上网,如果实际使用还需要做一些安全设置,如更改admin密码,关闭不常用的端口等。还需要申请域名和公网地址,祝顺利。

常见错误:

SSL握手失败时,您将看到以下证书错误之一:(综合了网上的一些信息和我自己总结的一些错误)

  • 证书尚未生效 :证书日期晚于当前时间;
  • 证书已过期 :证书的到期日期在当前时间之前;
  • invalid证书用途 :提供的证书不能用于指定目的;
  • self在链中签名的证书 :可以使用不受信任的证书建立证书链,但是在本地找不到根
  • 可以在本地获取颁发者证书:CA证书不在本地导入;
  • server的IP地址与证书不匹配 :启用了服务器地址验证,但是证书中提供的地址与服务器的地址不匹配;
  • 证书的cn名与传递的值不匹配:这是在服务器上选用了CA的验证,正确的应该选用server的验证。域名变了也是这个错误。
  • 接收到的消息异常,或格式不准确:这是因为在服务器上未启动证书认证。(在SSTP Server的设置上可修改。)
  • 证书对于请求用法无效:有证书,但是在PC机器上把正确的ca证书禁用了。
  • 证书对于请求用法无效:证书导入了,查看证书属性,发现证书目的是给客户端身份验证使用的。改为给服务器身份验证使用。
  • 处理证书链,但是在不受信任提供程序信任的根证书中终止:证书没有正确导入,原因是没有导入正确的证书到“本地计算机”的受信任根颁发机构的目录中。 或者原因是证书正确,导入到了“当前用户”的受信任根颁发机构目录。服务器地址错误也是这个提示。
  • 不能建立到远程计算机的连接,你可能需要更改此连接的网络设置:在SSTP服务器设置中,勾选了PFS。不是有连接错误提示,但是有时也能连接上来。MRRU设置了也会有这个提示。
  • 由于目标服务器积极拒绝,无法连接:服务器上SSTP服务器没有起作用,需要enable。
  • 能建立到远程计算机的连接,因此用于此连接的端口已关闭:是认证方法不对,改为machapV2。
  • 此句柄相关联的操作锁定现在与其他句柄相关联:是SSTP服务器设置中勾选了“verify Client
    Certificate”。

RouterOS搭建一台SSTP Server用于远程办公相关推荐

  1. 双塔服务器做什么系统比较好,搭建一台真正的 All in One Home Server 篇六:HomeServer 怎么能少了群晖(完结篇)...

    搭建一台真正的 All in One Home Server 篇六:HomeServer 怎么能少了群晖(完结篇) 2015-08-28 17:47:48 60点赞 505收藏 62评论 前言之前 先 ...

  2. 利用ZooKeeper框架在Vmware虚拟机中搭建3台Linux分布式集群

    利用ZooKeeper框架在Vmware虚拟机中搭建3台Linux分布式集群 概述 配置 具体步骤 node1虚拟机制作 安装及固定IP 关闭防火墙 JDK安装 关闭SELinux 虚拟机克隆 固定I ...

  3. 从创建服务器到搭建一台内网穿透服务器

    文章目录 创建服务器到搭建一台内网穿透服务器 解决VMware虚拟机ip地址经常变化的问题 安装lrzsz Linux中rz和sz命令用法详解 安装插件 安装jdk 安装maven 安装git 安装n ...

  4. 如何搭建一台深度学习的电脑工作站

    如何给自己搭建一台深度学习工作站? 这个是很多刚准备入门的同学疑问,那么我们今天就来讲解下如何搭建. 有多种典型配置,一个 GPU 的机器.两个或四个 GPU的机器.如果您需要更多GPU,请考虑配置两 ...

  5. 用Tinyproxy搭建自己的proxy server

    What is Tinyproxy Tinyproxy 是一个轻量级,跨平台,开源的,同时支持http/https两种方式代理. 为什么搭建自己的proxy server 设想这种case, 你家里有 ...

  6. 华为服务器虚拟化搭建,一台服务器搭建虚拟化

    一台服务器搭建虚拟化 内容精选 换一换 云手机(Cloud Phone,简称CPH),是基于华为云裸金属服务器虚拟出的带有原生安卓操作系统,同时具有虚拟手机功能的云服务器.简单来说,云手机=云服务器+ ...

  7. 使用VMware搭建一台Windows服务器,并搭建Web、DNS解析网站

    使用VMware搭建一台Windows服务器,并搭建web.DNS解析网站 使用VMware搭建一台Windows服务器,并搭建web.DNS解析网站 一.系统的安装 二.系统配置 三.服务器配置 w ...

  8. 部署企业中第一台Windows Server 2008 R2域控制器

     部署企业中第一台Windows Server 2008 R2域控制器 前言 对于活动目录(AD)来讲,从Windows 2000到现在有非常多的文章在对其进行探讨,微软公司每推出一代新的Window ...

  9. 从0开始搭建一台服务器开发环境【开始篇】

    通过本博客你将搭建的服务,以及配置如下: 0,用SeceruCRM连接服务器后台 1,设置linux字符编码 2,统一服务器时区 3,安装jdk环境 4,安装maven 5,安装tomcat 6,安装 ...

最新文章

  1. xlsxwriter写行合并_使用xlsxwriter将pandas数据框写入excel并包含“write-rich”字符串格式...
  2. 通过SSH克隆远程仓库(GitLab)到本地
  3. oracle中通过游标实现查询
  4. python爬贴吧回复内容_Python 基础语法+简单地爬取百度贴吧内容
  5. SiameseRPN++分析
  6. NSNumber的使用
  7. 电子相册系统(九)分页
  8. Enterprise Manager无法连接到实例错误解决
  9. SQL Server从入门到精通(三)
  10. 基于n元语言模型整句拼音汉字转换
  11. 无法打开ONEDRIVE的解决方法【等待验证】
  12. mysql information_schema库结构
  13. lightoj1234——调和级数+欧拉常数
  14. 红杉资本合伙人Maguire:Crypto将是未来30年最大趋势 |链捕手
  15. java反射-动态代理
  16. 判断文件是否是PE文件
  17. linux 磁盘io技术3------libaio使用介绍
  18. python数据提取和合并_用Python提取和合并Excel数据
  19. 希腊字母,阿拉伯字母的读音表
  20. (附源码)计算机毕业设计SSM语言学习系统

热门文章

  1. 关于 CentOS 迁移龙蜥操作系统,这里有一份详细指南,请查收~
  2. mac电脑打不开html文件怎么处理,苹果电脑Mac打不开网页怎么办?Mac打不开网页的解决方法...
  3. linux tree显示乱码,Linux tree 命令乱码
  4. java ocr 条型码_Tesseract.js (JavaScript OCR) 识别1D条形码下面的数字
  5. EMC电磁兼容5:静电部分_1_共模信号、差模信号,静电为什么是共模信号
  6. 再见了VLOOKUP函数!Excel 数据分析已成气候!
  7. 【转】程序员的好日子什么时候才到头?
  8. Work20230506
  9. 【考生说】持之以恒才是胜利的推动器、一周时间通过C认证的同学怎么说
  10. 海子诗《面朝大海,春暖花开》