Установка VPN-клиента на RH-based Linux

Для установки VPN-клиента с поддержкой эллиптической криптографии DeepWebVPN на RedHat-based Linux, необходимо выполнить следующую инструкцию в точном порядке ее изложения. Внимание!!! Команды начинающиеся с приглашения '#' выполняются от root-пользователя, приглашение '$' означает выполнение от простого пользователя.

Установка необходимых пакетов

# yum install gcc* autoconf* libtool* snappy* openssl-dev* lzo* libpam* pam-devel* -y

Установка OpenSSL

Чтобы в завершающей стадии установки OpenSSL убедиться в корректности установки из тарбола, запомните текущую версию OpenSSL.
# openssl version
OpenSSL 1.0.1k-fips 8 Jan 2015
Далее необходимо скачать последний исходник OpenSSL с официального сайта. Скачать, распаковать и зайти в директорию распакованного тарбола.
$ wget https://www.openssl.org/source/openssl-1.0.1p.tar.gz
$ tar -xvzf openssl-1.0.1p.tar.gz
$ cd openssl-1.0.1p
Теперь, находясь в директории куда был извлечен архив, следует выполнить следующее.
$ ./config --prefix=/usr --openssldir=/usr/ssl
$ make
$ make test
# make install
$ ./config shared --prefix=/usr --openssldir=/usr/ssl
$ make clean
$ make
# make install
Версия OpenSSL должна измениться.
# openssl version
OpenSSL 1.0.1p 9 Jul 2015

Установка OpenVPN-клиента

Запомните предустановленную версию, если таковая была установлена. Насколько бы последний номер версии предустановленный клиент не имел, он все равно не будет совместим с эллиптической криптографией, т.к. был скомпилирован на основе предустановленной библиотеки OpenSSL.
$ openvpn --version
OpenVPN 2.3.8 x86_64-redhat-linux-gnu [SSL (OpenSSL)] [LZO] [EPOLL] [PKCS11] [MH] [IPv6] built on Aug  4 2015
library versions: OpenSSL 1.0.1k-fips 8 Jan 2015, LZO 2.08
Originally developed by James Yonan
Copyright (C) 2002-2010 OpenVPN Technologies, Inc. <[email protected]>
Compile time defines: enable_crypto=yes enable_crypto_ofb_cfb=yes enable_debug=yes enable_def_auth=yes enable_dependency_tracking=no enable_dlopen=unknown enable_dlopen_self=unknown enable_dlopen_self_static=unknown enable_fast_install=yes enable_fragment=yes enable_http_proxy=yes enable_iproute2=yes enable_libtool_lock=yes enable_lzo=yes enable_lzo_stub=no enable_management=yes enable_multi=yes enable_multihome=yes enable_pam_dlopen=no enable_password_save=yes enable_pedantic=no enable_pf=yes enable_pkcs11=yes enable_plugin_auth_pam=yes enable_plugin_down_root=yes enable_plugins=yes enable_port_share=yes enable_pthread=yes enable_selinux=no enable_server=yes enable_shared=yes enable_shared_with_static_runtimes=no enable_small=no enable_socks=yes enable_ssl=yes enable_static=yes enable_strict=no enable_strict_options=no enable_systemd=yes enable_win32_dll=yes enable_x509_alt_username=yes with_crypto_library=openssl with_gnu_ld=yes with_iproute_path=/sbin/ip with_mem_check=no with_plugindir='$(libdir)/openvpn/plugins' with_sysroot=no
Убедившись, что OpenVPN-клиент основан на неподходящей библиотеки OpenSSL, следует скачать последнюю версию исходного кода клиента, после чего зайти в директории исходника.
$ git clone https://github.com/OpenVPN/openvpn.git
$ cd openvpn
Находясь в директории с исходным кодом, необходимо выполнить следующее.
$ autoreconf -i -v -f
$ ./configure
$ make
# make install
На последнем шаге убедитесь, что OpenVPN-клиент обновлен/установлен.
$ openvpn --version
OpenVPN 2.3_git [git:master/7546cba4761b24f2] x86_64-unknown-linux-gnu [SSL (OpenSSL)] [LZO] [LZ4] [EPOLL] [MH] [IPv6] built on Nov 17 2015
library versions: OpenSSL 1.0.1p 9 Jul 2015, LZO 2.08