TLS 错误:TLS 密钥协商失败

TLS 错误:TLS 密钥协商失败

我有一个 OpenVPN 服务器。但是我无法连接它。

我已按照以下说明一步一步(多次)进行操作如何在 Ubuntu 18.04 上设置 OpenVPN 服务器。然而,当我运行

sudo openvpn --config client1.ovpn

我得到:

Sat Aug  8 21:45:34 2020 OpenVPN 2.4.4 x86_64-pc-linux-gnu [SSL (OpenSSL)] [LZO] [LZ4] [EPOLL] [PKCS11] [MH/PKTINFO] [AEAD] built on May 14 2019
Sat Aug  8 21:45:34 2020 library versions: OpenSSL 1.1.1  11 Sep 2018, LZO 2.08
Sat Aug  8 21:45:34 2020 Outgoing Control Channel Authentication: Using 256 bit message hash 'SHA256' for HMAC authentication
Sat Aug  8 21:45:34 2020 Incoming Control Channel Authentication: Using 256 bit message hash 'SHA256' for HMAC authentication
Sat Aug  8 21:45:34 2020 TCP/UDP: Preserving recently used remote address: [AF_INET]185.2.52.91:1194
Sat Aug  8 21:45:34 2020 Socket Buffers: R=[212992->212992] S=[212992->212992]
Sat Aug  8 21:45:34 2020 UDP link local: (not bound)
Sat Aug  8 21:45:34 2020 UDP link remote: [AF_INET]185.2.52.91:1194
Sat Aug  8 21:46:34 2020 TLS Error: TLS key negotiation failed to occur within 60 seconds (check your network connectivity)
Sat Aug  8 21:46:34 2020 TLS Error: TLS handshake failed
Sat Aug  8 21:46:34 2020 SIGUSR1[soft,tls-error] received, process restarting
Sat Aug  8 21:46:34 2020 Restart pause, 5 second(s)
Sat Aug  8 21:46:39 2020 TCP/UDP: Preserving recently used remote address: [AF_INET]185.2.52.91:1194
Sat Aug  8 21:46:39 2020 Socket Buffers: R=[212992->212992] S=[212992->212992]
Sat Aug  8 21:46:39 2020 UDP link local: (not bound)
Sat Aug  8 21:46:39 2020 UDP link remote: [AF_INET]185.2.52.91:1194
Sat Aug  8 21:47:39 2020 TLS Error: TLS key negotiation failed to occur within 60 seconds (check your network connectivity)
Sat Aug  8 21:47:39 2020 TLS Error: TLS handshake failed
Sat Aug  8 21:47:39 2020 SIGUSR1[soft,tls-error] received, process restarting
Sat Aug  8 21:47:39 2020 Restart pause, 5 second(s)

这是从服务器所在的同一网络尝试的。我也尝试过从另一个网络的 Android 设备进行连接,但不太成功。

问题

  1. 为了测试目的,我可以从本地网络连接到服务器吗?
  2. 需要输入的 IP 是否client.conf必须是可以从中获取的公共 IPhttps://api.ipify.org/
  3. 由于有多台机器连接到此网络,如何仅通过公共 IP 建立连接?我是否必须在网络上的某个地方指定服务器的私有 IP?
  4. 的内容client.ovpn似乎是 、密钥、证书和 ca 文件的串联client.conf。是这样吗?我原本以为客户端配置看起来更像 ssh 密钥。

答案1

你的问题:

  1. 当然,您可以从本地网络连接。
  2. 您可以在客户端配置中输入任何 IP - 公共、私有或任何 IP - 只要它是连接到服务器的正确 IP!因此,如果您的客户端在本地网络中,您应该将私有 IP 放在 client.conf 中,而不是公共 IP!
  3. 如果您希望您的 openvpn 服务器可用于公共互联网,您需要端口转发 - 您需要告诉您的路由器“监听 udp 端口​​ 1194 并将其转发到 udp <private ip>:1194”(假设您的服务器监听 udp 1194 !)
  4. 这取决于配置。通常,、cacert选项key需要一个文件名 - 但您可以内联指定一些选项。摘自手册页:
INLINE FILE SUPPORT
       OpenVPN allows including files in the main configuration for the --ca, --cert,
       --dh, --extra-certs, --key, --pkcs12, --secret, --crl-verify, --http-proxy-user-pass, 
       --tls-auth and --tls-crypt options.
       Each inline file started by the line <option> and ended by the line </option>

PS:您的客户端日志仅显示您的客户端没有收到来自指定 IP 和端口的回复(可能缺少端口转发?)

相关内容