我正在尝试设置一个 openVPN 服务器并使用 Tunnelblick 连接到它。我的 OpenVPN 版本是 2.4.3。我使用的是 EastRSA-3.0.1。我的证书使用的是椭圆曲线 secp521v1。
openvpn 日志
2017 年 7 月 6 日星期四 14:56:25 999.222.18.250:37144 TLS 错误:服务器没有与客户端共同的 TLS 密码套件。您的 --tls-cipher 设置可能过于严格。 2017 年 7 月 6 日星期四 14:56:25 999.222.18.250:37144 OpenSSL:错误:1408A0C1:SSL 例程:SSL3_GET_CLIENT_HELLO:无共享密码 2017 年 7 月 6 日星期四 14:56:25 999.222.18.250:37144 TLS_ERROR:BIO 读取 tls_read_plaintext 错误 2017 年 7 月 6 日星期四 14:56:25 999.222.18.250:37144 TLS 错误:TLS 对象 -> 传入纯文本读取错误 2017 年 7 月 6 日星期四 14:56:25 999.222.18.250:37144 TLS 错误:TLS 握手 f
这是我的 server.conf
dev tun
proto udp
port 1194
user nobody
group nogroup
ca ca.crt
cert server.crt # SWAP WITH YOUR CRT NAME
key server.key # SWAP WITH YOUR KEY NAME
dh none
server 192.168.8.0 255.255.255.0
ifconfig-pool-persist ipp.txt
# ncp-disable
cipher AES-256-CBC
auth SHA512
tls-cipher TLS-DHE-RSA-WITH-AES-256-GCM-SHA384:TLS-DHE-RSA-WITH-AES-128-GCM-SHA256:TLS-DHE-RSA-WITH-AES-256-CBC-SHA:TLS-DHE-RSA-WITH-CAMELLIA-256-CBC-SHA:TLS-DHE-RSA-WITH-AES-128-CBC-SHA:TLS-DHE-RSA-WITH-CAMELLIA-128-CBC-SHA
tls-version-min 1.2
push "dhcp-option DNS 8.8.8.8"
push "dhcp-option DNS 8.8.4.4"
compress lz4-v2
push "compress lz4-v2"
keepalive 10 120
persist-key
persist-tun
tls-server
tls-auth /usr/local/share/ca-certificates/ta.key 0
key-direction 0
status /var/log/openvpn2-status.log
log /var/log/openvpn2.log
verb 3
daemon
客户端.ovpn
client
proto udp
dev tun
remote vpn.mydomain.com 1194
resolv-retry infinite
nobind
persist-key
persist-tun
remote-cert-tls server
auth SHA512
cipher AES-256-CBC
tls-version-min 1.2
tls-client
ping 15
ping-restart 120
route 10.0.0.0 255.0.0.0
route-nopull
key-direction 1
daemon
user nobody
group nogroup
<ca>
[Security-related line(s) omitted]
</ca>
<cert>
[Security-related line(s) omitted]
</cert>
<key>
[Security-related line(s) omitted]
</key>
<tls-auth>
[Security-related line(s) omitted]
</tls-auth>
答案1
解决方案是,我使用了错误的 tls-cipher 来获取椭圆曲线证书。正确的 tls-cipher 是
tls-version-min 1.2
tls-cipher TLS-ECDHE-ECDSA-WITH-AES-256-GCM-SHA384