OpenVPN очень удобное и мощное построения для шифрованных сетей. Много где его применял и применяю, но как то не писал про его настройку.
В данный момент появилась острая необходимость пробросить на один сервер впн, этим и займемся.
Имеем свежеустановленную систему
uname -a
FreeBSD slik.loc 9.2-RELEASE FreeBSD 9.2-RELEASE #1: Tue Feb 18 12:08:12 EET 2014 slik@slik.loc:/usr/obj/usr/src/sys/SLIK i386
Приступаем к установке openvpn
cd /usr/ports/security/openvpn/ && make install clean
После установки OpenVPN приступаем к конфигурации.
cd /usr/local/share/doc/openvpn/easy-rsa/2.0/
Для начала сделаем правку в файле vars, приводим его к такому состоянию.
# Меняем export KEY_DIR="$EASY_RSA/keys" на
export KEY_DIR="$EASY_RSA/keys/server"
# меняем export KEY_SIZE=1024 на 2048
# (увеличим размер ключей с 1024 бит до 2048 бит)
export KEY_SIZE=2048
Немного поправим права на скрипты.
chmod 544 *
Создадим директорию для хранения ключей и сертификатов
mkdir -p keys/server
Запускаем shell
#sh
#. ./vars
Нам сказали что необходимо все почистить в папке server, что мы и делаем.
Один очень важный момент, команда ./clean-all удаляет все ранее созданные ключи и сертификаты, будьте осторожны!
./clean-all
Приступаем к созданию сертификата. Очень важный момент все правильно заполнять, так как часто возникают ошибки при невнимательности.
Вот мой листинг с консоли при создании сертификата.
# ./build-ca
Generating a 2048 bit RSA private key
......................................................................................+++
....................+++
writing new private key to 'ca.key'
-----
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [US]:UA
State or Province Name (full name) [CA]:Kyiv
Locality Name (eg, city) [SanFrancisco]:Kyiv
Organization Name (eg, company) [Fort-Funston]:server
Organizational Unit Name (eg, section) [changeme]:server
Common Name (eg, your name or your server's hostname) [changeme]:server
Name [changeme]:
Email Address [mail@host.domain]:admin@slik45.kiev.ua
#
Continue reading »