22 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Настройка OpenVPN

Настройка OpenVPN

Мы приводим пошаговое руководство по настройке программы OpenVPN для трех типовых случаев. В первом случае компьютер Альфа с базой данных программы Тирика-магазин подключен к Интернету напрямую, во втором случае офис, в котором находится компьютер Альфа, подключен к Интернету через маршрутизатор, и, наконец, в третьем случае роль маршрутизатора играет отдельный компьютер

База данных программы Тирика-Магазин установлена на компьютере, напрямую подключенном к Интернет и обладающем статическим маршрутизируемым IP-адресом

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

2. Запустите файл openvpn-2.2.1-install.exe на компьютере, имеющим выход в Интернет со статическим немаршрутизируемым IP-адресом и пройдите процедуру инсталляции, следуя инструкциям программы-установщика и оставляя все опции по умолчанию. Внимание! Нужно подтверждить установку драйвера сетевого адаптера TAP-Win32 Adapter V9, когда Windows это попросит

4. Скопируйте файлы server.ovpn и ipp.txt из скачанного архива в папку C:Program FilesOpenVPNconfig

5. Файл серверной конфигурации практически готов к применению, только замените в строчке push “route 192.168.78.0 255.255.255.0” адрес сети на тот, который настроен в вашей локальной сети. Например, на рисунке выше это 192.168.5.0 255.255.255.0.

6. Теперь самая сложная часть настройки – генерация сертификатов и ключей. Здесь нужно быть предельно внимательным и точно следовать инструкциям.

6.1 Запустите окно командной строки Пуск – Выполнить – cmd.exe

6.2 Перейдите в папку C:Program FilesOpenVPNeasy-rsa и выполните команды:

cd C:Program FilesOpenVPNeasy-rsa
init-config

6.3 Отредактируйте файл vars.bat и установите следующие параметры: KEY_COUNTRY, KEY_PROVINCE, KEY_CITY, KEY_ORG, KEY_EMAIL. Эти параметры нельзя оставлять пустыми, остальные можно оставить по умолчанию, например:

set KEY_COUNTRY=RU
set KEY_PROVINCE=MO
set KEY_CITY=Moskow
set KEY_ORG=GazProm
set KEY_EMAIL=root@gazprom.ru
set KEY_CN=changeme
set KEY_NAME=changeme
set KEY_OU=changeme
set PKCS11_MODULE_PATH=changeme
set PKCS11_PIN=1234

6.4 Далее выполните следующие команды из того же окна командной строки:

vars
clean-all
build-ca

Последняя команда build-ca запросит значения параметров. Все параметры можно не менять, нажав Enter, кроме одного – Common Name. Здесь нужно ввести какое-нибудь имя, например, OpenVPN-CA

6.5 Теперь сгенерируем сертификат и ключ для сервера, выполнив команду:

build-key-server server

Также, как и в предыдущей команде, все параметры можно принять по умолчанию, но для Common Nameвведите слово server.

На последние два вопроса “Sign the certificate? [y/n]” and “1 out of 1 certificate requests certified, commit? [y/n]”ответьте утвердительно, нажав “y”

6.6 Теперь сгенерируем ключи для клиентов, выполнив команды:

build-key client1
build-key client2

(это команды для двух филиалов, по аналогии можно сделать ключи для большего количества)

Как и в прошлый раз, принимаем все параметры, кроме Common Name, для которого указываем client1 иclient2 соответственно. На последние вопросы опять ответьте утвердительно.

6.7 Осталось выполнить еще одну команду:

build-dh

6.8 Итак, в результате выполнения всех команд, мы получим в папке C:Program FilesOpenVPNeasy-rskeysряд файлов ключей и сертификатов. Создайте на сервере папку C:vpn_keys и скопируйте туда содержимое папки .easy-rskeys. Скопируйте отдельно следующие файлы для клиентских машин: ca.crt, client1.crt, client1.key, client2.crt, client2.key в безопасное место, затем их нужно будет перенести на компьютеры филиалов

7. Вот и все с сервером, можно запускать службу OpenVPN Service, можно сделать автоматический запуск службы при необходимости (через Пуск- Панель управления – Службы)

8. Приступим к настройке клиента из филиала №1 . Клиент OpenVPN устанавливается на компьютере, расположенном в филиале и имеющим выход в Интернет. Необходимо запустить тот же файл openvpn-2.2.1-install.exe и пройти процедуру инсталляции точно так же, как и для сервера.

9. Скопируйте файл client.ovpn из ранее скачанного архива в папку C:Program FilesOpenVPNconfig

10. Создайте папку C:vpn_keys и скопируйте туда три ранее сохраненных файла ключей: ca.crt, client1.crt, client1.key

11. Отредактируйте файл client.ovp. В строке remote my-server 5194 нужно заменить my-server на IP адрес сервера. Не забывайте, что это должен быть реальный Интернет адрес, иначе соединение не получится.

12. Проверьте связь с VPN-сервером командой ping

ping 10.218.77.1

где 10.218.77.1 – адрес сервера OpenVPN (замените этот адрес на тот статически маршрутизируемый IP-адрес, кот. вы получили от вашего интернет-провайдера в главе «Этап 3» – см. выше). Если приходят ответы – отлично. Если получен ответ от сервера, запустите графический интерфейс клиента Пуск – Программы – OpenVPN – OpenVPN GUI. В системном трее появится иконка клиента в виде двух красных компьютеров – щелкните на ней правой клавишей и выберите Connect. Если все настроено успешно, то установится соединение с сервером и иконка позеленеет и можно приступить к настройке программы Тирика-Магазин, как это описано в следующей главе «Этап 5».

Если проверка не прошла, то нужно внимательно проверить всю настройку по шагам, возможно, вы все-таки сделали ошибку и нужно все повторить еще раз. Однако большая часть проблем при настройке VPN связана с сетевыми экранами (firewall). В Windows встроенный сетевой экран называется брандмауэром Windows. Настоятельно рекомендуем включить брандмауэр в случае, если компьютер напрямую подключен к Интернет! И в этом случае необходимо разрешить доступ к порту, на котором работает сервер OpenVPN для входящих подключений. Для этого убедитесь сперва, что брандмауэр вообще включен, вызвав окно с сетевыми подключениями, щелкните правой кнопкой на то подключение, которое соединено с Интернетом и нажмите Свойства. В Свойствах выберите вкладку Дополнительно, а затем кнопку Параметры. Там должно быть так, как на рисунке ниже:

Далее в этом же окне перейдите на вкладку Исключения и нажмите кнопку Добавить порт. Введите имя OpenVPN, номер 5194 и порт UPD, как на следующем рисунке:

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

В центральном офисе имеется компьютер, напрямую подключенный к Интернет и у него есть статический маршрутизируемый IP-адрес. Этот компьютер (в дальнейшем сервер) может работать на операционных системах Windows XP, Windows 7, Vista или любой серверной версии и имеет два сетевых интерфейса. Один из интерфейсов подключен в локальную сеть офиса, а другой смотрит в Интернет. Двум магазинам из филиалов (или из дома) необходимо подключаться к базе данных, работающей в центральном офисе через Интернет, а сама база установлена на один из других компьютеров в сети офиса. В этом случае, конфигурация будет как на рисунке ниже:

Собственно, в этом случае настройка VPN-сервера и клиентов никак не отличается от предыдущего варианта, поэтому выполните пункты 1-11 без изменений. В этом варианте подключения база данных Тирика-Магазин находится на другом компьютере в сети, следовательно, нужно обеспечить маршрутизацию пакетов на компьютере, подключенном к Интернету. Запустите через Пуск – Выполнить команду regedit.exe и перейдите в следующий каталог реестра:

HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesTcpipParameters

Там нужно задать параметру IPEnableRouter значение единицы и перегрузить компьютер. Теперь он стал маршрутизатором из виртуальной сети в локальную сеть офиса. Снова вернемся на компьютер клиента и проверим связь с сетевым интерфейсом VPN сервера:

ping 10.218.77.1

Получен ответ? Отлично, теперь проверим связь с интерфейсом офисной сети на сервере. Для нашего примера это будет так:

ping 192.168.5.1

Снова отвечает? Тогда последняя проверка связи с компьютером, на котором работает база данных Тирика-Магазин, для нашего примера это:

ping 192.168.5.2

В случае удачного результата, можем подключаться к базе данных, предварительно указав адрес 192.168.5.2 для программы Тирика-Магазин (см. главу Этап 5).

Не забудьте сделать исключение в брандмауэре для порта UDP 5194, как описано для предыдущего варианта конфигурации сети.

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

Рассмотрим еще один популярный способ подключения к Интернет – с помощью аппаратного маршрутизатора. В этом случае Интернет-кабель подключается к WAN-порту маршрутизатора, а все компьютеры офиса подключены к внутренним LAN-портам маршрутизатора; база данных Тирика-Магазин и сервер OpenVPN установлены на одном и том же компьютере локальной сети офиса. Как же подключиться к серверу OpenVPN в этом случае? Для этого можно использовать функцию перенаправления портов в маршрутизаторе. При обращении клиента к определенному TCP или UDP порту маршрутизатора, последний перенаправит запрос на компьютер в локальной сети согласно правилу, указанному в настройках. Схема доступа в этой конфигурация будет как на рисунке ниже.

Настроить перенаправление портов на маршрутизаторе достаточно просто, хотя настройки, конечно, отличаются на устройствах разных производителей. Для примера, рассмотрим перенаправление порта на маршрутизаторе D-Link DIR-655.

Запустите web-консоль управления DIR-655, затем перейдите на вкладку Advanced и выберите пункт VIRTUAL SERVER из меню слева. Далее нужно настроить правило для перенаправления порта UDP 5194, используемого OpenVPN согласно нашим настройкам. Введите имя приложения “openvpn”, в поле IP адрес укажите адрес из внутренней сети сервера OpenVPN, в примере это 192.168.5.2. Порт нужно указать 5194 в полях Public и Private, протокол выбрать UDP. Теперь необходимо сохранить настройки и рестартовать маршрутизатор.

Настройка OpenVPN-сервера на Windows Server 2008/2012

Это пошаговое руководство о том, как настроить OpenVPN-сервер в операционных системах Windows Server 2008/2012 и подключить клиентов к созданной виртуальной частной сети.

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

Содержание:

Виртуальный сервер на базе Windows

  • Лицензия включена в стоимость
  • Тестирование 3-5 дней
  • Безлимитный трафик
  • Как это работает?
  • Установка OpenVPN на сервер
  • Генерация ключей (PKI) центра сертификации, сервера, клиента; алгоритм Диффи-Хеллмана
  • Конфигурация сервера OpenVPN
  • Конфигурация клиента OpenVPN
  • Проверка правил Брандмауэра Windows
  • Проверка OpenVPN-соединения

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

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

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

Скачайте и установите актуальную версию OpenVPN, соответствующую вашей операционной системе. Запустите установщик, убедитесь что на третьем шаге мастера установки выбраны все компоненты для установки.

Обратите внимание, что в этой инструкции дальнейшие команды приведены из расчета, что OpenVPN установлен в директорию по-умолчанию “C:Program FilesOpenVPN”.

Разрешаем добавление виртуального сетевого адаптера TAP в ответ на соответствующий запрос и дожидаемся завершения установки (может занять несколько минут).

Генерация ключей (PKI) центра сертификации, сервера, клиента; алгоритм Диффи-Хеллмана

Для управления парами “ключ/сертификат” всех узлов создаваемой частной сети используется утилита easy-rsa, работающая через командную строку по аналогии с консолью Linux. Для работы с ней откройте запустите командую строку (Сочетание клавиш Win+R, затем наберите cmd и нажмите Enter)

Файлы конфигурации

Скачайте наши файлы конфигурации и скрипты и замените их в каталоге C:Program FilesOpenVPNeasy-rsa.

Если пути по умолчанию не совпадают, откорректируйте их во всех файлах.

В файле конфигурации openssl-1.0.0.conf обязательно задайте значения переменным, соответствующие вашим данным: countryName_default
stateOrProvinceName_default
localityName_default
0.organizationName_default
emailAddress_default

Примечание: если значение переменной содержит пробел, то заключите ее в кавычки.

Генерация ключей Центра Сертификации и Сервера

    Переименуйте файл index.txt.start в index.txt, serial.start в serial с помощью следующих команд: cd
    cd “C:Program FilesOpenVPNeasy-rsa”
    ren index.txt.start index.txt
    ren serial.start serial

Перейдем к созданию ключа/сертификата центра сертификации. Запустите скрипт: .build-ca.bat

В ответ на появляющиеся запросы вы можете просто нажимать Enter. Единственное исключение – поле KEY_CN (Common Name) – обязательно укажите уникальное имя и такое же имя вставьте в поле name.

Аналогичным образом генерируем сертификат сервера. Здесь значение полей Common Name и Name – SERVER: .build-key-server.bat server

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

Для всех генерируемых ключей теперь будет задаваться вопрос о том, подписать ли создаваемый сертификат (Sign the certificate) от имени центра сертификации. Отвечаем y (yes).

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

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

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

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

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

Читать еще:  Steamui dll ошибка что делать

Параметры Diffie Hellman

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

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

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

Сгенерированные сертификаты находятся в директории C:Program FilesOpenVPNeasy-rsakeys. Скопируйте перечисленные ниже файлы в каталог C:Program FilesOpenVPNconfig:

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

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

В дереве найдите каталог HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesTcpipParameters. В правой части окна найдите переменную IPEnableRouter, двойным щелчком мыши перейдите в окно редактирования значения и измените его на 1, тем самым разрешив адресацию на VPS.

    Перейдем к настройке непосредственно VPN-сервера, используйте наш файл конфигурации с именем server.ovpn и поместите его в директорию C:Program FilesOpenVPNconfig.

Откройте файл, находим пути до ключей (см. ниже). Проверяем в нем пути до скопированных ранее сертификатов ca.crt, dh1024.pem/dh2048.pem, server.key, server.crt и при необходимости меняем: port 1194
proto udp
dev tun
server 10.8.0.0 255.255.255.0
ca “C:\Program Files\OpenVPN\config\ca.crt”
cert “C:\Program Files\OpenVPN\config\server.crt”
key “C:\Program Files\OpenVPN\config\server.key”
dh “C:\Program Files\OpenVPN\config\dh2048.pem”
push “redirect-gateway def1”
push “dhcp-option DNS 8.8.8.8”
keepalive 10 120
comp-lzo
persist-key
persist-tun
verb 3

Теперь необходимо разрешить пересылку трафика между адаптерами. Выполните следующие шаги: Панель управления -> Сеть и интернет -> Центр управления сетями и общим доступом -> Изменение параметров адаптера. Выберете адаптер который смотрит во внешнюю сеть Интернет (TAP-адаптер отвечает за VPN соединение). В нашем примере это Ethernet 2.

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

Далее нужно включить IP-адресацию.

С помощью поиска Windows найдите приложение REGEDIT.exe.

Автозапуск OpenVPN

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

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

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

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

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

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

  • Находим пути до сертификатов. Указываем в нем пути до скопированных ранее сертификатов 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
  • Сохраните файл. Настройка клиентской части завершена.
  • Проверка правил Брандмауэра Windows

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

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

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

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

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

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

    1. Нажимаем клавиши Win+R и появившемся окне вводим cmd для открытия командной строки.
    2. Выполняем команду ping до адреса нашего сервера в виртуальной частной сети (10.8.0.1): ping 10.8.0.1
    3. В случае корректной настройки VPN начнется обмен пакетами с сервером

    С помощью утилиты tracert проверим по какому маршруту идут пакеты от клиента. В консоли введите следующую команду: tracert ya.ru
    Из результата работы утилиты мы видим, что сначала пакеты отправляются на сервер VPN, а уже потом во внешнюю сеть.

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

    Способы установки виртуальной сети

    Для начала нужно зайти на официальный сайт и скачать последнюю версию OpenVPN, которая подойдет под требования ОС. Двумя кликами запустить инсталлятор.

    Когда откроется окно установок, на третьем этапе необходимо отметить галочками все предлагаемые компоненты.

    Когда всплывает вопрос о сетевом адаптере TAP, следует разрешить его установку.

    Стандартно OpenVPN загружается в папку с программными файлами, расположенную на диске C. Поэтому в ходе инструкции мы будем ссылаться к папке «C:Program FilesOpenVPN». Вы хотите изменить месторасположение файлов? Тогда учитывайте этот нюанс в дальнейшем.

    Настройка OpenVPN сервера на Windows Server 2008/2012

    В этой статье мы приводим подробную инструкцию по настройке частных серверов на ОС Windows Server, а также по присоединению клиентов к созданной программе OpenVPN.

    Для начала расшифруем понятие. Программа предназначена для открытой работы виртуальной частной сети между двумя разными отдаленными узлами, помимо интернета, через который осуществляется передача данных. Применяется в тех случаях, когда требуется безопасное соединение путем шифрования программой OpenSSL. При этом доступ остается закрытым. Аренда виртуальных серверов от oblako.kz.

    Содержание:

    • Механизм работы
    • Инсталляция
    • Создание пар ключей, генерация параметров
    • Настройки сервера
    • Совокупность параметров клиента
    • Проверка правил и соединения

    Механизм работы

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

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

    Инсталляция

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

    Важно! Прежде чем приступать к дальнейшим действиям, нужно учесть, что в данных примерах все действия проводятся с учетом того, что приложение устанавливается в директорию, расположенную по адресу C:Program FilesOpenVPN. Если вы выбираете другую, сообразуйте свои действия с данными другой директории.

    Итак, далее система запросит добавление TAP. Следующий шаг – разрешение установки виртуального сетевого адаптера, после чего необходимо дождаться окончания инсталляции.

    Создание пар ключей, генерация параметров

    Чтобы создавать и менять пары «ключ-сертификат», необходимо использование вспомогательной программы. Утилита работает через консоль Windows. Чтобы запустить утилиту easy-rsa, войдите в консоль (одновременное нажатие кнопок Win+R), после введите команду cmd и щелкните на Enter.

    Файлы настроек

    С этой страницы вы можете загрузить конфигурационные и программные файлы, после чего переместить их туда, где расположена программа easy-rsa. Убедитесь в совпадении путей, при необходимости внесите изменения во все документы.

    В файл настроек openssl-1.0.0.conf необходимо внести коррективы согласно вашим данным. Обратите внимание, если в значении переменной есть проблем, то необходимо заключить данные в кавычки.

    countryName_default
    stateOrProvinceName_default
    localityName_default
    0.organizationName_default
    emailAddress_default

    Создание пар ключей Центра Сертификации и Сервера

    1. Необходимо внести изменения в названия документов index.txt.start и serial.start следующим образом: Запустите следующий скрипт: cd
      cd “C:Program FilesOpenVPNeasy-rsa”
      ren index.txt.start index.txt
      ren serial.start serial
    2. Начнется создание необходимого ключа: .build-ca.bat
    3. Система будет задавать вопросы, на которые можно реагировать нажатием клавиши Enter. Кроме одного случая, в строку KEY_CN внесите данные уникального имени, а затем скопируйте его в строку name.
    4. Создаем сертификат. В строки name и Common Name нужно внести данные имени будущего файла. .build-key-server.bat server

    После изменения для всех ключей, которые будут создаваться, будет всплывать запрос подписи генерируемого сертификата. Необходимо отвечать «Да» (y).

    Создание пар для клиента

    Уникальный сертификат шифрования нужно создавать для всех клиентов по отдельности. В настройках утилиты есть специальный параметр, который позволяет использовать всего один SSL-сертификат для разных клиентов, однако это не самый лучший выбор, так как опция не гарантирует полного соблюдения безопасности. Создавать сертификаты возможно в течение работы для каждого нового клиента согласно их присоединению, поэтому рассмотрим создание единственного SSL-сертификата для client1 (в дальнейшем название следует менять на имя вашего файла).

    Введите такие команды, чтобы сгенерировать ключи клиента:

    cd
    cd “C:Program FilesOpenVPNeasy-rsa”
    .build-key.bat client1

    В строке Common Name введите данные имени будущего клиента (сейчас указываем client1).

    Обмен ключей по Диффи-Хеллману

    Чтобы успешно завершить настройки шифрования, нужно запустить криптографический протокол Диффи-Хеллмана, позволяющий сторонам получить общий секретный ключ. Это производится таким образом:

    Созданные параметры будут отображаться следующим образом:

    Перемещение ключей и сертификатов

    Готовые данные расположены по такому пути C:Program FilesOpenVPNeasy-rsakeys. Выберите документы:

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

    Перенесите их по пути C:Program FilesOpenVPNconfig.

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

    Войдите в редактор реестра, откройте HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesTcpipParameters. С правой стороны экрана будет отображено содержание папки, где необходимо выбрать файл IPEnableRouter. Двойным нажатием левой клавиши мыши откройте окно редактирования переменной, измените значение параметра на «1», как показано ниже. Эти действия позволят разрешить переадресацию на VPS.

      Перейдем к настройке. Выберите документ настройки с названием server.ovpn (загрузить его можно у нас, ссылка была приведена выше) и перенесите его сюда – C:Program FilesOpenVPNconfig.

    Откройте документ, согласно приведенному ниже примеру найдите пути к ключам, проверьте правильность введенных данных в строках, при необходимости внесите корректировки, после чего сохраните все внесенные данные.

    port 1194
    proto udp
    dev tun
    server 10.8.0.0 255.255.255.0
    ca “C:\Program Files\OpenVPN\config\ca.crt”
    cert “C:\Program Files\OpenVPN\config\server.crt”
    key “C:\Program Files\OpenVPN\config\server.key”
    dh “C:\Program Files\OpenVPN\config\dh2048.pem”
    push “redirect-gateway def1”
    push “dhcp-option DNS 8.8.8.8”
    keepalive 10 120
    comp-lzo
    persist-key
    persist-tun
    verb 3
    Войдите в инструмент управления системой, выберите пункт «Сеть и интернет», затем перейдите к управлению подключениями и щелкните на «Изменение параметров адаптера». Для разрешения передачи данных между адаптерами, необходимо выбрать тот, который отвечает за внешнее соединение.

    Двойным кликом левой клавиши мыши войдите в свойства сети, откройте вкладку «Доступ», после чего установите галочки напротив всех параметром. Закройте и сохраните внесенные данные.

    В строке поиска операционной системы найдите приложение REGEDIT.exe, которое поможет настроить адресацию по IP-адресу.

    Автоматический запуск службы

    Если вы хотите, чтобы OpenVPN включался автоматически при начале работы системы, необходимо произвести приведенные ниже настройки.

    Войдите в меню «Службы» операционной системы. В списке найдите OpenVPN, далее выберите «ПКМ», затем «Свойства», в строке запуск поставьте значение «Автоматически».

    Таким образом базовая настройка завершена. Перейдите по пути C:Program FilesOpenVPNconfigserver.ovpn. Нажмите на файл, во всплывающем меню щелкните на команду, которая помогает запустить сервер.

    Совокупность параметров клиента

    Существуют программы для всех распространенных систем (для MacOS применяется специальная утилита Tunnelblick). Все программы OpenVPN функционируют на основании одинаковых конфигурационных данных с небольшими различиями в некоторых параметрах. Чтобы выяснить разницу в опциях, необходимо ознакомиться с документацией определенного клиента. Ниже мы разберем подключение клиента операционной системы Windows, используя тот же установочный пакет, который применялся при установке сервера. Соответственно, при установке приложения на прочие операционные системы, пошаговое руководство аналогично (с учетом внесения изменений).

    1. Установите последнюю версию приложения.
    2. Скопируйте файлы сгенерированных ранее сертификатов в директорию C:Program FilesOpenVPNconfig. Файл с названием client.ovpn необходимо удалить с сервера, когда вы его перенесете.
    3. Откройте этот документ, найдите приведенную ниже строку и введите данные доменного имени сервера или его ip-адрес. Пример: remote 1194
      remote 111.222.88.99 1194
    4. Согласно приведенному ниже примеру укажите пути до сертификатов, которые были скопированы во втором шаге. # 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. Сохраните изменения и закройте файл – настройка окончена успешно.

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

    Важно! Для правильной работы приложения, необходимо открыть нужные порты. Чтобы сделать это, необходимо войти в файерволл вашей ОС (по умолчанию брандмауэр или иная установленная программа-антивирус) и проверить настройки – открыть порт UDP 1194.

    Для проверки соединения клиента нужно включить OpenVPN сервер. Затем откройте установочный файл сервера, расположенный по пути C:Program FilesOpenVPNconfig.

    Откроется окно, демонстрирующее параметр подключения, которое автоматически свернется и перейдет на панель задач. Если ярлык программы горит зеленым светом, значит, процедура подключения прошла успешно.

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

    1. Откройте командную консоль;
    2. Введите данные ping; ping 10.8.0.1
    3. Если все работает правильно, то запустится процесс обмена пакетами с сервером;

  • В командную строку введите приведенную ниже команду для запуска программы, проверяющей маршрут: tracert ya.ru
  • Ниже можно увидеть, что пакеты данных идут во внешнюю сеть только через виртуальный сервер.

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

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

    Имея настроенный OpenVPN сервер, можно настроить доступ на Mikrotik даже там, где нет белого IP адреса.

    22) Подключимся к Mikrotik с помощью программы Winbox.
    Загрузим 2 файла: client.crt, client.key

    Для этого в меню нажмём Files и перетащим их из папки C:Program filesOpenVPNeasy-rsakeys


    23) Далее необходимо их импортировать.
    Откроем System – Certificates — Import и поочерёдно выберем сертификаты в этом порядке:
    client.crt
    client.key

    24) Настроим параметры сервера:
    PPP — add(+) — OVPN client


    Во вкладке General указываем имя
    Name — openVPN1 (любое, на ваше усмотрение)
    Вкладка Dial Out:
    Connect To — Адрес сервера(Внешний IP адрес главного роутера Mikrotik)
    Port 1194
    Указываем пользователя и пароль, который мы создали на VPN сервере
    В нашем случае это пользователь ovpn_mikrotik1
    Сертификат Client.crt

    Нажимаем ОК

    25) В терминале набираем /interface ovpn-client monitor openVPN1
    Должно появиться сообщение со статусом connected

    Теперь к этому mikrotik можно подключиться через VPN по адресу, который он получил от VPN сервера


    Посмотреть адрес можно:
    В Mikrotik-клиенте в IP-Adresses строка с нашим интерфейсом openVPN1

    В Mikrotik-сервере PPP-Active Connections

    ramer

    (убей всех людей)

    • Recent Entries
    • Friends
    • Archive
    • Profile
    • Add to friends
    • RSS

    Настройка OpenVPN (Windows)

    1. Установка OpenVPN.

    1.1. Скачиваем программу с оф. сайта для своей версии windows.

    1.2. При установке ставим галочку EasyRSA

    Путь установки – по умолчанию (C:Program FilesOpenVPN).

    2. Настройка конфигов OpenVPN.

    2.1. Заходим в директорию, куда установили программу (по умолчанию C:Program FilesOpenVPN) и переходим в easy-rsa.

    Будет удобней и наглядней, если проводить работы в Командной строке (cmd) от администратора.

    2.2. Во-первых, запускаем init-config.bat

    2.3. Затем, отредактируем vars.bat , чтобы адаптировать его к своей среде. Конкретно, нас интересует последний блок:

    2.4. Для удобства рекомендуется переименовать название сетевого TAP-адаптера (Панель управленияСеть и ИнтернетСетевые подключения) во что-то более понятное. Например, VPN-Server.

    3. Генерация TLS ключей.

    3.1. Создаём новые пустые файлы index и serial :
    vars
    clean-all

    3.2. Генерируем корневой сертификат CA (только один раз):
    vars
    build-ca

    3.3. Генерируем ключ Диффи-Хэлмана (для сервера, только один раз):
    vars
    build-dh

    3.4. Генерируем приватный серверный сертификат:
    vars
    build-key-server имя_сервера

    3.5. Генерируем клиентский сертификат в PEM формате (для каждого клиента):
    vars
    build-key имя_клиента

    Генерируем клиентский сертификат в PKCS#12 формате (для каждого клиента):
    vars
    build-key-pkcs12 имя_клиента

    3.6. Для отзыва TLS сертификата и генерации файла CRL:
    1. vars
    2. revoke-full имя_клиента
    3. проверяем последнюю строку вывода, подтверждающую отзыв
    4. копируем файл отзыва сертификата (crl.pem) в директорию сервера и убеждаемся, что конфиг использует “crl-verify crl filename

    3.7. Генерируем ключ для аутентификации:
    openvpn –genkey –secret keys/имя_сервера-ta.key

    4. Подготовка серверного и клиентского конфигов.

    4.1. Серверный конфиг нужно разместить в C:Program FilesOpenVPNconfigserver.ovpn на сервере:

    # Какой порт TCP/UDP должен прослушиваться OpenVPN?
    # Если вы хотите запустить несколько экземпляров OpenVPN
    # на той же машине используйте другой номер
    # порта для каждого из них. Вам нужно будет
    # открыть этот порт в брандмауэре.
    port 1194

    # TCP или UDP сервер?
    ;proto tcp
    proto udp

    # “dev tun” создаст маршрутизируемый IP-туннель,
    # “dev tap” создаст туннель ethernet.
    # Используйте “dev tap0”, если вы соединяете ethernet
    # и предварительно создали виртуальный интерфейс tap0
    # и соединили его с вашим интерфейсом ethernet.
    # Если вы хотите контролировать политику доступа
    # через VPN необходимо создать правила
    # брандмауэра для интерфейса TUN/TAP.
    # В системах, отличных от Windows, вы можете дать
    # явный номер единицы измерения, например tun0.
    # В Windows для этого используйте “dev-node”.
    # В большинстве систем VPN не будет работать
    # если вы не отключите брандмауэр полностью или частично
    ;dev tap
    ;dev tun

    # Windows требуется имя адаптера TAP-Win32
    # из панели Сетевые подключения если у вас
    # есть больше, чем один. На XP SP2 или выше,
    # возможно, вам придётся выборочно отключить
    # брандмауэр для адаптера TAP.
    # Системы, отличные от Windows, обычно не нуждаются в этом.
    dev-node MyTap

    # Корневой сертификат SSL/TLS (ca), сертификат
    # (cert) и закрытый ключ (key). Каждый клиент
    # и сервер должен иметь свой собственный сертификат и
    # ключ. Сервер и все клиенты будут
    # используйте один и тот же файл ca.
    #
    # Можно использовать любую систему управления ключами X509.
    # OpenVPN также может использовать ключевой файл формата PKCS #12
    ca ca.crt
    cert server.crt
    key server.key

    # Параметры ключа Диффи-Хэлмана.
    # Сгенерируйте свой ключ:
    # openssl dhparam -out dh2048.pem 2048
    dh dh2048.pem

    # Топология сети
    # Должна быть подсеть (адресация через IP)
    # если клиенты Windows v2.0.9 и ниже должны
    # поддерживаться (тогда net30, т.е. a /30 на клиента)
    # По умолчанию net30 (не рекомендуется)
    ;topology subnet

    # Настройка режима сервера и предоставление подсети VPN
    # для OpenVPN, чтобы предоставить адреса клиентам.
    # Сервер возьмёт 10.8.0.1 для себя,
    # остальное будет предоставлено клиентам.
    # Каждый клиент сможет связаться с сервером
    # на 10.8.0.1. Закомментируйте эту строку, если у вас
    # мост Ethernet.
    server 10.8.0.0 255.255.255.0

    # Ведение записи назначения виртуального IP-адреса клиента
    # в этом файле. Если OpenVPN выходит из строя или
    # перезапускается, можно назначить повторное подключение клиентов
    # на тот же виртуальный IP-адрес из пула, который был
    # ранее назначен.
    ifconfig-pool-persist ipp.txt

    # Настройка режима сервера для моста ethernet.
    # Вы должны сначала использовать возможности моста вашей ОС
    # для соединения интерфейса TAP с ethernet
    # Интерфейс NIC. Затем вы должны вручную установить
    # IP/netmask на интерфейсе моста, здесь мы
    # предположим, что 10.8.0.4/255.255.255.0. Наконец, нам
    # необходимо выделить диапазон IP-адресов в этой подсети
    # (начало=10.8.0.50 конец=10.8.0.100)
    # для подключения клиентов. Оставьте эту строку закомментированной,
    # если вы не соединяете ethernet.
    ;server-bridge 10.8.0.4 255.255.255.0 10.8.0.50 10.8.0.100

    # Настройка режима сервера для моста ethernet
    # через DHCP-прокси, где клиенты обращаются
    # к серверу DHCP на стороне OpenVPN-сервера,
    # чтобы получить распределение их IP-адресов
    # и адресов DNS-серверов. Вы должны сначала использовать
    # способность моста вашей ОС для моста TAP
    # интерфейса с интерфейсом сетевого адаптера ethernet.
    # Примечание: этот режим работает только на клиентах (таких как
    # Windows), где на стороне клиента находится адаптер TAP,
    # привязанный к DHCP-клиенту.
    ;server-bridge

    # Push-маршруты к клиенту, чтобы разрешить
    # добраться до других частных подсетей позади
    # сервера. Помните, что эти
    # частные подсети также потребуется
    # знать для маршрута возвращения пула адресов OpenVPN-клиентов
    # (10.8.0.0/255.255.255.0) обратно на OpenVPN-сервер.
    ;push “route 192.168.10.0 255.255.255.0”
    ;push “route 192.168.20.0 255.255.255.0”

    # Чтобы назначить определенные IP-адреса определенным
    # клиентам или если подключающийся клиент имеет свою
    # подсеть, которая также должна иметь доступ к VPN,
    # используйте подкаталог “ccd” с файлами конфигурации
    # для конкретного клиента.
    #
    # НАПРИМЕР: Предположим, что клиент
    # имеющий название сертификата “Телониус”
    # также имеет небольшую подсеть за его подключенной
    # машиной, например 192.168.40.128/255.255.255.248.
    # Во-первых, раскомментируйте эти строки:
    ;client-config-dir ccd
    ;route 192.168.40.128 255.255.255.248
    # Затем создайте файл ccd/Thelonious с этой строкой:
    # iroute 192.168.40.128 255.255.255.248
    # Это разрешит частной подсети Телониуса
    # доступ к VPN. Этот пример будет работать только
    # если вы маршрутизируете, а не наводите мост, т. е. вы
    # используете директивы “dev tun” и “server”.
    #
    # НАПРИМЕР: Предположим, вы хотите выдать
    # Телониусу фиксированный IP-адрес VPN 10.9.0.1.
    # Сначала раскомментируйте эти строки:
    ;client-config-dir ccd
    ;route 10.9.0.0 255.255.255.252
    # Затем добавьте эту строку в ccd/Thelonious:
    # ifconfig-push 10.9.0.1 10.9.0.2

    # Предположим, что вы хотите включить разные
    # политики доступа брандмауэра для различных групп
    # клиентов. Существует два метода:
    # (1) запуск нескольких демонов OpenVPN, по одному для каждой
    # группы, и брандмауэр интерфейсов TUN/TAP
    # для каждой группы/демона соответственно.
    # (2) (продвинутый) создание скрипта для динамического
    # изменения брандмауэра в ответ на доступ
    # от разных клиентов.
    ;learn-address ./script

    # Если включено, эта директива настроит
    # всем клиентах перенаправление их сетевых шлюзов
    # по умолчанию через VPN, повлёкший
    # весь IP-трафик, такой как просмотр веб-страниц и
    # и DNS-запросы, чтобы пройти через VPN
    # (серверу OpenVPN может потребоваться NAT
    # или мост интерфейса TUN/TAP с интернетом
    # для того, чтобы это работало правильно).
    ;push “redirect-gateway def1 bypass-dhcp”

    # Определенные параметры сети для Windows
    # могут быть переданы клиентам, такие как DNS
    # или адреса WINS-серверов. ПРЕДОСТЕРЕЖЕНИЕ:
    # http://openvpn.net/faq.html#dhcpcaveats
    # Адреса, приведенные ниже, относятся к публичным
    # DNS-серверам, предоставляемые opendns.com.
    ;push “dhcp-option DNS 208.67.222.222”
    ;push “dhcp-option DNS 208.67.220.220”

    # Раскомментируйте эту директиву, чтобы разрешить разным
    # клиентам иметь возможность “видеть” друг друга.
    # По умолчанию клиенты будут видеть только сервер.
    # Чтобы заставить клиентов видеть только сервер, вам
    # также необходимо будет соответствующим образом настроить брандмауэр
    # интерфейса TUN/TAP сервера.
    ;client-to-client

    # Раскомментируйте эту директиву, если несколько клиентов
    # могут подключаться с одним и тем же сертификатом/ключом
    # или общим именем. Это рекомендуется
    # только в целях тестирования. Для использования в производстве,
    # каждый клиент должен иметь свою собственную пару сертификата/ключа.
    #
    # ЕСЛИ ВЫ НЕ СОЗДАЛИ ИНДИВИДУАЛЬНОЙ
    # ПАРЫ СЕРТИФИКАТ/КЛЮЧ ДЛЯ КАЖДОГО КЛИЕНТА,
    # КАЖДЫЙ ИЗ НИХ ИМЕЕТ СВОЕ УНИКАЛЬНОЕ “ОБЩЕЕ ИМЯ”,
    # РАСКОММЕНТИРУЙТЕ ЭТУ СТРОКУ.
    ;duplicate-cn

    # Директива keepalive вызывает ping-like
    # сообщения, которые будут отправляться туда и обратно,
    # чтобы каждая сторона знала, когда
    # другая сторона перестала работать.
    # Пингуем каждые 10 секунд; предполагается, что удалённый
    # узел не работает, если нет пинга в течение
    # 120 секунд.
    keepalive 10 120

    # Для дополнительной безопасности помимо этого предусмотрено
    # с помощью SSL/TLS, создайте “брандмауэр HMAC”
    # чтобы помочь блокировать DoS-атаки и флудинг UDP-портов.
    #
    # Сгенерировать с помощью:
    # openvpn –genkey –secret ta.key
    #
    # Сервер и каждый клиент должны иметь
    # копию этого ключа.
    # Второй параметр должен быть “0”
    # на сервере и ‘1’ на клиентах.
    tls-auth ta.key 0

    # Выберите криптографический шифр.
    # Этот пункт конфига должен также копироваться
    # в файл конфигурации клиента.
    # Обратите внимание, что клиент/сервер версии 2.4 будет автоматически
    # согласовывать AES-256-GCM в режиме TLS.
    cipher AES-256-CBC

    # Включите сжатие на VPN-канале и передайте
    # опцию клиенту (только v2. 4+, для более ранних
    # версий см. ниже)
    ;compress lz4-v2
    ;push “compress lz4-v2”

    # Для сжатия, совместимого со старыми клиентами, используйте comp-lzo
    # Если вы включите его здесь, вы также должны
    # включить его в файле конфигурации клиента.
    ;comp-lzo

    # Максимальное количество одновременно подключенных
    # клиентов, которое мы хотим разрешить.
    ;max-clients 100

    # Параметры сохранения будут пытаться избежать
    # доступа к определенным ресурсам при перезапуске,
    # которые не могут быть больше доступны
    # из-за понижения привилегий.
    persist-key
    persist-tun

    # Выводит короткий файл состояния, показывающий
    # текущие соединения, усеченные
    # и перезаписанные каждую минуту.
    status openvpn-status.log

    # По умолчанию сообщения журнала будут отправляться в системный журнал (или
    # в Windows, если они запущены как Служба, они будут отправлены в
    # каталог “Program FilesOpenVPNlog”).
    # Используйте log или log-append, чтобы переопределить это значение по умолчанию.
    # “log” будет усекать файл журнала при запуске OpenVPN,
    # а “log-append” будет добавляться к нему. Используйте один
    # или другой (но не оба).
    ;log openvpn.log
    ;log-append openvpn.log

    # Установите соответствующий уровень детализации файла журнала.
    #
    # 0 молчит, за исключением фатальных ошибок
    # 4 является разумным для общего использования
    # 5 и 6 могут помочь отладить проблемы с подключением
    # 9 очень подробно
    verb 3

    # Заглушить повторные сообщения. В журнал будет
    # выведено не более 20 последовательных сообщений
    # одной и той же категории.
    ;mute 20

    # Уведомить клиента при перезапуске сервера,
    # чтобы он мог автоматически повторно подключиться.
    explicit-exit-notify 1

    Итоговый пример серверного конфига может быть такой:

    Настройка OpenVPN в Windows 7/8/10

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

    1. OpenVPN-соединение требует наличие собственного клиента. Мы предлагаем скачать последнюю версию OpenVPN 2.3
    2. Инсталлировать драйвер рекомендуется в C:\Program Files\OpenVPN. Однако, если нет такой возможности, устанавливайте в любой каталог (в этом случае обратите внимания на дальнейшие примечания). Во время установки драйвера, операционная система Windows может выдать сообщения о неподписанном драйвере. Следует вопреки всем рекомендациям Microsoft продолжить установку. Ничего страшного в этом сообщении нет.
    3. Загрузите конфигурационным файл ovpn (ссылку на конфигурационный файл можно скачать из личного кабинета, или же его предоставит техподдержка) и распакуйте архив в папку c:\Program Files\OpenVPN\config или в %USERPROFILE%\OpenVPN\config Конфигурационный файл уже настроен, поэтому в нем ничего менять не нужно.
    4. Для запуска OpenVPN GUI, используйте ярлык OpenvpnGUI.lnk с рабочего стола обязательно запустив его в режиме Администратора. Данное условие обязательное, так как шлюз VPN может не прописаться при запуске в обычном режиме!
    5. Затем сделайте правый клик по “мониторчикам” в нижнем правом углу экрана рядом с часами, в появившимся меню выберите «Подключиться”. Этим Вы инициализируете VPN-соединение
    6. В настройках GUI вы можете выставить промежуточный Socks или прокси сервер, зайдя в пункт «Настройки». Если все нормально, последняя строка в журнале подключения будет выглядеть как: Initialisation Sequence Completed, мониторчики станут зеленого цвета. Это означает, что соединение запущено и весь трафик перенаправляется через OpenVPN-сервер.
    7. Для проверки работы сервиса, можете обратитесь к странице https://whoer.net/ru. В отчете Вы можете увидеть текущий IP-адрес. После окончания работы с VPN, кликните правой кнопкой на зеленые мониторы в трее и выберите Disconnect.

    Новости

    Дополнительный канал связи

    Теперь вы можете связаться с нами через наш личный jabber – support@openvpn.ru.

    Наши клиенты могут получить бесплатный акаунт на нашем Jabber сервере.

    Новый релиз OpenVPN Portable

    Уважаемые клиенты, доступа новая версия решения OpenVPN Portable

    Новое решение по блокировке утечек трафика для Windows 7/10.

    Доступно новое решение по блокировке утечек трафика для Windows 7/10. Обращайтесь к поддержке!

    Самостоятельная смена цепочки дабла

    Стала доступна бесплатная смена цепочки дабла из личного кабинета

    Новый сервер в Нидерландах!

    Уважаемые клиенты, доступен новый сервер в Нидерландах со свежими IP.

    Доступен IPv6

    теперь вы можете получить адрес IPv6, в дополнение к обычному IPv4. Обращайтесь к поддержке!

    Контакты

    244-436

    586-534-216

    support@openvpn.ru

    • Автор: Уваров А.С.
    • 12.10.2019

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

    Кроме общественных сетей в последние годы стала приобретать повышенную актуальность проблема ограничения доступа к некоторым ресурсам исходя из географического расположения клиента. Это могут быть как ограничения регионального характера, например, популярный поставщик видеоконтента Netflix, так и блокировки со стороны органов власти, как яркий пример которых “ковровые блокировки” РКН в его борьбе с Телеграм, когда под ограничения попало большое количество совершенно легальных ресурсов.

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

    Что нужно для создания собственного VPN-сервиса? Прежде всего потребуется VPS (виртуальный выделенный сервер) расположенный в регионе, из которого возможен неограниченный доступ к требуемым ресурсам. В большинстве случаев можно выбирать Европу или Штаты, но во втором случае задержки будут выше. На наш взгляд, выбирать Штаты имеет смысл, если вам требуется доступ к американским ресурсам, тому же Netflix или покупкам у американских продавцов на Amazon и Ebay.

    Для поиска недорогих VPS можно воспользоваться специальными сайтами, такими как Low End Box или бесплатными предложениями от облачных провайдеров. Так у Amazon и Microsoft можно бесплатно получить виртуальную машину на год, а Oracle предлагает две VPS бесплатно и навсегда.

    В нашем примере мы будем использовать бесплатный VPS от Oracle с Ubuntu 18.04, но данная инструкция подойдет для любых deb-based систем и с некоторыми поправками для любого другого Linux-дистрибутива.

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

    Прежде всего установим OpenVPN и Easy-RSA для управления ключами:

    Скопируем файлы easy-rsa в конфигурационную директорию OpenVPN и создадим символическую ссылку на файл настроек OpenSSL:

    Затем откроем файл /etc/openvpn/easy-rsa/vars и изменим в нем следующие строки, указав собственные данные для сертификатов, например, так:

    Сохраним файл и перейдем к созданию собственного центра сертификации (CA). Для этого перейдем в директорию нашего CA и загрузим переменные:

    Очистим любые имеющиеся данные и инициализируем центр сертификации:

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

    После чего в директории /etc/openvpn/easy-rsa/keys появится сертификат CA, содержащий публичный ключ, ca.crt, который должен присутствовать на каждом VPN-клиенте, и закрытый ключ центра сертификации ca.key, этот файл является секретным и не должен покидать пределы сервера.

    Затем создадим файл параметров Диффи-Хеллмана, который нужен для формирования уникального сеансового ключа и обеспечения режима совершенной прямой секретности:

    Данная операция, в зависимости от производительности вашего VPS, может занять достаточно много времени.

    И, наконец, создадим ключевую пару для сервера:

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

    На этом формирование необходимых ключей и сертификатов закончено, перейдем к настройке OpenVPN, прежде всего создадим директорию для хранения ключей. Можно, конечно, использовать ключи прямо из директории easy-rsa, но лучше отделить CA от остальных служб.

    Теперь скопируем туда необходимые серверу ключи и сертификаты:

    Распакуем и скопируем в директорию /etc/openvpn шаблон серверной конфигурации:

    Откроем файл /etc/openvpn/server.conf и внесем в него необходимые изменения, в большинстве случаев вам придется раскомментировать нужны строки или убедиться в их наличии. Опции указаны в порядке их следования в файле:

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

    Затем зададим топологию сети:

    Укажем пути к ключам и сертификатам, допускаются относительные пути, в этом случае корнем будет считаться директория /etc/openvpn:

    Зададим диапазон OpenVPN-сети:

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

    Автоматически сконфигурируем клиентов на доступ в интернет через OpenVPN-подключение:

    И передадим им собственные DNS-сервера:

    Укажем параметры проверки активности:

    Сервер будет проверять клиента каждые 10 секунд и при отсутствии ответа через 120 секунд клиент будет считаться неактивным.

    Обязательно закомментируйте строку:

    Для сценария доступа в интернет дополнительная TLS-аутентификация будет излишней.

    В последних версиях OpenVPN включен механизм автоматического согласования протоколов шифрования между клиентом и сервером, по умолчанию будет выбран шифр AES-256-GCM, но так как вычислительные возможности VPS обычно ограничены и большого смысла шифровать канал доступа в интернет сложными шифрами нет, то отключим соглассование и укажем достаточно простой AES-шифр:

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

    Данная опция будет автоматически отправлена на клиент, что облегчает его конфигурирование.

    Если у вас есть старые версии клиентов (ниже 2.4), то можно использовать простое lzo-сжатие, для этого закомментируйте вышеприведенные строки и добавьте:

    Эту опцию также потребуется добавить в конфигурационные файлы клиентов.

    В целях безопасности понизим права запущенного сервера:

    После чего проконтролируем наличие опций, отвечающих за правильные права к некоторым ресурсам после их понижения:

    Укажем путь к файлам логов:

    И укажем его подробность:

    Во время отладки можно поднять уровень логов до 5-6.

    Настройка брандмауэра и маршрутизации

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

    Создадим файл правил:

    и внесем в него следующие строки, обратите внимание на имя сетевого интерфейса вашего VPS, в нашем случае это ens3:

    Не забудем сделать файл исполняемым:

    Данный файл требуется запускать после создания туннельного интерфейса tun0, поэтому откроем конфигурационный файл сервера OpenVPN /etc/openvpn/server.conf и в его конце добавим опцию:

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

    Также проверим применение правил брандмауэра:

    Следующий шаг касается только виртуальных машин в облаке Oracle Cloud, вам потребуется дополнительно разрешить входящий трафик на порт OpenVPN. Для этого перейдите в Сети » Виртуальные облачные сети » VirtualCloudNetwork-20191008-0144 » Сведения о списках безопасности, где вместо VirtualCloudNetwork-20191008-0144 будет имя вашей виртуальной сети. Затем добавьте новое правило для входящего трафика:

    Укажите: Тип источника – CIDR, Исходный CIDR – 0.0.0.0/0, IP-протокол – UDP, Диапазон исходных портов – Все, Диапазон конечных портов – 1194.

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

    Настройка клиента начинается на сервере с получения ключей и сертификатов клиента, для этого перейдем в директорию центра сертификации и загрузим переменные:

    Затем создадим ключевую пару клиента командой:

    где client -имя клиента, мы также рекомендуем давать им осмысленные имена.

    Теперь скопируем файлы, которые необходимо передать на компьютер клиента в домашнюю директорию и изменим их владельца (по умолчанию владелец – root), чтобы вы смогли их скопировать с помощью любого FTP или SFTP клиента. В нашем случае имя пользователя ubuntu:

    Помните, что закрытый ключ клиента client.key является секретным и следует избегать его передачи по открытым каналам связи.

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

    После чего скопируйте все эти файлы на клиент и установите на нем OpenVPN, в Windows системах советуем изменить путь установки OpenVPN на более короткий и без пробелов, скажем, C:OpenVPN.

    Затем откроем файл client.ovpn, который в Windows системах должен быть расположен в C:OpenVPNconfig, а в Linux в /etc/openvpn, и внесем в него следующие изменения:

    Данные опции задают клиентский режим работы, тип туннеля и используемый протокол UDP.

    Затем укажем адрес сервера:

    Следующая опция предписывает клиенту постоянно разрешать имя OpenVPN-сервера, имеет смысл если мы указываем сервер по FQDN-имени, а не IP-адресу.

    Для Linux систем обязательно укажите:

    В Windows данные опции следует обязательно закомментировать.

    Проконтролируем наличие следующих опций:

    Укажем пути к ключам и сертификатам, для Linux систем подразумеваем их нахождение в /etc/openvpn/keys:

    Для Windows систем предположим их нахождение в C:OpenVPNkeys:

    Также обязательно закомментируем опцию:

    Включим защиту от атак типа “человек посередине”:

    И укажем используемый шифр, он должен совпадать с указанным на сервере:

    Остальные опции можно оставить без изменений. Сохраним файл и запустим OpenVPN-клиент.

    Убедиться, что вы выходите в интернет через VPN-канал можно при помощи любого сервиса, показывающего ваш IP-адрес, например, 2ip.ru:

    Обращаем внимание на национальную принадлежность адреса, в данном случае мы выходим в интернет из Штатов.

    Самое время провести замер скорости доступа, мы будем использовать для этого популярный сервис SpeedTest. Первый замер без VPN:

    Второй через OpenVPN-канал:

    Сразу обращаем внимание на выросший пинг – это последствия размещения сервера в Штатах, а также скорость скачивания не выше 10 Мбит/с – ограничение бесплатного тарифа Oracle, хотя в большинстве случаев этого вполне достаточно для комфортного серфинга.

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

    После чего клиент будет игнорировать передаваемые с сервера опции маршрутизации и DHCP-опции, такие как DNS-сервера и т.п.

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

    Переходим в папку C:Program FilesOpenVPNconfig и создаем файл server.ovpn. Открываем его на редактирование и приводим к следующему виду:

    port 443
    proto udp
    dev tun
    dev-node “VPN Server”
    dh “C:\Program Files\OpenVPN\ssl\dh.pem”
    ca “C:\Program Files\OpenVPN\ssl\ca.crt”
    cert “C:\Program Files\OpenVPN\ssl\cert.crt”
    key “C:\Program Files\OpenVPN\ssl\cert.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:\Program Files\OpenVPN\log\status.log”
    log “C:\Program Files\OpenVPN\log\openvpn.log”
    verb 4
    mute 20

    * где port — сетевой порт (443 позволит избежать проблем при использовании Интернета в общественных местах, но может быть любым из свободных, например 1194, занятые порты в Windows можно посмотреть командой netstat -a); dev-node — название сетевого интерфейса; server — подсеть, в которой будут работать как сам сервер, так и подключенные к нему клиенты.
    ** так как в некоторых путях есть пробелы, параметр заносится в кавычках.
    *** при использовании другого порта необходимо проверить, что он открыт в брандмауэре или на время тестирования отключить его.

    В сетевых подключениях Windows открываем управление адаптерами – TAP-адаптер переименовываем в «VPN Server» (как у нас указано в конфигурационном файле, разделе dev-node):

    Теперь открываем службы Windows и находим «OpenVpnService». Открываем ее, настраиваем на автозапуск и включаем:

    Ранее переименованный сетевой интерфейс должен включиться:

    VPN-сервер работает. Проверьте, что сетевой адаптер VPN Server получил IP 172.16.10.1. Если он получает что-то, на подобие, 169.254. выключаем сетевой адаптер – перезапускаем службу OpenVpnService и снова включаем сетевой адаптер.

    голоса
    Рейтинг статьи
  • Ссылка на основную публикацию
    Статьи c упоминанием слов: