Инструменты пользователя

Инструменты сайта


nastrojka_servera_openvpn_na_openvz

Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

nastrojka_servera_openvpn_na_openvz [2020/03/27 04:35]
darkfire создано
nastrojka_servera_openvpn_na_openvz [2020/03/27 04:39] (текущий)
darkfire
Строка 1: Строка 1:
 ====== Настройка сервера OpenVPN на OpenVZ ====== ====== Настройка сервера OpenVPN на OpenVZ ======
 +
 +**Окружение:​**
 +  * [[OpenVZ]] Hardware Node(HD) [[CentOS]] 6.5 (Final),
 +  * Virtual Environment(VE) [[Ubuntu]] 14.04.1 LTS,
 +  * OpenVPN 2.3.2,
 +  * Easy-RSA 2.2.
 +
 +===== Инсталляция VE(VPS, VDS) =====
 +
 +  * Инсталлируем VE Ubuntu для OpenVZ<​file>​
 +# cd /​vz/​template/​cache/​
 +# wget -c http://​download.openvz.org/​template/​precreated/​ubuntu-14.04-x86_64-minimal.tar.gz
 +# vzctl create 111 --layout simfs --ostemplate ubuntu-14.04-x86_64-minimal
 +CT configuration saved to /​etc/​vz/​conf/​111.conf
 +</​file>​
 +  * Настраиваем VE 111.conf.
 +  * [[openvz?&#​ustanovka_tun_tap_dlja_openvpn_na_openvz_ve|Установка tun/tap для OpenVPN на OpenVZ VE]]
 +  * Все остальные настройки производим уже в установленной VE<​file>​
 +# vzctl enter 111
 +</​file>​
 +===== Создание ключей =====
 +  * Создание ключей при помощи утилиты Easy-RSA. Ранее эта утилита входила в дистрибутив сервера OpenVPN, сейчас она отдельный проект. Последнюю версию утилиты можно скачать с сайта OpenVPN, но правильнее использовать версию поставляемую с вашим дистрибутивом ОС.<​file>​
 +aptitude install easy-rsa
 +</​file>​
 +  * Перед тем как запустить демон OpenVPN, нам нужны в каталоге /​etc/​openvpn/​keys<​file>​
 +openssl.cnf — файл конфигурации OpenSSL;
 +server.conf — файл конфигурации сервера OpenVPN;
 +ca.crt — cертификат удостоверяющего центра;​
 +vpn-server.crt — cертификат сервера OpenVPN;
 +server.key — приватный ключ сервера OpenVPN, секретный;​
 +crl.pem — cписок отзыва сертификатов;​
 +dh.pem — файл Диффи-Хелмана для обеспечения защиты трафика от расшифровки;​
 +ta.key — ключ HMAC для дополнительной защиты от DoS-атак и флуда
 +</​file>​
 +  * Копируем директорию easy-rsa в то место где будем создавать инфраструктуру публичных ключей (Public Key Infrastructure,​ PKI)<​file>​
 +cp -R /​usr/​share/​easy-rsa /​etc/​openvpn/​
 +cd /​etc/​openvpn/​easy-rsa
 +</​file>​Изменяем параметры по умолчанию для сертификатов в файле vars<​file>​
 +export KEY_COUNTRY="​US"​
 +export KEY_PROVINCE="​CA"​
 +export KEY_CITY="​SanFrancisco"​
 +export KEY_ORG="​Fort-Funston"​
 +export KEY_EMAIL="​me@myhost.mydomain"​
 +export KEY_OU="​MyOrganizationalUnit"​
 +</​file>​Создадим переменные окружения.<​file>​
 +source ./vars
 +NOTE: If you run ./​clean-all,​ I will be doing a rm -rf on /​etc/​openvpn/​easy-rsa/​keys
 +</​file>​Очистим от предыдущих экспериментов. Создадим ключ Диффи-Хелмана (ключ создается некоторое время).<​file>​
 +./clean-all
 +./build-dh
 +Generating DH parameters, 2048 bit long safe prime, generator 2
 +This is going to take a long time
 +...
 +</​file>​
 +  * Создадим директорию для хранения приватных ключей сервера OpenVPN. Скопируем туда файл Диффи-Хелмана (dh2048.pem)<​file>​
 +mkdir /​etc/​openvpn/​keys
 +cp keys/​dh2048.pem /​etc/​openvpn/​keys/​
 +</​file>​
 +  * Статический ключ [[HMAC]] для с целью дополнительной защиты от [[DoS]]-атак и flood.
 +  * Создадим **удостоверяющий центр CA**. Создадутся ca.crt и ca.key. Файл ca.key представляет собой приватный ключ центра CA, он **секретный**,​ и его **нельзя переносить** на другие узлы вашей сети. Файл сертификата удостоверяющего центра ca.crt, напротив,​ открытый,​ и он будет нужен на узлах серверов и клиентов OpenVPN.<​file>​
 +./pkitool --initca
 +</​file>​
 +  * Создадим сертификат для сервера с именем vpnluxor<​file>​
 +./pkitool --server vpnluxor
 +</​file>​Созданные файлы vpnluxor.crt и vpnluxor.key копируем в директорию /​etc/​openvpn/​keys/​
 +  *  Создадим сертификат для клиента client1 с одноименном параметром CommonName . Отдельный ключ для каждого клиента.<​file>​
 +./pkitool client1
 +</​file>​
 +
 +
 +
 +===== Инсталлируем OpenVPN =====
 +
 +  * Установим OpenVPN 2.3 в VE([[Ubuntu]] 14.04.1 LTS)<​file>​
 +aptitude install openvpn
 +</​file>​Для запуска раскомментируем строку<​file>​
 +nano /​etc/​default/​openvpn
 +...
 +AUTOSTART="​all"​
 +...
 +</​file>​
 +  * Копируем openvpn.conf<​file>​
 +cp /​usr/​share/​doc/​openvpn/​examples/​sample-config-files/​server.conf.gz /​etc/​openvpn/​
 +gunzip server.conf.gz
 +</​file>​Пробуем запустить,​ OpenVPN останавливает свою работу из-за несуществующих сертификатов ca.crt, dh1024.pem и других. [[openvpn?&#​sozdanie_kljuchej|Создаем нужные ключи]].
 +  * В директории ccd хранятся индивидуальные настройки для каждого клиента.<​file>​
 +mkdir /​etc/​openvpn/​ccd
 +</​file>​
 +
  
nastrojka_servera_openvpn_na_openvz.txt · Последние изменения: 2020/03/27 04:39 — darkfire