*.ovpn --> *-ca.crt,*-client.crt,*-client.key

*.ovpn --> *-ca.crt,*-client.crt,*-client.key

vpnbook.com提供免费的 openVPN 服务。这是他们的文件之一:http://paste.ubuntu.com/7231382/名称为vpnbook-uk1-tcp80.ovpn

我想将其转换为 3 个文件,以便在 network-manager-openvpn 中使用:

在此处输入图片描述

答案1

我创建了一个脚本这里自动从 VPN 网站获取密码和 zip 文件,例如vpnbook.com,从 ovpn 文件中提取cacertkey数据,并更新 opvn 文件,以便证书只需为您导入。

答案2

<ca>复制和之间的文本</ca>,将其粘贴到文本编辑器中并另存为。和ca.crt之间的文本应另存为,和之间的文本应另存为。<cert></cert>client.crt<key></key>client.key


您必须根据配置文件设置一些高级选项。我无法使用端口 80 连接到服务器,但端口 443 对我来说是可行的。这是我所做的:

在此处输入图片描述 在此处输入图片描述 在此处输入图片描述

答案3

由于所有 ovpn 文件都是简单的纯文本文件,因此您可以根据以下逻辑创建 python 脚本:

(1)读取ovpn文本文件的内容;

(2)使用正则表达式抓取标签之间的相关文本;

def grabBetweenTag(tagName, fileContents):

    betweentag = re.findall('<'+tagName+'>.*\n(^.*$.*\n[\S\n]+.*$\n)</'+tagName+'>', fileContents, re.MULTILINE)

    return betweentag[0]

grabBetweenTag('ca', fileContents)
grabBetweenTag('cert', fileContents)
grabBetweenTag('key', fileContents)

(3)将该文本复制到新的文本文件中;

(4)标签和要创建的新文本文件之间的映射如下所示:

  • '<ca>' 和 '</ca>' 之间的所有文本将用于创建 '**ca.crt';
  • '<cert>' 和 '</cert>' 之间的所有文本将用于创建 '**client.crt';
  • '<key>' 和 '</key>' 之间的所有文本将用于创建 '**client.key'。

我创建了这个存储库作为该逻辑的一个示例实现,用于抓取所有 ovpn 文件并创建证书

*.ovpn --> *-ca.crt,*-client.crt,*-client.key

答案4

在 Gnome 中,您只需单击 + 即可添加 VPN:

加

然后在这里选择 OpenVPN:

OpenVPN

然后您就可以打开该.ovpn文件。

不幸的是,它没有提供将新内容加载.opvn到现有 VPN 配置中的方法,因此如果您想更改现有 VPN,最简单的方法是删除它并创建一个新的。

相关内容