我最近在 VPS 上安装了 OpenVpn-Access Server,它很棒。但是,现在我已经开始运行它了,我想切换到 Community-Edition,因为我不想购买许可证,而且我认为 CE 可以满足我的所有需求。我想知道是否有人知道是否有一种简单的方法可以从 AS 切换到 CE 并保留我当前的配置设置,而无需重新安装整个系统并重新生成密钥和证书?任何帮助都将不胜感激。
答案1
这是一个老问题,但我想回答它,以防其他人也尝试做同样的事情。要从 OpenVPN-AS 切换到社区版并保持相同的配置,需要在新的社区版文件中引用 Access Server 上使用的 server.crt、server.key、dh.pem 和 ca.crt server.conf
。由于默认情况下,AS 使用 pam 身份验证进行双重身份验证,因此新的 CE 服务器也必须以这种方式配置。需要将以下行添加到 server.conf:
plugin /usr/share/openvpn/plugin/lib/openvpn-auth-pam.so openvpn
/etc/pam.d/openvpn
然后需要创建文件,内容如下:
auth sufficient /lib/security/pam_radius_auth.so debug
account sufficient /lib/security/pam_radius_auth.so
AS 生成的配置中定义的任何其他选项也需要在 server.conf 文件中引用(例如端口号、proto、com-lzo、密码等)。由于我无法弄清楚使用访问服务器时这些文件存储在哪里或如何存储,我选择简单地卸载 openvpn-as,然后重新开始。
总之,我决定从头开始重建配置,因为这样更简单,而且学习如何自己正确部署社区版 openvpn 服务器也很有意义。我选择不使用 PAM 身份验证,而是使用 easyrsa3 设置服务器和客户端证书,使用单独的机器作为证书颁发机构以增强安全性。我还使用了 tls auth 选项(合并“ta.key”,作为 HMAC 防火墙来帮助防止拒绝服务攻击)。
对于任何想要从 Access Server 切换到社区版的人,我的建议是从头开始,卸载 AS 并安装包openvpn
,生成新的证书和密钥,最重要的是,使用单独的机器来签署证书请求。