您好,我正在尝试使用 GlobalProtect VPN 客户端连接到 VPN 网络。我可以使用 UI 做到这一点,但我希望这是自动化的。在我使用 Sonicwall Nettextender 的另一个项目中,我创建了一个批处理文件,我从 C# 代码调用该文件,因此我将通过调用批处理文件连接到 VPN,执行一些操作并使用另一个批处理文件断开连接。我正在尝试使用 Globalprotect 寻找类似的方法来实现它。我与 Netextender 一起使用的命令行参数似乎不适用于 PanGPA.exe。任何想法我怎么能做到这一点?到目前为止,我对批处理文件没有任何运气。
netextender 批处理文件是:

cd c:\Program Files (x86)\SonicWALL\SSL-VPN\NetExtender\
NECLI connect -s 122.254.213.256 -d DNAME -u UNAME -p PASSWORD

最佳答案

更新:只需使用 OpenConnect v8.00 或更新版本。 GlobalProtect 支持已被纳入“官方”OpenConnect 构建 as of v8.00 。因此,GP 支持将通过最近的官方版本提供 Just Work™。

———

您不能使用官方 GP 客户端执行此操作。但是,我最近扩展了出色的开源 VPN 客户端 OpenConnect 以支持 PAN GlobalProtect VPN,包括 SSL-VPN 和 IPsec/ESP 模式。它就像一个本地客户端,您可以以完全自动化的方式从命令行运行它。

这是一个 work in progress ,但我已经将它用于实际工作,并且对我来说效果很好。 让其他人测试它会很棒,我欢迎您的反馈!

您需要从此存储库构建 globalprotect 分支:
https://github.com/dlenski/openconnect

...然后像这样运行它来测试它(如果你的 VPN 不使用客户端证书,你可以省略 --certificate 部分):

echo password | openconnect --user username --passwd-on-stdin \
              --protocol=gp [--certificate=my_cert_with_pk.pem] \
              gp-gateway-server.company.com --dump -vvv

(我还没有在 Windows 下测试过这个版本,但是官方的 OpenConnect 版本都是 Windows 兼容的,这个版本没有什么特别的。)

10-07 13:38