是否有任何文档或资源描述如何生成和托pipeOpenVPN客户端的configuration文件导入? 理想情况下,我的用户不必分别获取.ovpn + certs的.zip文件,将其解压到适当的目录,调整.ovpn等。
显然,自从OpenVPN 2.1以来,一直支持内联configuration。 允许您查找您的证书,并将所有密钥全部保存在一个configuration文件中。 但是关于如何创build这个configuration文件的文档直到最近的2.3版才被添加。
https://community.openvpn.net/openvpn/wiki/Openvpn23ManPage
client proto udp remote openvpnserver.example.com port 1194 dev tun nobind key-direction 1 <ca> -----BEGIN CERTIFICATE----- # insert base64 blob from ca.crt -----END CERTIFICATE----- </ca> <cert> -----BEGIN CERTIFICATE----- # insert base64 blob from client1.crt -----END CERTIFICATE----- </cert> <key> -----BEGIN PRIVATE KEY----- # insert base64 blob from client1.key -----END PRIVATE KEY----- </key> <tls-auth> -----BEGIN OpenVPN Static key V1----- # insert ta.key -----END OpenVPN Static key V1----- </tls-auth>
从OpenVPN 2.3手册页(这是支持从2.1rc – 东西):
OpenVPN允许在主要configuration文件中包含--ca, --cert, --dh, --extra-certs, --key, --pkcs12, --secret
和--tls-auth
选项。
每个内联文件由行开始,以行结束
这是一个内联文件使用的例子
<cert> -----BEGIN CERTIFICATE----- [...] -----END CERTIFICATE----- </cert>
当使用内联文件function--pkcs12
,内联文件必须是base64编码的。 将.p12文件编码到base64中可以通过运行openssl base64 -in input.p12
另请注意key-direction
选项:
指定--tls-auth
和--secret
选项的可选方向参数的替代方法。 使用内联文件时很有用(请参阅内联文件部分)。
这个Python脚本可以在服务器上运行以生成客户端密钥和configuration文件。 我想内联,但它不是我的创作,而且很长,可能会定期更新,并有分叉的机会,因此它可以在networking上search未来的networking游客。 如果链接不起作用,请尝试search“openvpn_gen.py”。