OpenVPN установка и настройка сервера под Gentoo linux: различия между версиями
ALEX (обсуждение | вклад) |
ALEX (обсуждение | вклад) |
||
Строка 28: | Строка 28: | ||
==Генерация сертификатов, ключей, а так же параметров Диффи-Хеллмана== | ==Генерация сертификатов, ключей, а так же параметров Диффи-Хеллмана== | ||
Процедура достаточно простая, однако, для более глубокого познания процесс можно почитать вот [http://openvpn.net/howto.html#pki тут]. | |||
===Настройка параметров ключей=== | |||
До генерации можно занести в конфиг базовые параметры (дефолтные) ключей и сертификатов, чтобы каждый раз не вводить их руками. Для этого выполняем: | |||
{{root|cd /usr/share/openvpn/easy-rsa/}} | |||
{{root|nano vars}} | |||
{{note|Важно, чтобы параметры KEY_COUNTRY, KEY_PROVINCE, KEY_CITY, KEY_ORG, и KEY_EMAIL не были пустыми. В самом низу этого конфига можно заполнить и другие параметры заранее}}. У меня получилось что-то типа: | |||
{{root|tail -n 11 /usr/share/openvpn/easy-rsa/vars}} | |||
{{File|/usr/share/openvpn/easy-rsa/vars| | |||
<syntaxhighlight lang="bash" line start="1" line="GESHI_FANCY_LINE_NUMBERS" enclose="div"> | |||
export KEY_COUNTRY="RU" | |||
export KEY_PROVINCE="Russia" | |||
export KEY_CITY="Moscow" | |||
export KEY_ORG="Donik Corporation" | |||
export KEY_EMAIL="admin@donik.org" | |||
export KEY_EMAIL=admin@donik.org | |||
export KEY_CN=donik.org | |||
export KEY_NAME=changeme | |||
export KEY_OU=changeme | |||
export PKCS11_MODULE_PATH=changeme | |||
export PKCS11_PIN=1234 | |||
</syntaxhighlight> | |||
}} | |||
В принципе всё это не так важно =) | |||
===Процедура выпуска ключей=== | |||
Теперь выполняем команды из той же папки, куда мы перешли чуть ранее {{path|/usr/share/openvpn/easy-rsa/}}: | |||
{{root|source ./vars}} | |||
{{root|./clean-all}} | |||
{{root|./build-ca}} | |||
{{note|Последняя команда генерирует ключ и сертификат "Удостоверяющего центра" =)}} | |||
После инициализации приступаем к выпуску ключей для сервера и клиента. | |||
====Выпускаем сертификат для сервера==== | |||
{{root|./build-key-server server}} | |||
Большинство параметров пройдут как и раньше по дефолту благодаря нашей подготовке в самом начале. На вопрос '''Common Name''' ввести '''server'''. | |||
Так же даём утвердительные ответы на 2 последних вопроса: | |||
'''Sign the certificate? [y/n]''' и '''1 out of 1 certificate requests certified, commit? [y/n]''' | |||
====Выпускаем сертификат для клиента==== | |||
{{root|./build-key client}} | |||
На вопрос '''Common Name''' нужно ввести имя клиента: '''client''', client2, client3 и т. д. если у нас много разных клиентов. | |||
{{note|На вопросы о защите ключей паролем я везде оставлял поле пустым (дефолтное значение) - то есть ключи без паролей.}} | |||
==Конфигурирование OpenVPN сервера== | ==Конфигурирование OpenVPN сервера== |
Версия 18:30, 2 марта 2013
OpenVPN — свободная реализация технологии Виртуальной Частной Сети (VPN) с открытым исходным кодом для создания зашифрованных каналов типа точка-точка или сервер-клиенты между компьютерами. Более подробно можно почитать на WikiPedia
Встала у меня необходимость подключаться к компьютеру с серым IP, у которого нет никакой возможности получить белый IP. Однако, вспомнив, что у меня есть домашний мини-сервер в белый постоянным IP было решено установить на него VPN сервер, к которому сможет подключиться компьютер с серым IP, а дальше уже, после подключения, сервер мог бы направлять запросы на клиента с серым IP.
Настройка конфигурации ядра
Для начала нам нужно пересобрать ядро системы с включённой опциец TUN/TAP. Я включил её не как отдельный LKM, а встроил в ядро.
Linux Kernel Configuration: 3.1.6 kernel config с поддержкой TUN/TAP |
Device Drivers ---> [*] Network device support ---> <*> Universal TUN/TAP device driver support |
Для того, чтобы вспомнить, как собрать ядро можно почитать краткий мануал. После пересборки ядра незабываем загрузиться в него.
Установка OpenVPN под Gentoo
В Gentoo пакет ставится следующим образом: net-misc/openvpn-2.2.2
Проверям USE флаги. Use Flags: pam ssl (?) Остальные USE флаги были выключенны.
Далее как обычно
Генерация сертификатов, ключей, а так же параметров Диффи-Хеллмана
Процедура достаточно простая, однако, для более глубокого познания процесс можно почитать вот тут.
Настройка параметров ключей
До генерации можно занести в конфиг базовые параметры (дефолтные) ключей и сертификатов, чтобы каждый раз не вводить их руками. Для этого выполняем:
. У меня получилось что-то типа:
export KEY_COUNTRY="RU"
export KEY_PROVINCE="Russia"
export KEY_CITY="Moscow"
export KEY_ORG="Donik Corporation"
export KEY_EMAIL="admin@donik.org"
export KEY_EMAIL=admin@donik.org
export KEY_CN=donik.org
export KEY_NAME=changeme
export KEY_OU=changeme
export PKCS11_MODULE_PATH=changeme
export PKCS11_PIN=1234
В принципе всё это не так важно =)
Процедура выпуска ключей
Теперь выполняем команды из той же папки, куда мы перешли чуть ранее /usr/share/openvpn/easy-rsa/:
После инициализации приступаем к выпуску ключей для сервера и клиента.
Выпускаем сертификат для сервера
Большинство параметров пройдут как и раньше по дефолту благодаря нашей подготовке в самом начале. На вопрос Common Name ввести server.
Так же даём утвердительные ответы на 2 последних вопроса:
Sign the certificate? [y/n] и 1 out of 1 certificate requests certified, commit? [y/n]
Выпускаем сертификат для клиента
На вопрос Common Name нужно ввести имя клиента: client, client2, client3 и т. д. если у нас много разных клиентов.