Skip to content

虚拟网络

rev1si0n edited this page Oct 1, 2023 · 1 revision

手动连接VPN

此 OpenVPN 支持使用证书登录模式(CA/CERT/KEY)、用户名密码登录模式(CA/USER/PASS)、证书 + 用户名密码登录模式(CA/CERT/KEY/USER/PASS)三选一(同时依赖 OpenVPN 服务端如何配置),可以与系统代理共存。需要注意的是,此功能只包含 OpenVPN 的主要功能,除了 DNS 配置,暂无法应用服务端推送的其他自动配置信息。这些配置包括但不限于 PAC 代理,http 代理配置等。为了省却你安装服务的麻烦,LAMDA 提供了一个开箱即用的 OpenVPN docker 镜像,它有脚本可以生成下面这个配置,请往下看。

非常建议使用 tools 里的 OpenVPN docker 安装及生成如下连接配置。

profile = OpenVPNProfile()

# 是否全局 VPN
profile.all_traffic  = True
# 服务器端开启的连接协议 (或者为 OpenVPNProto.TCP)
profile.proto        = OpenVPNProto.UDP
profile.host         = "OpenVPN 服务器地址"
profile.port         = OpenVPN 服务器端口
# 服务器端通道加密方法
profile.cipher       = OpenVPNCipher.AES_256_GCM

profile.tls_encryption = OpenVPNEncryption.TLS_CRYPT
profile.tls_key_direction = OpenVPNKeyDirection.KEY_DIRECTION_NONE
profile.tls_key = """
-----BEGIN OpenVPN Static key V1-----
tls key / tls auth
-----END OpenVPN Static key V1-----
"""

profile.ca = """
-----BEGIN CERTIFICATE-----
服务端配置的 ca 证书
-----END CERTIFICATE-----
"""

profile.cert = """
-----BEGIN CERTIFICATE-----
客户端证书
-----END CERTIFICATE-----
"""

profile.key = """
-----BEGIN PRIVATE KEY-----
客户端私钥
-----END PRIVATE KEY-----
"""

# 登录用户名、密码
profile.login = ""
profile.password = ""

# 启动 OpenVPN
d.start_openvpn(profile)
# 关闭 OpenVPN
d.stop_openvpn()

自动连接VPN

你需要使用 tools/openvpn 提供的相关命令来生成 properties.local 配置,请不要自行编写。

快速搭建VPN

LAMDA 在 tools 目录中提供了一个开箱即用的 OpenVPN docker,请转到 tools/openvpn 目录查看 README.md。