栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

使用特定的OpenSSL版本构建OpenVPN

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

使用特定的OpenSSL版本构建OpenVPN

以下是我使用OpenSSL 1.0.2构建OpenVPN的过程。OpenSSL 1.0.1 1.0.2
1.1.0无关紧要。但是,某些配置脚本在OpenSSL
1.1.0上终止,因为1.1.0使用

OPENSSL_init_ssl
而不是
SSL_library_init
。注意在Linux上使用RPATH(OS
X将使用另一种技术)。

OpenSSL配置选项大部分记录在《编译和安装》中。在其Wiki上配置选项。我并
没有 找到OpenVPN的相似,

./configure --help
是不是非常有帮助。通常,对于Autools项目,您需要
--with-ssl=<path to sslroot>
,但是OpenVPN似乎没有该选项。对于OpenVPN,以下过程使用Autools进行了专门的处理
CFLAGS

这两个库都禁用了压缩,因为它可能泄漏信息。有关更多详细信息,如果可以,请参阅发现我:在加密的VoIP对话中发现口头短语。问题是可变比特率编码,基本设计在其他压缩库(如zlib)中很普遍。

OpenSSL 1.0.2

$ wget https://www.openssl.org/source/openssl-1.0.2h.tar.gz$ tar xzf openssl-1.0.2h.tar.gz$ cd openssl-1.0.2h$ ./config shared no-ssl2 no-ssl3 no-comp enable-ec_nistp_64_gcc_128 -Wl,-rpath=/usr/local/ssl/lib --prefix=/usr/local/ssl$ make -j 4$ make test$ sudo make install# clear program cache$ hash -r

您可以通过以下方式检查

openssl
程序是否正在使用预期的共享对象:

$ ldd /usr/local/ssl/bin/openssl    linux-vdso.so.1 =>  (0x00007ffc36578000)    libssl.so.1.0.0 => /usr/local/ssl/lib/libssl.so.1.0.0 (0x00007f94b48fb000)    libcrypto.so.1.0.0 => /usr/local/ssl/lib/libcrypto.so.1.0.0 (0x00007f94b448b000)    libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f94b40c6000)    libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f94b3ec2000)    /lib64/ld-linux-x86-64.so.2 (0x00007f94b4b6c000)

您还可以通过以下方法确保新

openssl
的路径正常。但是,它不是您的问题所必需的。

$ sudo ln -s /usr/local/ssl/bin/openssl /usr/local/bin/openssl$ hash -r$ command -v openssl/usr/local/bin/openssl

OpenVPN 2.3.11

$ wget https://swupdate.openvpn.org/community/releases/openvpn-2.3.11.tar.gz$ tar xzf openvpn-2.3.11.tar.gz$ cd openvpn-2.3.11$ CFLAGS="-I/usr/local/ssl/include -Wl,-rpath=/usr/local/ssl/lib -L/usr/local/ssl/lib" ./configure --disable-lzo$ make -j 4

接下来,检查OpenVPN程序以查看其链接:

$ find . -type f -name openvpn./src/openvpn/openvpn$ ldd ./src/openvpn/openvpn    linux-vdso.so.1 =>  (0x00007ffc8bfc4000)    libssl.so.1.0.0 => /usr/local/ssl/lib/libssl.so.1.0.0 (0x00007f74f49f3000)    libcrypto.so.1.0.0 => /usr/local/ssl/lib/libcrypto.so.1.0.0 (0x00007f74f4583000)    libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f74f437f000)    libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f74f3fba000)    /lib64/ld-linux-x86-64.so.2 (0x00007f74f4c64000)

接下来,运行自检:

$ make check...make[3]: Entering directory `/home/jwalton/openvpn-2.3.11/tests'./t_client.sh: cannot find 't_client.rc' in build dir ('..')./t_client.sh: or source directory ('.'). SKIPPING TEST.SKIP: t_client.shTesting cipher AES-128-CBC... OKTesting cipher AES-128-CFB... OKTesting cipher AES-128-CFB1... OK...

如果测试正常,请安装OpenVPN:

$ sudo make install$ hash -r$ command -v openvpn/usr/local/sbin/openvpn

最后,检查一下:

$ /usr/local/sbin/openvpn --versionOpenVPN 2.3.11 x86_64-unknown-linux-gnu [SSL (OpenSSL)] [EPOLL] [MH] [IPv6] built on Aug 17 2016library versions: OpenSSL 1.0.2h  3 May 2016Originally developed by James YonanCopyright (C) 2002-2010 OpenVPN Technologies, Inc. <sales@openvpn.net>...

如果有兴趣,您可以在Noloader | Java中找到一个构建脚本来自动执行该过程。构建脚本。它包括一个用于OpenVPN的服务器。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/368241.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号