本篇文章介绍了 ROS 路由器搭建 OpenVPN 服务的操作步骤,以及客户端配置文件的构造方法。
首先需要用户利用 WinBox 客户端,完成基础配置,包含配置 IP 地址,放通防火墙端口等。

签发证书
1、配置 OpenVPN 需要创建三张证书,分别是 CA 证书、服务端证书和客户端证书。
2、首先创建一张「CA 证书」,选择 System > Certificates > Certificates,创建一张新的证书,在「Name」和「Common Name」两处位置填写证书名称,并在「Key Usage」页面勾选「key cert. sign」和「crl sign」两个选项。

3、点击「Apply」保存修改,并点击「Sign」进行证书签发,在「CA CRL Host」一栏填写路由器的出口 IP 地址,完成后点击「Start」签发证书。

4、证书签发完成后,进入证书详情页面,确保「Trusted」处于勾选状态。

5、继续创建「服务端证书」,和刚才一样,在「Name」和「Common Name」两处位置填写证书名称,并在「Key Usage」页面勾选「digital signature」、「key encipherment」和「tls server」三个选项。

6、点击「Apply」保存修改,并点击「Sign」进行证书签发,在「CA」一栏选择刚才创建的 CA 证书对证书进行签名。

7、证书签发完成后,进入证书详情页面,确保「Trusted」处于勾选状态。

8、最后创建「客户端证书」,在「Name」和「Common Name」两处位置填写证书名称,并在「Key Usage」页面勾选「tls client」一个选项。

9、点击「Apply」保存修改,并点击「Sign」进行证书签发,在「CA」一栏选择刚才创建的 CA 证书对证书进行签名。

10、创建完成后,证书列表中将会有三张证书。

导出证书
1、接下来需要将 CA 证书和客户端证书导出,用于 OpenVPN 客户端的配置。
2、进入客户端证书页面,点击「Export」进行导出,导出客户端时可以设置证书密钥,用于加强安全性。

3、导出 CA 证书。

4、导出的证书可以在 Files 当中看到,通过鼠标拖拽可以将证书复制到 Windows 桌面。

配置 OpenVPN 服务
1、配置 OpenVPN 用户地址池,进入 IP > Pool,创建一个地址池。

2、进入 PPP > Profiles,创建一个 OpenVPN Profiles 来指定刚刚创建的地址池,其中「Remote Address」选择刚刚创建的地址池。

3、进入 PPP > Interface,选择顶部的「OVPN Server」,勾选「Enabled」开启服务,「Default Profile」选择刚刚创建的 Profiles 文件,「Certificate」选择服务端证书,并选择对应的认证和加密方式。

4、进入 PPP > Secrets,创建一个登陆账户。

5、完成以上配置,Router OS 端的配置已经全部完成。
配置 OpenVPN 客户端配置文件
1、电脑安装 OpenVPN 客户端,并准备一个 ovpn 配置文件,以及刚才导出的证书。

2、对扩展名为 ovpn 的配置文件进行编辑。
client dev tun proto tcp remote 192.168.100.1 1194 /* 将 IP 地址替换为路由器的公网地址 */ route 192.168.10.0 255.255.255.0 /* 添加一条静态路由 */ nobind persist-key persist-tun tls-client remote-cert-tls server verb 4 mute 10 cipher AES-256-CBC auth SHA1 auth-user-pass auth-nocache redirect-gateway /* 重定向客户端的网关,不需要可删除 */ route-nopull /* 默认从本地进行流量转发 */ /* 此处粘贴 CA 证书文件内容 */ /* 此处粘贴客户端证书文件内容 */ /* 此处粘贴客户端密钥文件内容 */
3、完成后将配置文件导入到 OpenVPN 客户端,进行连接测试。