连接虚拟网络 (OpenVPN)¶
您可以通过调用 LAMDA 提供的接口来将当前设备连接至 OpenVPN 网络,LAMDA 内置 OpenVPN 支持使用证书登录模式(CA/CERT/KEY)、用户名密码登录模式(CA/USER/PASS)、证书 + 用户名密码登录模式(CA/CERT/KEY/USER/PASS)三选一(同时也要看您的 OpenVPN 服务端如何配置),他可以与系统代理共存。需要注意的是,此功能只包含 OpenVPN 的主要功能,除了 DNS
配置,暂无法应用服务端推送的其他自动配置信息。这些配置包括但不限于 PAC 代理,http 代理配置等。我们为了省却你安装 OpenVPN 服务器的麻烦,提供了一个开箱即用的 OpenVPN docker 镜像,自带了脚本可以生成接口调用代码以及自启动配置。
连接 VPN¶
我们建议您先看 部署 OpenVPN 服务器
文档来了解如何自动生成这个连接配置,手动编写存在很大的失误可能性。下面我们只介绍主要接口的调用方式。
profile = OpenVPNProfile()
# 在此贴入自部署服务器自动生成的代码
d.start_openvpn(profile)
关闭 VPN¶
关闭 VPN 的调用方法也很简单,只需要这样即可。
# 关闭 OpenVPN
d.stop_openvpn()
完整参数¶
下面是 VPN 接口完整的参数配置信息,我们只是为您描述每个参数对应的意义,我们不建议您自行拼写该接口的参数,请通过自部署的服务器生成代码。
是否启用全局 VPN,如果启用,那么系统中所有流量将从 VPN 服务器出口。
profile.all_traffic = False
服务器端开启的连接协议,您可以选择 OpenVPNProto.UDP 或者 OpenVPNProto.TCP,此选项看您服务器的配置决定。
profile.proto = OpenVPNProto.UDP
OpenVPN 用户名密码认证的用户名和密码配置。
profile.login = "用户名"
profile.password = "密码"
您可以通过这两个参数来设置您 OpenVPN 服务器的地址和端口。
profile.host = 服务器地址
profile.port = 服务器端口
设置服务器端通道加密方法,接口支持使用 AES_128_GCM
,AES_256_GCM
,CHACHA20_POLY1305
,AES_128_CBC
,AES_256_CBC
这几种加密方式。
profile.cipher = OpenVPNCipher.AES_256_GCM
设置 OpenVPN tls-auth 相关参数,您可以访问官方文档 openvpn.net/community-resources/reference-manual-for-openvpn-2-5 了解更多。
profile.tls_encryption = OpenVPNEncryption.TLS_CRYPT
profile.tls_key_direction = OpenVPNKeyDirection.KEY_DIRECTION_NONE
profile.tls_key = "-----BEGIN OpenVPN Static key V1-----"
OpenVPN 客户端证书,客户端私钥,服务器证书相关配置。
profile.ca = "-----BEGIN CERTIFICATE-----"
profile.cert = "-----BEGIN CERTIFICATE-----"
profile.key = "-----BEGIN PRIVATE KEY-----"
自动连接 VPN¶
您可以通过编写 properties.local 的方式来使 LAMDA 在启动时自动连接到 VPN 服务器,由于此项配置复杂,我们仍然不建议自行编写。请查看我们自部署 OpenVPN 服务器的文档了解如何自动生成 properties.local 配置信息。
快速搭建 VPN¶
请转至我们的 部署 OpenVPN 服务器
相关文档查看如何部署及使用。