如何使用 XML 文件配置 OpenConnect?

fuz*_*nny 5 vpn openconnect

我对 VPN 不太熟悉,而且我很难通过OpenConnect.

我购买的 VPN 服务使用Cisco AnyConnect,我无法在 Linux 上获得,但该OpenConnect应用程序应该做同样的事情。我已经安装OpenConnect了它的 GUI。

在 Android 等其他操作系统上,VPN 服务只是让我将Cisco AnyConnect客户端链接到一个 XML 文件,AnyConnect然后使用该文件连接到服务器。除了提供这个 XML 文件之外,不需要客户端软件中的其他配置,这让我觉得这个 XML 文件包含连接到所有这些 VPN 服务器所需的所有信息 - 没有配置复选框,没有下载证书等。

一旦我提供了 XML 文件,AnyConnect生成 VPN 服务器列表,我选择一个,然后在随后的弹出框中填写我的用户名和密码,就是这样。

<AnyConnectProfile xmlns="http://schemas.xmlsoap.org/encoding/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://schemas.xmlsoap.org/encoding/ AnyConnectProfile.xsd">
<ClientInitialization>
<UseStartBeforeLogon UserControllable="false">false</UseStartBeforeLogon>
<StrictCertificateTrust>false</StrictCertificateTrust>
<RestrictPreferenceCaching>false</RestrictPreferenceCaching>
<RestrictTunnelProtocols>IPSec</RestrictTunnelProtocols>
<BypassDownloader>true</BypassDownloader>
<WindowsVPNEstablishment>AllowRemoteUsers</WindowsVPNEstablishment>
<CertEnrollmentPin>pinAllowed</CertEnrollmentPin>
<CertificateMatch>
<KeyUsage>
<MatchKey>Digital_Signature</MatchKey>
</KeyUsage>
<ExtendedKeyUsage>
<ExtendedMatchKey>ClientAuth</ExtendedMatchKey>
</ExtendedKeyUsage>
</CertificateMatch>
<BackupServerList>
<HostAddress>localhost</HostAddress>
</BackupServerList>
</ClientInitialization>
<ServerList>
<HostEntry>
<HostName>server 1</HostName>
<HostAddress>japan.examplevpn.com</HostAddress>
</HostEntry>
<HostEntry>
<HostName>server 2</HostName>
<HostAddress>amsterdam.examplevpn.com</HostAddress>
</HostEntry>  
</ServerList>
</AnyConnectProfile>
Run Code Online (Sandbox Code Playgroud)

OpenConnect 在 Linux 上似乎没有任何规定可以导入 XML 文件。

OpenConnect根据 XML 文件中的内容,我需要做什么来配置.

在此处输入图片说明 在此处输入图片说明

小智 0

您应该将 xml 转换为 Base 64 编码 config.xml | tr -d '\n' > config.xml.base64

然后在 /etc/NetworkManager/system-connections/ 中使用编辑器手动打开连接

您的 xml 配置文件应在 [vpn-secrets] 配置部分中保存为 base64 值:

[VPN 秘密] xmlconfig=


小智 0

这不是您正在寻找的答案,但不幸的是 OpenConnect 本身无法支持任何有用的 XML 文件。它可以从中读取主机名和用户组,但不能读取其他内容。

源代码清楚地显示了这一点:https://github.com/openconnect/openconnect/blob/master/xml.c

实际上,这意味着您最多可以执行以下操作:

<openconnect>
    <ServerList>
        <HostEntry>
            <HostName>vpn.example.com</HostName>
            <HostAddress>vpn.example.com</HostAddress>
            <UserGroup>test123</UserGroup>
        </HostEntry>
    </ServerList>
</openconnect>

Run Code Online (Sandbox Code Playgroud)