[RouterOS][全文轉載備份] 使用自签名证书搭建SSTP VPN服务

black hardwares on data server room
Photo by Brett Sayles on Pexels.com

基於類似文章有機會消失,所以我就全文轉載了一下,並且實測可用~

出處:https://www.77bx.com/158.html

一、创建自签名证书

1、生成根证书。

System –> Certificates –> + 

General选项卡,Name输入名称,如ca-77bx;Common Name输入RouterOS的公网IP或者域名,如ca.77bx.com; Days Valid输入有效期,建议输入3650。

Key Usage选项卡,勾选crl sign和key cert. sign,点击ok完成根证书创建。

2、生成中间证书

System –> Certificates –> + ,General选项卡,Name输入名称,如server-77bx;Common Name输入*.77bx.com; Days Valid输入有效期,建议输入3650。

Key Usage选项卡,勾选digital signature、key encipherment和tls server,点击ok完成中间证书创建。

3、生成客户端证书(私钥)

System –> Certificates –> + ,General选项卡,Name输入名称,如client-77bx;Common Name输入ros.77bx.com; Days Valid输入有效期,建议输入3650。

Key Usage选项卡,勾选tls client,点击ok完成客户端证书创建。

4、证书签名

根证书签名,ca-77bx右键 –> Sign,Certificate选择ca-77bx, CA CRL. HOST填入RouterOS的公网IP或者域名(我这里ca.77bx.com已经解析到RouterOS),点击Start。

客户端证书签名,client-77bx右键 –> Sign,Certificate选择client-77bx, CA选择ca-77bx,点击Start。

中间证书签名,server-77bx右键 –> Sign,Certificate选择server-77bx, CA选择ca-77bx,点击Start。

以下是创建证书命令:

/certificate add name=ca-77bx common-name=ca.77bx.com days-valid=3650 key-size=2048 key-usage=crl-sign,key-cert-sign
/certificate add name=server-77bx common-name=*.77bx.com days-valid=3650 key-size=2048 key-usage=digital-signature,key-encipherment,tls-server
/certificate add name=client-77bx common-name=ros.77bx.com days-valid=3650 key-size=2048 key-usage=tls-client
/certificate sign ca-77bx name=ca-77bx ca-crl-host=ca.77bx.com
/certificate sign server-77bx name=server-77bx ca=ca-77bx
/certificate sign client-77bx name=client-77bx ca=ca-77bx

二、SSTP服务器配置

1、启用SSTP服务,PPP –> Interface选项卡,点击SSTP Server,打开设置框,勾上Enabled,Port修改默认的443端口(443端口大部分地区已封),Certificate选择证书,如server-77bx,点击OK

2、配置地址池,ip –> Pool –> +,Name输入VPN-Remote,Address输入100.64.1.2-100.64.2.254,点击OK创建完成

3、创建SSTP配置,PPP –> Profiles选项卡 –> +,Name输入VPN,Local Address输入ros网关地址即可,Romte Address输入VPN-Remote(上面创建的VPN地址池),DNS服务器配置下即可。

4、创建SSTP账号,PPP –> Secrets选项卡 –> +,Name表示VPN的用户名,Password表示VPN的密码,Service选择sstp,Profile选择刚才创建的VPN,点击OK即可。

以下是SSTP服务器配置命令:

/ip pool add name="VPN-Remote" ranges=100.64.1.2-100.64.2.254
/ppp profile add name="VPN" use-encryption=yes local-address=10.0.0.1 dns-server=10.0.0.1 remote-address=VPN-Remote
/ppp secret add name=vpn profile=VPN password=77bx service=sstp
/interface sstp-server server set enabled=yes default-profile=VPN certificate=server-77bx port=444

三、客户端证书导入

1、RouterOS导出ca证书

System –> Certificates,ca-77bx根证书右击,Export导出。

Files –> cert_export_ca-77bx.crt右击,点击Download下载到客户端。

2、安装ca根证书

证书右键,点击“安装证书”

选择“本地计算机”,点击“下一步”

选择“将所有的证书都放入下列存储”,点击“浏览”,选择“受信任的根证书颁发机构”,点击“确定”,点击“下一步”

点击“完成”

安全警告,点击“是”即可,提示导入成功。

四、创建客户端SSTP拨号

1、配置VPN,设置 –> 网络和Internet –> VPN,添加VPN连接,如下图配置

2、连接测试,已能正常上网

Leave a comment

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料