配置RouterOS兼容的OpenVPN服务端

RouterOS上就没有什么非常安全的配置所以本文主要的目标是可用增强安全性相关的操作都会被标为可选

RouterOS 6.xOpenVPN有很多限制

  • 支持的传输层TCP
  • 支持的Cipher none BF-CBC AES-128-CBC AES-192-CBC AES-256-CBC
  • 支持的Digest算法 none MD5 SHA1
  • 支持的验证模式必选用户名密码认证可选客户端证书认证
  • 即使在TAP模式下也不支持MPLS

服务端配置

服务端基于Debian 10来做例子

安装OpenVPN

创建CA和服务器证书

出于方便这里CA在同一台机子上配置注意这样是不安全的做法安全的做法是在air-gapped电脑上创建离线CAVPN服务器上创建CSRCSR复制到CA上签名再把签名过的证书复制回来

创建服务器配置文件

创建用户名密码认证脚本

OpenVPN服务端默认支持的用户名密码认证有两种方式一种是PAM插件需要你在服务器上创建对应的用户这样还得处理用户的登录权限问题我们不这么做另一种是写一个程序来自己处理认证程序启动时会获得一个文件名作为参数文件内容的第一行是用户名第二行是密码程序返回0表示认证成功我们快速写一个简单的bash脚本来做用户认证

把这个文件保存到 user-pass-auth.sh 并且记得给执行权限

可选把接口自动放进VRF

客户端配置

可选创建客户端认证证书

  1. 客户端创建私钥和CSR
  2. CSR传输到CA服务器上
  3. CA服务器签名CSR获得证书
  4. 把签名的证书导入客户端

可选导入CA证书

  1. CA导入客户端

创建接口

如果你导入了CA证书那么勾选Verify Server Certificate选项如果你创建了客户端认证证书那么需要在Certificate下拉选单中选择你的客户端证书

发表回复

您的邮箱地址不会被公开 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论了解你的评论数据如何被处理