我已设置我的 Synology DSM 以使用 从 Let's Encrypt 获取和更新证书acme.sh
。
问题如下:
- Synology 的 VPN Center 套件会在默认证书发生更改时自动获取该证书
- 我找不到让 OpenVPN 客户端简单地信任公共证书的方法。
.ovpn
该证书每 2 个月更新一次,让我的用户如此频繁地更新他们的配置文件是不可行的。- 尽管我具备 Linux 方面的必要专业知识,但除非绝对必要,否则我还是不愿意修改供应商软件。
我应该怎么做才能让我的用户连接到 Synology DSM 上的这个 OpenVPN 服务器?
答案1
不要那样做。
首先,OpenVPN 自己的手册建议不要使用公共 CA。OpenVPN 将信任该 CA 发布的任何证书。我怀疑您是否希望任何第三方 CA 颁发的证书持有者能够连接到您的 VPN。
其次,将公共 CA 用于私人服务毫无意义。就 VPN 而言,它是一种私人服务,不期望陌生人连接或信任您的服务。它有一个有效且方便的根证书分发点 — 以及 VPN 配置文件(可能内置在其中),无论如何您都必须将其分发给客户端。它还有一个单独的证书存储。所有这些都需要私人 VPN。因此,与将其用于公共 HTTPS 相比,将私人 CA 用于 VPN 没有任何缺点,因为您分发了 CA 证书。顺便说一句,即使是 HTTPS 也可以使用私人 CA — 与 VPN 相同,用于客户端证书验证;在这种情况下,您仍然可以将公共证书用于服务器,但客户端证书是使用您的私人 CA 签名的。
第三,Let's Encrypt 颁发域验证证书,TLS Web 服务器目的。在正确设置 OpenVPN 后,您只能在服务器上安装此类证书。客户端证书必须具有反向特性 —TLS Web 客户端目的。Let's Encrypt 不颁发此类证书。
OpenVPN 在设计时就考虑到了专用的私有 CA,仅用于此 VPN。他们提供了一组脚本来创建此类 CA,称为 EasyRSA。它非常易于使用。如果您不想使用它(并且您有正当理由),您可以使用其他东西来创建此私有 CA,例如,我们曾经为此使用过 MS AD 认证服务。