Интернет подобен морю. С пересылаемыми данными, как с судном во время путешествия, может случиться что угодно: они могут повредиться, затонуть в потоке информации или стать добычей «пиратов». Защитить особо ценные данные от кражи и потери помогают (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-сети позволит вам максимально защитить передаваемую информацию, а также сделать интернет-серфинг более безопасным. Главное – быть внимательнее при настройке серверной и клиентской части, при правильных действиях можно будет пользоваться всеми преимуществами частной виртуальной сети.

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

Установка и 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 всё сделает сам, на основании своих конфигурационных файлах.

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

OpenVPN – это программное приложение, которое имеет открытый исходный код. Оно задействует виртуальную частную сеть, в которой создается защищённое соединение на пути следование данных при отправке с сайта на сайт или с точки в точку. В ОреnVPN задействованы протоколы, которые обеспечивают защищенность соединения, такие как SSL и TLS, с их помощью пользователи могут беспрепятственно обмениваться данными.

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

Принцип работы Open VPN

Open VPN для предприятий

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

Open VPN для рядовых пользователей

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

Установка и запуск сервера

В Linux Ubuntu

Разберем процесс установки и запуска на примере Линукса:

  1. Создаем сервер VScale с произвольной конфигурацией и ОС Ubuntu. Уже через несколько мгновений появится возможность подключиться к нему любым SSH-клиентом. Установка предполагает регистрацию и стандартную установку. Вся документация доступна на русском на сайте разработчика.
  2. Сменим пароль для супер-пользователя на “root ”. passwd root
  3. Далее нам следует обновить приложения и операционную систему до актуальной версии. apt-get update apt-get upgrade
  4. Устанавливаем утилиту Easy-RSA для генерации сертификата устройства и сертификатов для всех пользователей, которые будут использовать данное подключение. apt-get install easy-rsa
  5. Далее нам следует перейти в списки с утилитой и подготовить переменные, которые будут создавать сертификаты. cd /usr/share/easy-rsa nano ./vars
  6. Задаем переменную, с длинной ключа для шифрования, равной 1024 бита. 1024 — стандартное значение, для более повышенной безопасности можно установить значение 2048, однако вырастет нагрузка на аппаратуру. export KEY_SIZE= 1024
  7. Оставшиеся параметры вводятся по желанию, например, страна, провинция, город, организация, электронный адрес. export KEY_COUNTRY="RU" export KEY_PROVINCE="RU" export KEY_CITY="Moscow" export KEY_ORG="MyCompany LTD." export KEY_EMAIL="your_email_address"
  8. Задействуем использование переменных. source ./vars
  9. Очищаем хранилище ключей. ./clean-all
  10. Создаем корневой сертификат . Во время создания программа использует уже введенную нами информацию, поэтому жмем Enter на все её вопросы. ./build-ca
  11. Таким же образом создаем сертификат сервера . Нажимаем на «Y» на вопросы о подписании сертификата. ./build-key-server server
  12. Теперь создаем сертификаты для устройств, которые будут подключены к ПК, повторяем действие нужное количество раз, изменяя имя сертификата (пример: macbook). ./build-key macbook
  13. Создаем ключ Диффи-Хеллмана (Протокол Диффи-Хеллмана позволяет использовать двум и более сторонам один секретный ключ). ./build-dh
  14. В итоге в папке /usr/share/easy-rsa/keys находятся сертификаты и ключи.
  15. Приступаем к установке OpenVPN. apt-get install openvpn
  16. Копируем созданные сертификаты и ключи. cp -R /usr/share/easy-rsa/keys/ /etc/openvpn/

В Windows 7

Теперь переходим к установке в Windows:

По умолчанию порт OpenVPN – 1194, его в последующем можно будет изменить в настройках.

Настройки и использование OpenVPN

В Linux Ubuntu

Начнем с настроек на Линуксе:

  1. Путем нажатия на иконку Ubuntu перед нами откроется строка поиска , здесь понадобится ввести текст Terminal , ниже отобразится список предложенных приложений, среди которых будет программа Терминал, запускаем её.
  2. Теперь для сопряжения с OpenVPN server нужно будет установить пакет с данными о графическом интерфейсе. sudo apt-get install network-manager-openvpn-gnome
  3. Программа выдаст запрос на проверку логина и пароля Ubuntu, без их подтверждения программа не будет установлена.
  4. Теперь сохраняем файлы конфигурации OpenVPN, который будем использовать при подключении в качестве клиента. Скачайте их и распакуйте в выбранное место.
  5. Сверху разверните панель команд и выберите пункт «изменить соединения ».
  6. В появившемся диалоговом окне выберем кнопку «Добавить », будет выведен запрос о выборе соединения, выбираем из списка – Импорт сохраненных параметров VPN .
  7. Далее следует выбрать конфигурационный файл сопряжения с сервером OpenVPN, этот документ был разархивирован в 4-м шаге и имеет формат *.ovpn.
  8. Перейдем в раздел «мой аккаунт » и проведем несколько корректировок:
  9. После проделанного появится диалоговое окно в которым будет показано альтернативное подключение через VPN.
  10. Теперь вернемся на рабочий стол и в правом верхнем углу развернем вкладку с проводной сетью, выберем «Соединения VPN » и там увидим вариант с созданным подключением.
  11. При успешном сопряжении с сервером будет выведено всплывающее сообщение авторизации VPN.

На Андроид

Для Андроид процедура следующая:

  1. Сохраните актуальную версию OpenVPN Connect из специального магазина “Google Play”.
  2. Для дальнейшей работы потребуется файл конфигурации для соединения с OpenVPN (файл *.ovpn). Это нужно только при первой настройке сопряжения с сервером:
  3. Подключение к серверу VPN:
  4. После установки соединения с сервером, весь поток данных будет направлен на выбранный VPN -сервер . Узнать присвоенный глобальный IP-адрес можно на любом специализированном сайте, для определения своего IP. Вы увидите свое местоположение, которое выдано сервером, оно может отличаться от действительного местоположения.

В Windows 7

На Windows процедура настройки и использования ОпенВПН в качестве клиента следующая:

  1. Если настройка подключения происходит впервые, то следует скачать файл с данными о конфигурации подключения OpenVPN , этот файл будет иметь расширение — *.ovpn, с его помощью будет производиться сопряжение с сервером VPN Gate при помощи протокола OpenVPN.
  2. Конфигурационный документ «OpenVPN Config file » находится на вкладке с каталогом бесплатных серверов . В данном списке выбирается VPN-сервер, который будет использован для сопряжения, следует скачать файл с форматом *.ovpn.
  3. Скачанный на ПК файл будет выглядеть, как ярлык OpenVPN. Чтобы подключиться к серверу следует перенести файл с форматом *.ovpn в папку с именем «config », этот файл содержит в себе информацию о сервере к которому будет произведено подключение, в нашем варианте она находится в C:\Program Files\OpenVPN\config .
  4. Появившийся после установки программы на компьютер ярлык запустите от имени администратора , в ином случае защищенное подключение не будет установлено.
  5. Теперь в панели задач появится ярлык OpenVPN GUI , после нажатия на него появится выбор действий, нажимаем «Подключиться ».
  6. Откроется окно, оно будет проводить мониторинг статуса подключения. Если этого не произошло и открылось окно с требованием ввода имени пользователя и пароля, то в эти поля следует ввести «vpn».
  7. При успешной активации подключения в нижней правой части экрана появится всплывающее сообщение.
  8. После успешной установки спряжения VPN система создаст виртуальный сетевой адаптер TAP Windows Adapter V 9 . Ему будет присвоен IP-адрес, начинаться он будет с цифр «10.221 ». Адрес шлюза будет выдан по умолчанию.
  9. Конфигурацию сети можно проверить путем ввода в командную строку команды «ipconfig / all ». Командная строка запускается нажатием на сочетание клавиш Win + R , после чего нужно ввести в появившуюся строку команды cmd .
  10. Чтобы убедится в том, проходит ли весь трафик через выбранный VPN-сервер, нужно прописать команду tracert 8. 8.8.8.
  11. Исходя из информации в окне определим, что трафик проходит через IP «10.211.254.254» , следовательно сопряжение с сервером VPN gate прошло успешно. Чтоб узнать свой глобальный IP–адрес, нужно открыть страницу

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 ,