0

我正在使用 Red Hat 8 (rhel8),我的家用路由器是运行 OpenVPN 服务器的华硕 AC5300。但是我在网络管理器中的 rhel8 VPN 无法连接到我的 OpenVPN 服务器。

这是我收到的错误消息:

[root@my-machine ~]# journalctl -f nm-openvpn[30404]:TLS 错误:不支持的协议。这通常表明客户端和服务器没有启用通用的 TLS 版本。这可能是由于客户端和服务器上的 tls-version-min 和 tls-version-max 选项不匹配造成的。如果您的 OpenVPN 客户端介于 v2.3.6 和 v2.3.2 之间,请尝试将 tls-version-min 1.0 添加到客户端配置以使用 TLS 1.0+ 而不是仅使用 TLS 1.0

[root@my-machine ~]# openvpn --version
OpenVPN 2.4.7 x86_64-redhat-linux-gnu

我已经尝试添加tls-version-min 1.0到我的.ovpn文件中,但仍然无法正常工作。

注意:在 Linux Ubuntu 中它工作得很好,但不是 Red Hat 8

4

1 回答 1

0

似乎你对 TLS 有问题......看看这个检查,也许必须看看 SSL 证书:

检查证书名称不匹配

在这个特定的例子中,迁移到 Kinsta 的客户的证书名称不匹配,这会引发 ERR_SSL_VERSION_OR_CIPHER_MISMATCH 错误。正如您从下面的 SSL 实验室测试中看到的那样,这非常快速且易于诊断。正如 SSL Labs 所说,不匹配可能有很多原因,例如:

The site does not use SSL, but shares an IP address with some other site that does.
The site no longer exists, yet the domain still points to the old IP address, where some other site is now hosted.
The site uses a content delivery network (CDN) that doesn’t support SSL.
The domain name alias is for a website whose name is different, but the alias was not included in the certificate.

证书名称不匹配

检查证书上当前域名问题的另一种简单方法是在网站上打开 Chrome DevTools。右键单击网站上的任意位置,然后单击“检查”。然后单击安全选项卡,然后单击“查看证书”。颁发的域将显示在证书信息中。如果这与您所在的当前站点不匹配,这是一个问题。检查 SSL 证书上颁发的域

检查 SSL 证书上颁发的域

但请记住,存在通配符证书和其他变体,但对于典型站点,它应该完全匹配。然而,在我们的例子中,ERR_SSL_VERSION_OR_CIPHER_MISMATCH 错误实际上阻止了我们在 Chrome DevTools 中检查它。这就是像 SSL Labs 这样的工具可以派上用场的地方。检查旧 TLS 版本

另一个可能的原因是 Web 服务器上运行的 TLS 版本过旧。理想情况下,它应该至少运行 TLS 1.2(更好的是 TLS 1.3)。如果您是 Kinsta 客户,您永远不必担心这一点,因为我们总是将我们的服务器升级到最新和最受支持的版本。Kinsta 在我们所有的服务器和我们的 Kinsta CDN 上都支持 TLS 1.3。Cloudflare 还默认启用 TLS 1.3。

(建议阅读:如果您使用的是旧 TLS 版本,您可能需要在 Chrome 中修复 ERR_SSL_OBSOLETE_VERSION 通知)。

这也是 SSL Labs 工具可以帮助解决的问题。在配置下,它将向您显示在具有该证书的服务器上运行的当前版本的 TLS。如果它是旧的,请联系您的主机并要求他们更新他们的 TLS 版本。TLS 1.3 服务器支持

TLS 1.3 服务器支持 检查 RC4 密码套件

根据 Google 的 ERR_SSL_VERSION_OR_CIPHER_MISMATCH 文档,另一个原因是 RC4 密码套件在 Chrome 版本 48 中被删除。这不是很常见,但它可能发生在需要 RC4 的大型企业部署中。为什么?因为在更大和更复杂的配置中,一切通常需要更长的时间来升级和更新。

安全研究人员、Google 和 Microsoft 建议禁用 RC4。因此,您应该确保使用不同的密码套件启用服务器配置。您可以在 SSL Labs 工具中查看当前密码套件(如下所示)。密码套件

密码套件尝试清除计算机上的 SSL 状态

要尝试的另一件事是清除 Chrome 中的 SSL 状态。就像清除浏览器的缓存一样,如果事情不同步,这有时会有所帮助。要在 Windows 上的 Chrome 中清除 SSL 状态,请执行以下步骤:

Click the Google Chrome – Settings icon (Settings) icon, and then click Settings.
Click Show advanced settings.
Under Network, click Change proxy settings. The Internet Properties dialog box appears.
Click the Content tab.
Click “Clear SSL state”, and then click OK.
Restart Chrome.

在 Windows 上的 Chrome 中清除 SSL 状态

在 Windows 上的 Chrome 中清除 SSL 状态

如果您使用的是 Mac,请参阅这些关于如何删除 SSL 证书的说明。使用新的操作系统

随着浏览器停止支持较旧的操作系统,TLS 1.3 和最新的密码套件等新技术已经过时。最新 SSL 证书中的特定组件将停止工作。事实上,谷歌 Chrome 早在 2015 年就停止了 Windows XP。我们始终建议尽可能升级到更新的操作系统,例如 Windows 10 或最新版本的 Mac OS X。 临时禁用防病毒

如果您仍然看到 ERR_SSL_VERSION_OR_CIPHER_MISMATCH 错误,我们建议您尝试的最后一件事是确保您没有运行防病毒程序。或者尝试暂时禁用它。一些防病毒程序使用自己的证书在浏览器和 Web 之间创建一个层。这有时会导致问题。

于 2020-03-04T13:38:28.867 回答