我想使用 python 将 windows 机器连接到 L2TP/ IPsec vpn

I want to connect a windows machine to a L2TP/ IPsec vpn using python

我有一个 soft-ether VPN 服务器,我想制作一个自定义客户端应用程序,它看起来像 python 中的其他 vpn 客户端(Nord、Hola vpns)。问题出在 python 我找不到使用 windows 内置 vpn 管理器以编程方式通过 IPsec 协议连接的方法。

在 C 中,我可以找到一个 RAS API,但由于我是网络基础设施编程的新手,所以我很难正确理解它并理解它的实际工作原理。

您可以在 Windows PowerShell

中使用 Add-VpnConnection and Set-VpnConnectionIPsecConfiguration

参见第 2 个示例 2 link:

PS C:\> Add-VpnConnection -Name "Contoso" -ServerAddress 176.16.1.2 -TunnelType "L2tp"
PS C:\> Set-VpnConnectionIPsecConfiguration -ConnectionName "Contoso" -AuthenticationTransformConstants None -CipherTransformConstants AES128 -EncryptionMethod AES128 -IntegrityCheckMethod SHA256 -PfsGroup None -DHGroup ECP256 -PassThru -Force
AuthenticationTransformConstants : None

CipherTransformConstants         : AES128

DHGroup                          : ECP256

IntegrityCheckMethod             : SHA256

PfsGroup                         : None

EncryptionMethod                 : AES128

而且从 Python 调用 PowerShell 应该也很简单。