Как передать данные от клиента серверу openvpn. Установка и настройка серверной части. Установка OpenVPN на сервер

Интернет подобен морю. С пересылаемыми данными, как с судном во время путешествия, может случиться что угодно: они могут повредиться, затонуть в потоке информации или стать добычей «пиратов». Защитить особо ценные данные от кражи и потери помогают (VPN, ВПН) – системы закрытых каналов (туннелей), которые строятся внутри другой, более крупной сети. Одним из видов ВПН является OpenVPN.

Хотите научиться создавать виртуальные частные сети быстро и легко? Поговорим о преимуществах протокола OpenVPN, а также о настройках серверной и клиентской части принадлежащего ему ПО под Windows и Ubuntu.

Область применения и преимущества OpenVPN

Область применения

  • Создание защищенных корпоративных сетей. Расстояние между узлами таких сетей не имеет значения.
  • Защита информации в открытых общественных сетях.
  • Подключение к Интернету нескольких хостов через общий шлюз.
  • Доступ к запрещенным веб-ресурсам.

Преимущества

  • Всё бесплатно. Большинство из нас не откажется от бесплатного Wi-Fi в кафе или в парке, но трафик, передаваемый по такому соединению, никак не защищен от перехвата. Бесплатное ПО OpenVPN направит его в закрытый туннель, поэтому ваши логины, пароли и другая секретная информация точно не утечет в чужие руки.
  • Чтобы сделать свою сеть защищенной, не нужно покупать дополнительное оборудование.
  • Весь передаваемый трафик сжимается, что обеспечивает высокую скорость связи (выше, чем при использовании IPSec).
  • Гибкие настройки ПО позволяют сконфигурировать VPN любой сложности.
  • Использование нескольких надежных алгоритмов шифрования обеспечивает очень высокую степень защиты данных.
  • Не требуется перенастройки или отключения файерволов (сетевых экранов) и NAT (технологии преобразования ИП-адресов в сетях TCP/IP).
  • Протокол поддерживают все основные операционные системы.
  • Для установки и настройки программного обеспечения не нужны глубокие знания сетевых технологий, и даже у неспециалиста это занимает считанные минуты.

Настройка OpenVPN под Windows

Установка и настройка серверной части

Поскольку большинство из нас пользуется ОС Windows, знакомство с OpenVPN-технологией начнем с нее. Итак, подходящий дистрибутив и запустите инсталляцию.

В списке «Select components to install » (выберите компоненты для установки) отметьте всё.

Согласитесь на установку драйвера виртуального сетевого адаптера TAP Windows Adapter V9.

Установили? Теперь займемся созданием ключей и сертификатов VPN.

  • Заходим в каталог %ProgramFiles%/OpenVPN/easy-rsa и запускаем пакетный файл init-config.bat – он скопирует в эту же папку файл vars.bat.sample в виде vars.bat . В дальнейшем пакет команд vars.bat будет задавать переменные для генерации сертификатов.

  • После создания vars. bat открываем его с помощью блокнота и прописываем в выделенных строчках (после «=») любые данные. Сохраняем изменения.

  • Далее запускаем от администратора командную строку и выполняем инструкцию перехода в /easy-rsa (cd % ProgramFiles%/ OpenVPN/ easy- rsa ). После этого последовательно запускаем vars. bat и clean- all. bat (загружаем переменные и удаляем ранее созданные ключи).

  • Выполняем пакет команд build- ca. bat – этим мы создадим новый основной сертификат в каталоге %ProgramFiles%/OpenVPN/easy-rsa/keys. Заполнять данные об имени организации и прочее, что обведено на скриншоте рамкой, не обязательно – достаточно просто нажимать Enter.

  • Запускаем build- dh. bat – этим мы создаем ключ Диффи-Хельмана. В папке /keys появится файл dh1024.pem .

  • На очереди – ключ сервера: выполняем инструкцию build- key- server myVPN («myVPN» – это имя сервера, можете указать любое другое). Блок вопросов, начинающийся с «Country Name», пропускаем, нажимая Enter. На два последних вопроса – «Sign the certificate?» и следующий, отвечаем «Y».

  • Дальше нам нужно получить ключ клиента: выполняем build- key user1 (user1 – имя клиента, можете заменить на другое). Если клиентских компьютеров несколько, повторяем операцию для каждого, не забыв изменить имя. Обведенный рамкой блок, как и раньше, пропускаем.

  • Далее копируем из папки / easy- rsa/ keys в / OpenVPN/ config следующие файлы: dh1024.pem , ca.crt myvpn.crt , myvpn.key , user1. key, user1. crt . Последние четыре могут называться у вас по-другому. Почему, думаю, понятно.

  • Следом в этой же папке создаем файл конфигурации сервера. Копируем приведенные ниже директивы в блокнот и, если нужно, меняем их параметры на свои. Сохраняем документ с расширением.ovpn и именем «Server ».

# Интерфейс (L3-туннель)
dev tun
# Протокол работы VPN
proto udp
# Используемый порт (можно указать любой свободный)
port 1234
# Список сертификатов и ключей (обратите внимание на имена)
ca ca.crt
cert myvpn.crt
key myvpn.key
dh dh1024.pem
# Тип шифрования данных
cipher AES-256-CBC
# Выделяем диапазон ИП-адресов
server 10.10.10.0 255.255.255.0
# Уровень отладочной информации
verb 3
# Используем сжатие
comp-lzo
persist-key
persist-tun
mssfix
# Задаем максимальное число повторяющихся событий
mute 25
# Количество одновременно подключенных клиентов (5)
max-clients 5
# Время жизни клиентской сессии
keepalive 10 120
# Видимость клиентами друг друга (разрешена)
client-to-client
# Выделяем каждому юзеру 1 адрес
topology subnet
# Устанавливаем задержку перед добавлением маршрута
route-delay
#Указываем, если хотим раздавать Интернет. Адреса DNS пишем те, которые прописаны в настройках интернет-подключения.
push «redirect-gateway def1»

push «dhcp-option DNS x.x.x.x»

Дополнительно о директивах серверного конфига читайте .

Далее для раздачи интернета заходим в каталог сетевых подключений, открываем свойства интерфейса, смотрящего в глобальную сеть, переходим на вкладку «Доступ », ставим метку напротив «Разрешить другим пользователям использовать это подключение… » и выбираем из списка сеть виртуального адаптера TAP-Windows adapter V9 – в моем примете это Ethernet 3.

  • Создаем файл конфигурации клиента. Копируем следующий текст в блокнот и сохраняем документ с расширением.ovpn под именем «Client».

client
dev tun
proto udp
# IP или доменное имя VPN-сервера и порт подключения.
remote x.x.x.x 1234
ca ca.crt
cert user1.crt
key user1.key
cipher AES-256-CBC
comp-lzo
persist-key
persist-tun
verb 3

Другие директивы клиентского конфига смотрите .

Настройка клиентской части

Устанавливаем приложение на клиентский компьютер. Далее заходим на серверный, открываем каталог %ProgramFiles%/OpenVPN/config и копируем оттуда файлы ca.crt, Client.ovpn, user1.crt, user1. key в сетевую папку или на флешку. Переносим их в аналогичную папку клиентской машины.

Подключение

Чтобы запустить сервер, кликните по ярлыку «OpenVPN GUI» на рабочем столе. В трее появится иконка серого цвета. Щелкните по ней правой кнопкой мышки, выберите в меню команды «Server » и «Подключиться ».

При удачном подключении иконка сменит цвет на зеленый. При неудачном – кликните в меню «Посмотреть журнал »: в нем будет указана ошибка.

Подключение клиента выполняется таким же способом, только вместо «Server » выбираем в меню «Client ».

Настройка OpenVPN под Ubuntu

Начинаем с того, что, как и на Windows, устанавливаем пакет OpenVPN на серверную и клиентские машины. Директива установки консольной версии ПО через терминал следующая: sudo apt-get install openvpn . При желании можете установить графические версии пакетов из центра приложений Ubuntu.

Однако важнейший компонент – модуль easy-rsa, предназначенный для генерации сертификатов и ключей, в Linux-дистрибутив не входит. Его придется установить отдельно, выполнив команду: sudo apt- get install easy- rsa.

Настройка серверной части

  • После инсталляции программы и дополнительного модуля создаем каталог «easy-rsa » в папке /etc/openvpn: sudo mkdir /etc/openvpn/easy-rsa. Копируем в него содержимое из места установки: cp -r /usr/share/easy-rsa /etc/openvpn/easy-rsa.
  • Следом переходим в новый каталог: cd /etc/openvpn/easy-rsa/ и приступаем к созданию сертификатов и ключей.

  • Открываем с помощью консольного редактора nano файл переменных vars (аналог vars.bat в Windows) и импортируем в него те же данные, что и в vars.bat, с измененными значениями:

KEY_COUNTRY=RU
KEY_PROVINCE=CA
KEY_CITY=SanFrancisco
KEY_ORG=OpenVPN
[email protected]
KEY_CN=changeme
KEY_NAME=changeme
KEY_OU=changeme
PKCS11_MODULE_PATH=changeme
PKCS11_PIN=1234

  • Копируем криптографический пакет openssl: cp openssl-1.0.0. cnf openssl. cnf .
  • Загружаем переменные из vars: source ./ vars .
  • Удаляем ранее созданные данные: ./ clean- all .
  • Создаем новый основной сертификат: ./ build- ca . Блок вопросов в рамке пропускаем.

  • Следом – ключ Диффи-Хельмана: ./ build- dh .
  • За ним – сертификат сервера: ./ build- key- server myVPN (myVPN, как вы помните, – это имя, у вас оно может быть другим). Выделенный блок пропускаем (на скриншоте он сокращен), на 2 последних вопроса отвечаем «Y».

  • Последним создаем сертификат клиента: ./ build- key user1 (вместо «user1» можете придумать другое имя). При этом снова пропускаем выделенный на скрине блок и на два последних вопроса отвечаем «Y».

Все созданные ключи и сертификаты сохраняются в подкаталоге / etc/ openvpn/ easy- rsa/ keys . Перемещаем их в папку /openvpn: cp -r /etc/openvpn/easy-rsa/keys /etc/openvpn.

На завершающем этапе создаем файл конфигурации сервера в папке /etc/openvpn: nano / etc/ openvpn/ server. conf и заполняем его так же, как заполняли аналогичный документ на Windows. Единственное отличие – другие пути:

ca /etc/openvpn/keys/ca.crt

cert /etc/openvpn/keys/myvpn.crt
key /etc/openvpn/keys/myvpn.key

Наконец, создаем каталог для конфигурации клиентских машин: mkdir /etc/openvpn/ccd, и запускаем сервер: service openvpn start.

Если сервер не стартует, вероятно, в конфигурации допущена ошибка. Сведения о проблеме можно посмотреть в документе /var/log/openvpn.log с помощью команды tail -f /var/log/openvpn.log .

Настройка клиентской части

После установки приложения на клиентскую машину переносим на нее сгенерированные на сервере ключ и сертификаты и создаем конфиг.

Ключ и сертификаты – ca.crt , user1.crt и user1.key , находятся в папке /etc/openvpn/keys. Копируем их на флешку и вставляем в одноименную папку на компьютере клиента.

Файл конфигурации создаем с помощью nano: nano /etc/openvpn/client.conf, и заполняем по образцу Windows. Не забудьте прописать в нем правильные пути:

ca /etc/openvpn/keys/ca.crt
dh /etc/openvpn/keys/dh2048.pem
cert /etc/openvpn/keys/user1.crt
key /etc/openvpn/keys/user1.key

Всё готово. Для подключения к серверу используем ту же команду: service openvpn start.

Инструкция получилась длинной, но на самом деле выполнение этих действий занимает 5-10 минут. Более подробная информация о работе с OpenVPN находится в разделе «» официального сайта приложения. Пробуйте, и всё у вас получится!

Ещё на сайте:

Настройка OpenVPN на Windows и Ubuntu: что, зачем и как обновлено: Апрель 24, 2016 автором: Johnny Mnemonic

OpenVPN – один из вариантов VPN (virtual private network или частных виртуальных сетей), позволяющих реализовать передачу данных по специально созданному зашифрованному каналу. Таким образом можно соединить два компьютера или построить централизованную сеть с сервером и несколькими клиентами. В этой статье мы научимся создавать такой сервер и настраивать его.

Как уже было сказано выше, с помощью технологии, о которой идет речь, мы можем передавать информацию по безопасному каналу связи. Это может быть обмен файлами или защищенный доступ в интернет через сервер, являющийся общим шлюзом. Для его создания нам не потребуется дополнительное оборудование и особые знания – все делается на том компьютере, который планируется использовать в качестве сервера VPN.

Для дальнейшей работы необходимо будет также настроить и клиентскую часть на машинах пользователей сети. Вся работа сводится к созданию ключей и сертификатов, которые затем передаются клиентам. Эти файлы позволяют при подключении к серверу получить IP-адрес и создать упомянутый выше зашифрованный канал. Вся информация, переданная по нему, может быть прочитана только при наличии ключа. Эта особенность позволяет значительно повысить безопасность и обеспечить сохранность данных.

Установка OpenVPN на машину-сервер

Инсталляция представляет собой стандартную процедуру с некоторыми нюансами, о которых и поговорим подробнее.


Настройка серверной части

При выполнении следующих действий следует быть максимально внимательным. Любые огрехи приведут к неработоспособности сервера. Еще одно обязательное условие – ваша учетная запись должна иметь права администратора.

  1. Идем в каталог «easy-rsa» , который в нашем случае находится по адресу

    C:\OpenVPN\easy-rsa

    Находим файл vars.bat.sample .

    Переименовываем его в vars.bat (удаляем слово «sample» вместе с точкой).

    Открываем этот файл в редакторе . Это важно, так как именно этот блокнот позволяет правильно редактировать и сохранять коды, что помогает избежать ошибок при их выполнении.

  2. В первую очередь удаляем все комментарии, выделенные зеленым цветом – они нам будут только мешать. Получим следующее:

  3. Далее меняем путь к папке «easy-rsa» на тот, который мы указывали при установке. В данном случае просто удаляем переменную %ProgramFiles% и меняем ее на C: .

  4. Следующие четыре параметра оставляем без изменений.

  5. Остальные строки заполняем произвольно. Пример на скриншоте.

  6. Сохраняем файл.

  7. Требуется также отредактировать следующие файлы:
    • build-ca.bat
    • build-dh.bat
    • build-key.bat
    • build-key-pass.bat
    • build-key-pkcs12.bat
    • build-key-server.bat

    В них нужно поменять команду

    на абсолютный путь к соответствующему ей файлу openssl.exe . Не забываем сохранять изменения.

  8. Теперь открываем папку «easy-rsa» , зажимаем SHIFT и кликаем ПКМ по свободному месту (не по файлам). В контекстном меню выбираем пункт «Открыть окно команд» .

    Запустится «Командная строка» с уже осуществленным переходом в целевой каталог.

  9. Вводим команду, указанную ниже, и нажимаем ENTER .

  10. Далее запускаем еще один «батник».

  11. Повторяем первую команду.

  12. Следующий шаг – создание необходимых файлов. Для этого используем команду

    После выполнения система предложит подтвердить данные, которые мы вносили в файл vars.bat. Просто несколько раз нажимаем ENTER , пока не появится исходная строка.

  13. Создаем DH-ключ с помощью запуска файла

  14. Готовим сертификат для серверной части. Здесь есть один важный момент. Ему нужно присвоить то имя, которое мы прописали в vars.bat в строке «KEY_NAME» . В нашем примере это Lumpics . Команда выглядит следующим образом:

    build-key-server.bat Lumpics

    Здесь также необходимо подтвердить данные с помощью клавиши ENTER , а также два раза ввести букву «y» (yes), где потребуется (см. скриншот). Командную строку можно закрыть.

  15. В нашем каталоге «easy-rsa» появилась новая папка с названием «keys» .

  16. Ее содержимое требуется скопировать и вставить в папку «ssl» , которую необходимо создать в корневом каталоге программы.

    Вид папки после вставки скопированных файлов:

  17. Теперь идем в каталог

    C:\OpenVPN\config

    Создаем здесь текстовый документ (ПКМ – Создать – Текстовый документ), переименовываем его в server.ovpn и открываем в Notepad++. Вносим следующий код:

    port 443
    proto udp
    dev tun
    dev-node "VPN Lumpics"
    dh C:\\OpenVPN\\ssl\\dh2048.pem
    ca C:\\OpenVPN\\ssl\\ca.crt
    cert C:\\OpenVPN\\ssl\\Lumpics.crt
    key C:\\OpenVPN\\ssl\\Lumpics.key
    server 172.16.10.0 255.255.255.0
    max-clients 32
    keepalive 10 120
    client-to-client
    comp-lzo
    persist-key
    persist-tun
    cipher DES-CBC
    status C:\\OpenVPN\\log\\status.log
    log C:\\OpenVPN\\log\\openvpn.log
    verb 4
    mute 20

    Обратите внимание, что названия сертификатов и ключей должны совпадать с расположенными в папке «ssl» .

  18. Далее открываем «Панель управления» и переходим в «Центр управления сетями» .

  19. Нажимаем на ссылку «Изменение параметров адаптера» .

  20. Здесь нам нужно найти подключение, осуществляемое через «TAP-Windows Adapter V9» . Сделать это можно, нажав по соединению ПКМ и перейдя к его свойствам.

  21. Переименовываем его в «VPN Lumpics» без кавычек. Это название должно совпадать с параметром «dev-node» в файле server.ovpn .

  22. Заключительный этап – запуск службы. Нажимаем сочетание клавиш Win+R , вводим строку, указанную ниже, и жмем ENTER .

  23. Находим сервис с названием «OpenVpnService» , кликаем ПКМ и идем в его свойства.

  24. Тип запуска меняем на «Автоматически» , запускаем службу и нажимаем «Применить» .

  25. Если мы все сделали правильно, то возле адаптера должен пропасть красный крестик. Это значит, что подключение готово к работе.

Настройка клиентской части

Перед началом настройки клиента необходимо совершить несколько действий на серверной машине – сгенерировать ключи и сертификат для настройки подключения.


Работы, которые необходимо выполнить на клиентской машине:


На этом настройка сервера и клиента OpenVPN завершена.

Заключение

Организация собственной VPN-сети позволит вам максимально защитить передаваемую информацию, а также сделать интернет-серфинг более безопасным. Главное – быть внимательнее при настройке серверной и клиентской части, при правильных действиях можно будет пользоваться всеми преимуществами частной виртуальной сети.

Открытая реализация технологии VPN - Virtual Private Network, которая предназначена для создания виртуальных частных сетей между группой территориально удаленных узлов поверх открытого канала передачи данных (интернет). OpenVPN подходит для таких задач, как безопасное удаленное сетевое подключение к серверу без открытия интернет-доступа к нему, как будто вы подключаетесь к хосту в своей локальной сети. Безопасность соединения достигается шифрованием OpenSSL .

Как это работает?

По окончанию настройки OpenVPN сервер сможет принимать внешние защищенные SSL сетевые подключения к созданному при запуске VPN-сервиса виртуальному сетевому адаптеру (tun/tap), не затрагивая правила обработки трафика других интерфейсов (внешний интернет-адаптер и др.) Имеется возможность настроить общий доступ клиентов OpenVPN к конкретному сетевому адаптеру из присутствующих на сервере. Во второй части инструкции рассмотрено такое туннелирование интернет-трафика пользователей. При этом способе переадресации обрабатывающий VPN-подключения хост будет выполнять и функцию прокси-сервера (Proxy) - унифицировать правила сетевой активности пользователей и осуществлять маршрутизацию клиентского интернет-трафика от своего имени.

Установка OpenVPN на сервер

Для каждого клиента VPN необходимо сгенерировать отдельный SSL-сертификат.

В конфигурации OpenVPN присутствует опция, включив которую вы можете использовать один сертификат для нескольких клиентов (см. файл server.ovpn -> опция "dublicate-cn" ), но это не рекомендуется с точки зрения безопасности. Сертификаты можно генерировать и в дальнейшем, по мере подключения новых клиентов. Поэтому сейчас создадим только один для клиента client1 :

Выполните следующие команды для генерации клиентских ключей: cd \
cd "C:\Program Files\OpenVPN\easy-rsa"
.\build-key.bat client1

Примечание: аргумент client1 - имя будущего файла.

В поле Common Name указываем имя клиента (в нашем случае client1).

Параметры Diffie Hellman

Для завершения настройки шифрования, необходимо запустить скрипт генерации параметров Диффи-Хеллмана : .\build-dh.bat

Отображение информации о создании параметров выглядит так:

Перенос созданных ключей/сертификатов

Сгенерированные сертификаты находятся в директории C:\Program Files\OpenVPN\easy-rsa\keys . Скопируйте перечисленные ниже файлы в каталог C:\Program Files\OpenVPN\config :

  • ca.crt
  • dh2048.pem/dh1048.pem
  • server.crt
  • server.key

Конфигурация сервера OpenVPN

В дереве найдите каталог HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters. В правой части окна найдите переменную IPEnableRouter , двойным щелчком мыши перейдите в окно редактирования значения и измените его на 1 , тем самым разрешив адресацию на VPS.

Автозапуск OpenVPN

Сразу настроим службу OpenVPN на автозапуск при старте системы. Открываем "Службы"(Services) Windows. Находим в списке OpenVPN -> ПКМ -> Свойства (Properties) -> Запуск: Автоматически

На этом базовая настройка сервера виртуальной частной сети завершена. Найдите файл C:\Program Files\OpenVPN\config\server.ovpn -> кликните правой кнопкой мыши -> "Start OpenVPN on this config" для запуска сервера виртуальной частной сети и подготовленного нами файла настроек.

Конфигурация клиента OpenVPN

Клиентские приложения OpenVPN доступны для всех популярных ОС: Windows / Linux / iOS / Android . Для MacOS используется клиент Tunnelblick . Все эти приложения работают с одними и теми же файлами конфигурации. Возможны лишь некоторые различия нескольких опций. Узнать о них вы можете, изучив документацию к своему клиенту OpenVPN. В этом руководстве мы рассмотрим подключение Windows-клиента с использованием того же дистрибутива программы, который мы устанавливали на сервер. При использовании приложений для других операционных систем логика настройки аналогична.

  1. Устанавливаем на клиентский компьютер.
  2. Копируем в директорию C:\Program Files\OpenVPN\config созданные ранее на сервере файлы клиентских сертификатов (2 сертификата с расширением.crt и ключ с расширением.key) и используем наш файл конфигурации клиента client.ovpn. Последний файл после копирования на устройство пользователя удаляем с сервера или переносим из папки config во избежание путаницы в будущем.
  3. Откройте файл client.ovpn. Найдите строку remote my-server-1 1194 и укажите в ней ip-адрес или доменное имя vpn-сервера:
    remote 1194

    Например: remote 111.222.88.99 1194

  4. Находим пути до сертификатов. Указываем в нем пути до скопированных ранее сертификатов ca.crt, client1.key, client1.crt как в примере ниже:
    # See the server config file for more
    # description. It"s best to use
    # a separate .crt/.key file pair
    # for each client. A single ca
    # file can be used for all clients.
    ca "C:\\Program Files\\OpenVPN\\config\\ca.crt"
    cert "C:\\Program Files\\OpenVPN\\config\\client1.crt"
    key "C:\\Program Files\\OpenVPN\\config\\client1.key"
    # This file should be kept secret
  5. Сохраните файл. Настройка клиентской части завершена.

Проверка правил Брандмауэра Windows

Внимание! Для корректной работы сервиса OpenVPN требуется, чтобы на севере были открыты соответствующие порты (по-умолчанию UDP 1194) . Проверьте соответствующее правило в вашем Firewall"е: или стороннем антивирусном ПО.

Проверка OpenVPN-соединения

Запустите OpenVPN сервер, для этого перейдите в директорию C:\Program Files\OpenVPN\config и выберите файл конфигурации сервера (у нас server.ovpn -> ПКМ ->

Запустите клиент, для этого перейдите в директорию C:\Program Files\OpenVPN\config и выберите файл конфигурации клиента (у нас client.ovpn -> ПКМ -> "Start OpenVPN on this config file").

На экране отобразится окно статуса подключения. Через несколько секунд оно будет свернуто в трей. Зеленый индикатор ярлыка OpenVPN в области уведомлений говорит об успешном подключении.

Проверим доступность с клиентского устройства сервера OpenVPN по его внутреннему адресу частной сети:


Теперь вы имеете готовую к работе виртуальную частную сеть, позволяющую осуществлять безопасные сетевые подключения между ее клиентами и сервером, используя открытые и территориально удаленные точки подключения к сети интернет.

Это часть серии статей посвященных .

Установка и OpenVPN сервера и клиента описана в предыдущей статье . Теперь сервер и клиент готовы к настройке.

Настройка OpenVPN сервера

Создание ключей и сертификатов для OpenVPN сервера /etc/openvpn .

В пакет openvpn включен пример конфигурационного файла для OpenVPN сервера. Он находится в архиве server.conf.gz в каталоге . Распакуем и переместим его в директорию /etc/openvpn :

Cd /usr/share/doc/openvpn/examples/sample-config-files gunzip -d server.conf.gz mv server.conf /etc/openvpn/

Изменений в этот конфигурационный файл будет немного. Необходимо указать файл приватного ключа и сертификата OpenVPN сервера созданного по инструкции :

Cert router1.example.com.crt key router1.example.com.key

Указать виртуальную подсеть ( для этого примера находится в заглавной ) :

Server 192.168.50.0 255.255.255.0

Сообщить подключающемуся клиенту изменения в его таблицу роутинга:

Push "route 192.168.100.0 255.255.255.0"

Эта строчка заставит OpenVPN клиент при подключении к серверу модифицировать свою таблицу роутинга. В логе клиента OpenVPN при подключении появится строка:

Sat Feb 4 13:21:59 2012 /sbin/route add -net 192.168.100.0 netmask 255.255.255.0 gw 192.168.50.5

Поскольку все компьютеры в обеих сетях должны видеть друг-друга, то необходимо внести изменения в таблицу роутинга OpenVPN сервера:

Client-config-dir ccd route 192.168.200.0 255.255.255.0

Также нужно создать директорию /etc/openvpn/ccd , в которой создать файл с именем подключающегося клиента. В нашем примере это user_office2 . Этот файл будет состоять из единственной строчки:

Iroute 192.168.200.0 255.255.255.0

Без этих трех строчек подключивший клиент увидит все компьютеры в сети OpenVPN сервера, но остальные компьютеры в подключающейся сети, подключенную сеть не увидят, как и из сети OpenVPN сервера подключенная сеть останется недоступной.

Также следует выбрать криптографический механизм, раскомментировав одну из строк:

Выбранный механизм шифрования нужно будет прописать всем клиентам подключающимся к этому OpenVPN серверу.

Имеет смысл раскомментировать строчки:

User nobody group nogroup

чтобы уменьшить привилегии OpenVPN сервера после инициализации. Что впрочем добавит сообщения об ошибках в лог OpenVPN сервера. Например, при остановке OpenVPN сервера в логе появятся сообщения об ошибках в духе:

Feb 4 13:37:08 router ovpn-server: /sbin/route del -net 192.168.50.0 netmask 255.255.255.0 Feb 4 13:37:08 router ovpn-server: ERROR: Linux route delete command failed: external program exited with error status: 7 Feb 4 13:37:08 router ovpn-server: /sbin/route del -net 192.168.200.0 netmask 255.255.255.0 Feb 4 13:37:08 router ovpn-server: ERROR: Linux route delete command failed: external program exited with error status: 7

что логично, ведь с правами nobody:nogroup вносить изменения в таблицу роутинга нельзя. Впрочем таблица роутинга всё же будет подчищена, так как интерфейс tun будет удален.

По умолчанию текущий статус сохраняется в файл /etc/openvpn/openvpn-status.log . Стоит изменить, например на:

Status /var/log/openvpn/status_server.log

OpenVPN сервера:

Port 1194 proto udp dev tun ca ca.crt cert router1.example.com.crt key router1.example.com.key dh dh1024.pem server 192.168.50.0 255.255.255.0 ifconfig-pool-persist ipp.txt push "route 192.168.100.0 255.255.255.0" client-config-dir ccd route 192.168.200.0 255.255.255.0 keepalive 10 120 cipher AES-128-CBC comp-lzo user nobody group nogroup persist-key persist-tun status /var/log/openvpn/status_server.log verb 3

После конфигурирования OpenVPN сервера, его можно запустить. В Debian это делается так:

/etc/init.d/openvpn start

Поскольку путь и имя лог файла не указаны, OpenVPN будет отправлять свой лог в syslog .

Настройка OpenVPN клиента

Создание ключей и сертификатов для OpenVPN клиента было описано в предыдущей статье об . Подготовленные ключи и сертификаты были перенесены в каталог /etc/openvpn .

В пакет openvpn включен пример конфигурационного файла для клиента OpenVPN . Он находится в файле client.conf в каталоге /usr/share/doc/openvpn/examples/sample-config-files . Переместим его в директорию /etc/openvpn :

Cd /usr/share/doc/openvpn/examples/sample-config-files cp client.conf /etc/openvpn/

Изменений в конфигурационный файл клиента будет очень мало. Указываем адрес OpenVPN сервера :

Remote router1.example.com 1194

Файл приватного ключа и сертификата OpenVPN клиента созданного по :

Cert user_office2.crt key user_office2.key

Необходимо выбрать тот же механизм шифрования, что и на сервере:

;cipher BF-CBC # Blowfish (default) cipher AES-128-CBC # AES ;cipher DES-EDE3-CBC # Triple-DES

В этом конфигурационном файле клиента OpenVPN отсутствуют директивы указывающие на расположение лог файла и статусного файла. Можно добавить их:

Log-append /var/log/openvpn/openvpn_client.log status /var/log/openvpn/status_client.log

На время тестирования, директиву log-append можно закомментировать, тогда при тестовом запуске OpenVPN клиента, вывод лог файла пойдет на stdout .

Каталог для статусного файла должен существовать, автоматически он не создается. Статусный файл перезаписывается раз в минуту. Если в нем нет необходимости, можно просто закомментировать эту строку.

В результате получится конфигурационный файл для OpenVPN клиента:

Client dev tun proto udp remote router1.example.com 1194 resolv-retry infinite nobind user nobody group nogroup persist-key persist-tun ca ca.crt cert user_office2.crt key user_office2.key ns-cert-type server cipher AES-128-CBC comp-lzo verb 3 log-append /var/log/openvpn/openvpn_client.log status /var/log/openvpn/status_client.log

Клиент готов к подключению, это можно сразу проверить:

Openvpn client.conf

Если директива log-append не была указана, то вывод лога будет производится на stdout .

Проверка соединения

Проверять соединение двух сетей необходимо не с роутеров, а с любых других машин в локальных сетях. Это связано с тем, что если команды изменения роутинга были заданы неверно или не указаны совсем, то клиент и сервер OpenVPN будут видеть друг-друга, а остальные компьютеры в локальных сетях нет.

Предположим, что в первой сети с OpenVPN сервером есть компьютер с IP адресом 192.168.100.2 , а во второй сети, с OpenVPN клиентом есть компьютер с IP адресом 192.168.200.2 . В этом случае проверка осуществляется на них, простым пингом.

Из первой сети, с компьютера с адресом 192.168.100.2 пингаем адрес 192.168.200.2 :

Ping 192.168.200.2

Из второй сети, с компьютера с адресом 192.168.200.2 пингаем адрес 192.168.100.2 :

Ping 192.168.100.2

Оба компьютера должны быть доступны друг для друга.

NAT для этих сетей не нужен , это лишняя сущность и лишняя нагрузка. Никакой дополнительной конфигурации таблицы роутинга также не требуется. OpenVPN всё сделает сам, на основании своих конфигурационных файлах.

Путь между сетями будет выглядеть приблизительно так.

This is primarily a maintenance release with bugfixes and improvements. One of the big things is enhanced TLS 1.3 support. A summary of the changes is available in Changes.rst , and a full list of changes is available .

. We are moving to MSI installers in OpenVPN 2.5, but OpenVPN 2.4.x will remain NSIS-only.

will not work on Windows XP. The last OpenVPN version that supports Windows XP is 2.3.18, which is downloadable as and versions.

If you find a bug in this release, please file a bug report to our . In uncertain cases please contact our developers first, either using the or the developer IRC channel (#openvpn-devel at irc.freenode.net). For generic help take a look at our official , and user IRC channel (#openvpn at irc.freenode.net).

Source Tarball (gzip)

GnuPG Signature openvpn-2.4.7.tar.gz

Source Tarball (xz)

GnuPG Signature openvpn-2.4.7.tar.xz

Source Zip

GnuPG Signature openvpn-2.4.7.zip

Windows installer (NSIS)

GnuPG Signature openvpn-install-2.4.7-I603.exe

NOTE: the GPG key used to sign the release files has been changed since OpenVPN 2.4.0. Instructions for verifying the signatures, as well as the new GPG public key are available .

We also provide static URLs pointing to latest releases to ease automation. For a list of files look .

This release is also available in our own software repositories for Debian and Ubuntu, Supported architectures are i386 and amd64. For details. look .

OpenVPN 2.4.6 — released on 2018.04.24

This is primarily a maintenance release with minor bugfixes and improvements, and one security relevant fix for the Windows Interactive Service. Windows installer includes updated OpenVPN GUI and OpenSSL. Installer I601 included tap-windows6 driver 9.22.1 which had one security fix and dropped Windows Vista support. However, in installer I602 we had to revert back to tap-windows 9.21.2 due to driver getting reject on freshly installed Windows 10 rev 1607 and later when Secure Boot was enabled. The failure was due to the new, more strict driver signing requirements. The 9.22.1 version of the driver is in the process of getting approved and signed by Microsoft and will be bundled in an upcoming Windows installer.

Please note that LibreSSL is not a supported crypto backend. We accept patches and we do test on OpenBSD 6.0 which comes with LibreSSL, but if newer versions of LibreSSL break API compatibility we do not take responsibility to fix that.

Also note that Windows installers have been built with NSIS version that has been patched against several . Based on our testing, though, older Windows versions such as Windows 7 might not benefit from these fixes. We thus strongly encourage you to always move NSIS installers to a non-user-writeable location before running them . Our long-term plan is to migrate to using MSI installers instead.

Compared to OpenVPN 2.3 this is a major update with a large number of new features, improvements and fixes. Some of the major features are AEAD (GCM) cipher and Elliptic Curve DH key exchange support, improved IPv4/IPv6 dual stack support and more seamless connection migration when client"s IP address changes (Peer-ID). Also, the new --tls-crypt feature can be used to increase users" connection privacy.

OpenVPN GUI bundled with the Windows installer has a large number of new features compared to the one bundled with OpenVPN 2.3. One of major features is the ability to run OpenVPN GUI without administrator privileges. For full details, see the . The new OpenVPN GUI features are documented .

Please note that OpenVPN 2.4 installers will not work on Windows XP.

If you find a bug in this release, please file a bug report to our . In uncertain cases please contact our developers first, either using the or the developer IRC channel (#openvpn-devel at irc.freenode.net). For generic help take a look at our official ,



Есть вопросы?

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: