我目前正在尝试在我的 Raspberry Pi 上设置 OpenVPN 客户端。我不断收到一些与 TLS 相关的错误消息。
系统日志给了我这个:
Nov 23 08:34:56 raspberrypi ovpn-ersterclient[1370]: disabling NCP mode (--
ncp-disable) because not in P2MP client or server mode
Nov 23 08:34:56 raspberrypi ovpn-ersterclient[1370]: Options error:
Parameter ca_file can only be specified in TLS-mode, i.e. where --tls-server
or --tls-client is also specified.
Nov 23 08:34:56 raspberrypi ovpn-ersterclient[1370]: Use --help for more
information.
Nov 23 08:34:56 raspberrypi systemd[1]: [email protected]:
Control process exited, code=exited status=1
Nov 23 08:34:56 raspberrypi systemd[1]: Failed to start OpenVPN connection
to ersterclient.
Nov 23 08:34:56 raspberrypi systemd[1]: [email protected]: Unit
entered failed state.
Nov 23 08:34:56 raspberrypi systemd[1]: [email protected]: Failed
with result 'exit-code'.
我的 .conf 看起来像这样:
dev tun
proto udp
remote IP 1194
resolv-retry infinite
nobind
persist-key
persist-tun
cipher AES-128-CBC
auth SHA1
comp-lzo
verb 3
<ca>
-----BEGIN CERTIFICATE-----
CERT
-----END CERTIFICATE-----
</ca>
<cert>
-----BEGIN CERTIFICATE-----
CERT
-----END CERTIFICATE-----
</cert>
<key>
-----BEGIN CERTIFICATE-----
CERT
-----END PRIVATE KEY-----
</key>
答案1
来自OpenVPN 参考手册:
OpenVPN 支持使用预共享密钥(静态密钥模式)的传统加密或使用客户端和服务器证书的公钥安全(SSL/TLS 模式)。 OpenVPN 还支持非加密的 TCP/UDP 隧道。
要在 TLS 模式下操作,您需要将您已有的 CA 证书、服务器证书和私钥添加tls-server
到服务器配置和客户端配置中。tls-client
或者,要在预共享密钥模式下工作,您需要从配置文件中删除对证书和私钥的所有引用,并确保您使用secret
指向共享密钥的选项。
据推测(虽然我没有尝试过),如果您删除两者,您最终将得到它提到的非加密 TCP/UDP 隧道,这不会提供任何安全性。