Openvpn установка windows: Пошаговая настройка OpenVPN в Windows / Sandbox / Habr – Руководство по установке и настройке OpenVPN / Habr

Содержание

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

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

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

 

Содержание:

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

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

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

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

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

«C:\Program Files\OpenVPN».

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

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

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

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

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

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

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

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

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

  1. Переименуйте файл index.txt.start в index.txt, serial.start в serial с помощью следующих команд:
    cd \
    cd "C:\Program Files\OpenVPN\easy-rsa"
    ren index.txt.start index.txt
    ren serial.start serial

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

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

  2. Аналогичным образом генерируем сертификат сервера. Здесь значение полей 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 Files\OpenVPN\easy-rsa"
.\build-key.bat client1

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

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

Параметры Diffie Hellman

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

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

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

Сгенерированные сертификаты находятся в директории

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

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

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

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

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

    Откройте файл, находим пути до ключей (см. ниже). Проверяем в нем пути до скопированных ранее сертификатов ca.crt, dh2024.pem/dh3048.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\\dh3048.pem"
    push "redirect-gateway def1"
    push "dhcp-option DNS 8.8.8.8"
    keepalive 10 120
    comp-lzo
    persist-key
    persist-tun
    verb 3

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

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

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

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

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

Автозапуск OpenVPN

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

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

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

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

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

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

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

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

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

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

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

Запустите клиент, для этого перейдите в директорию C:\Program Files\OpenVPN\config и выберите файл конфигурации клиента (у нас 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 начнется обмен пакетами с сервером

     

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

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

 

P. S. Другие инструкции:

Спасибо за Вашу оценку! К сожалению, проголосовать не получилось. Попробуйте позже

Настройка OpenVPN Windows 7: инструкция

OpenVPN – тип частной виртуальной сети, позволяющий создать зашифрованный канал для обмена файлами между ее участниками и точку подключения для их выхода в интернет, используя общий шлюз. Чтобы создать VPN server или подключиться в качестве клиента к существующей сети понадобятся:

  • ОС Windows 7, Server 2008 r2 или новее;
  • администраторские привилегии для запуска клиента;
  • программа OpenVPN;
  • файл конфигурации, полученный от провайдера, для подключения до сервера;
  • доступ к роутеру – возможно потребуется его настройка (переброс портов).

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

Основные преимущества приложения для Windows 7 и Server 2008 r2:

  • простая настройка в Windows – новичок после прочтения инструкции сможет поднять server самостоятельно или подключиться в качестве клиента к уже созданному;
  • повышенная безопасность – разработчик предлагает 3 метода аутентификации для пользователя;
  • нет нужды в покупке дополнительного оборудования;
  • практически не влияет на скорость подключения и отличается высокой стабильностью.

Инструкция по установке и настройке

  • Заходим на официальный ресурс разработчика и загружаем редакцию приложения, подходящую под разрядность вашей Windows.
  • Запускаем инсталлятор, чтобы началась установка программы.
  • Жмем на кнопку «Next».

Первое окно

  • Знакомимся с условиями лицензии, после чего жмем «I Agree».

Второе окно

  • Отмечаем галочками все компоненты для установки и кликаем по кнопке «Далее».

Выбор

  • Задаем каталог установки, если стандартные настройки не устраивают, и жмем «Установить».

Установку выполняем в каталог «OpenVPN», расположенный в корневой папке системного раздела.

Пропись пути

  • Подтверждаем установку драйвера.

Проверка безопасности

  • По окончании инсталляции жмем «Next».

Процесс

  • По завершению установки сервера для создания VPN жмем «Finish».

Завершение

  • Полученный у провайдера конфигурационный файл размещаем в каталоге «config».

Папка

Чтобы server правильно функционировал, его необходимо запускать с администраторскими привилегиями.

  • Вызываем «Свойства» ярлыка OpenVPNGUI.

Свойства

  • Во вкладке «Совместимость» ставим флажок возле опции, как показано на скриншоте.

Совместимость

  • Запускаем client.

Запуск клиента

  • В трее вызываем контекстное меню приложения и жмем «Connect».

Connect

Установка OpenVPN на Windows завершена.

СтатусДалее выполняется настройка сервера и клиента.

Конфигурируем сервер

Настроить server немногим сложнее, чем клиента, потому выполняйте инструкции очень внимательно.

  • Создаем каталог «SSL», где будут сохраняться сертификаты с ключами для аутентификации и шифрования данных, в папке с программой.
  • Создаем текстовый файл в блокноте и помещаем в него следующий код (Ссылка на копирование):

Код первый

  • Сохраняем документ с указанными параметрами.

Сохранение

Если Windows не позволяет сохранить файл в указанную папку, запускаем текстовый редактор с администраторскими привилегиями и повторяем процедуру.

  • Аналогичным способом создаем bat-ник с «vars.bat» в «easy-rsa», расположенной в каталоге с программой, чтобы настроить client.

В него помещаем следующий код (Ссылка на копирование):

Код второй

Отрывок1

Отрывок2

Отрывок3

Отрывок4

Отрывок5

Фрагмент6

Отрывок7

Отрывок8

Отрывок9

Отрывок10

Фрагмент11

Фрагмент12

Конфигурируем клиент

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

  • Создаем каталог «SSL» в директории с приложением и перемещаем в него файлы ca.crt, ta.key, client 1.crt и client1.key.
  • Создаем в этой папке файл «Clientovpn» следующего содержания (Ссылка на копирование):

Фрагмент13

Здесь x.x –доменное имя или IP-адрес сервера OpenVPN, к которому подключается client, а 777 – порт сервера.

  • Пишем «services.msc» в строке командного интерпретатора (Win+R) и запускаем службу OpenVPN.
  • При успешном выполнении операции вызываем диалог свойств и изменяем тип запуска на «Авто».
  • Заходим в «Свойства» отображенного ниже подключения через «Центр управления сетями» в Windows и проверяем, получил ли ваш client IP-адрес от сервера.

Быстрый интернет

Обращаем внимание на строку «Адрес IPv4».

Сведения

(Visited 12 135 times, 1 visits today)

Руководство по организации удалённого подключения к промышленному ПЛК посредством OpenVPN

В этой статье я хочу рассказать о полученном опыте организации удалённого доступа к промышленному программируемому логическому контроллеру (далее — ПЛК) посредством бюджетного решения на базе интернет-центра KEENETIC 4G.

Данная статья будет особенно интересна специалистам в области АСУТП, которые задались вопросом организации удалённого доступа, но не знали с чего начать.

Итак, начнём!


В данном примере рассмотрим наиболее часто встречающийся вариант, а именно:
  1. Локальный компьютер, который будет являться OpenVPN сервером с установленным пакетом TIA Portal для программирования ПЛК. (локальная сеть 192.168.1.0)
  2. Маршрутизатор предприятия с внешним белым IP — адресом (например, 217.196.58.128).
  3. Интернет-центр KEENETIC 4G с установленным клиентом OpenVPN подключенный к мобильной связи.
  4. Программируемый логический контроллер SIMATIC S7-1500 (локальная сеть 192.168.112.0).

Наличие внешнего белого IP — адреса на одной из сторон является необходимым условием работы OpenVPN сервера (сервер OpenVPN должен быть расположен на стороне белого IP — адреса).

Для организации VPN соединения между Интернет-центром KEENETIC и рабочем местом нам необходимо установить следующее ПО:

  1. OpenVPN — программа для создания безопасных виртуальных частных сетей, удаленного подключения к серверу
  2. XCA — программа для лёгкого создания сертификатов с графическим интерфейсом
  3. Notepad++ — текстовый редактор (необязательно)

Установка пакета OpenVPN на Windows.


Устанавливаем компонент EasyRSA (для создания сертификатов встроенными средствами (необязательно).

В случае вывода сообщения об установке драйвера, нажимаем «установить».

В случае, если требуется установить несколько виртуальных адаптеров или если виртуальный адаптер был некорректно установлен, то переходим по нижеприведённому адресу и запускаем «addtab.bat» скрипт:
C:\Program Files\TAP-Windows\bin

Создание X.509 сертификатов


1. Устанавливаем XCA

XCA — программа для лёгкого создания сертификатов с графическим интерфейсом
2. Создаём БД

«Файл» -> «Новая база данных», далее программа запросит ввод пароля, вводим пароль или оставляем поля пустыми и нажимаем «ОК».

3. Создаём сертификат удостоверяющего центра (CA)

Для этого переключаемся на вкладку «Сертификаты» и нажимаем на кнопку «Новый сертификат»

Далее переключаемся на вкладку «Субъект» и заполняем необходимые поля (то, что выделено красным должно иметь уникальное имя).

Нажимаем «Сгенерировать новый ключ» и подтверждаем действие нажатием кнопки «создать».

Переключаемся на вкладку «Расширения», выбираем тип сертификата «Центр Сертификации» и настраиваем срок действия сертификата (сертификат CA должен иметь более длительный срок действия, чем сертификаты компьютера, которые будут созданы позже.)

Нажимаем «ОК» и теперь мы можем приступить к настройке сертификатов компьютера.

4. Создание шаблонов сертификатов компьютера

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

Выбираем «Пустой шаблон» и переходим к редактированию нашего шаблона, имена в угловых скобках в будущем должны быть уникальными.

Переходим на вкладку «Расширения», задаём тип «Конечный субъект» и настраиваем период действия сертификата компьютера (должен быть не больше чем у сертификата удостоверяющего центра).

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

5. Создания сертификатов компьютера с использованием шаблона

Переключаемся на вкладку «сертификаты» и нажимаем на кнопку «Новый сертификат», выбираем опцию «Использовать этот сертификат для подписи», в качестве шаблона выбираем наш шаблон и нажимаем на кнопку «Применить всё».

Далее переходим на вкладку «Субъект» вводим уникальное имя, например, «My_Server», генерируем ключ.

Таким образом мы создали сертификат сервера. Проделываем туже самую процедуру для сертификата клиента (My_Client).

6. Экспорт машинных сертификатов и ключей

Для создания конфигурационного файла OpenVPN клиента (KEENETIC) и сервера (ПК Windows) нам потребуется экспортировать сертификат удостоверяющего центра, сертификат сервера, сертификат клиента, закрытый ключ сервера, закрытый ключ клиента.

Для этого переходим на вкладку «Сертификаты» выбираем сертификат удостоверяющего центра My_CA нажимаем на кнопку «Экспорт» и выгружаем в заранее созданную папку, например My_Keys, расположенную на рабочем столе.

Проделываем тоже самое для сертификата клиента (My_Client) и сертификата сервера (My_Server).

Переключаемся на вкладку «Закрытые ключи» выбираем ключ My_Client, нажимаем экспорт и выгружаем в нашу папку.

Проделываем туже самую процедуру для ключа сервера.

7. Создания параметра Диффи-Хэллмана

Для конфигурации параметров сервера нам также потребуется параметр Диффи-Хэллмана
Для создания параметра нажимаем на вкладку «Дополнительно» и выбираем пункт «Сгенерировать параметры Дифии-Хэллмана».

Далее выбираем длину параметра, например, 2048. Далее выгружаем наш параметр в папку с ключами.

В итоге в нашей папке должны находиться следующее файлы:

  1. Сертификат удостоверяющего центра My_CA.crt
  2. Сертификат клиента My_Client.crt
  3. Сертификат сервера My_Server.crt
  4. Закрытый ключ клиента My_Client.pem
  5. Закрытый ключ сервера My_Server.pem
  6. Параметр Дифии-Хэллмана dh3048.pem

Создание файлов конфигурации клиента и сервера


Т.к. протоколом промышленной связи S7-1500 является Profinet, то для установления соединения с ПЛК нам потребуется организовать L2 соединение, которым в данном случае является TAP-интерфейс.

Настройка конфигурации OpenVPN сервера


Для создания файла конфигурации сервера перейдите в папку с конфигурационными файлами OpenVPN [ C:\Program Files\OpenVPN\config ] и создайте файл TAP_Server с расширением .ovpn

Откройте файл TAP_Server.ovpn программой просмотра текстовых файлов (например, Notepad++) и скопируйте следующий текст:

# Указываем работу на L2 уровне
dev tap
# Параметр, используемый в Windows системах
# Указываем имя нашего TAP-Windows адаптера
dev-node MyTap
# Конфигурируем сервер в режиме моста для TAP устройств
server-bridge
# Указываем протокол работы сервера и версию IP
proto udp4
# Указываем номер порта, на котором будет работать OpenVPN
port 50501
# Пинговать каждые 10 секунд сервер и если в течение 120 секунд 
# не будут получены ответные пакеты, перезапустить подключение.
keepalive 10 120
# Указывает алгоритм шифрования
cipher AES-256-CBC
# Уровень детализации лога
verb 3
# Во внутрь копируем сертификат удостоверяющего центра
&ltca&gt

&lt/ca&gt
# Во внутрь копируем сертификат ключа
&ltcert&gt

&lt/cert&gt
# Во внутрь копируем закрытый ключ
&ltkey&gt

&lt/key&gt
# Во внутрь копируем параметр (ключ) Diffie-Hellman (Диффи-Хеллмана).
&ltdh&gt

&lt/dh&gt

Затем откройте программой просмотра текстовых файлов My_CA.crt, My_Server.crt, My_Server.pem, dh3048.pem и скопируйте текст из:
My_CA.crt в &ltca&gt &lt/ca&gt
My_Server.crt в &ltcert&gt &lt/cert&gt
My_Server.pem в &ltkey&gt &lt/key&gt
dh3048.pem в &ltdh&gt &lt/dh&gt

в результате получим следующее:

dev tap
dev-node MyTap
server-bridge
proto udp4
port 50501
keepalive 10 120
cipher AES-256-CBC
verb 3

&ltca&gt
-----BEGIN CERTIFICATE-----
MIIDqjCCApKgAwIBAgIIJJ8tf67Csf4wDQYJKoZIhvcNAQELBQAwgYsxCzAJBgNV
BAYTAlJVMRQwEgYDVQQIEwtLUkFTTk9ZQVJTSzEUMBIGA1UEBxMLS1JBU05PWUFS
U0sxDjAMBgNVBAoTBU15T1JHMQ4wDAYDVQQLEwVNeU9SRzEOMAwGA1UEAwwFTXlf
Q0ExIDAeBgkqhkiG9w0BCQEWEW15ZW1haWxAbXlob3N0Lnh5MB4XDTE5MTIxMzAw
MDAwMFoXDTQ5MTIxMjIzNTk1OVowgYsxCzAJBgNVBAYTAlJVMRQwEgYDVQQIEwtL
UkFTTk9ZQVJTSzEUMBIGA1UEBxMLS1JBU05PWUFSU0sxDjAMBgNVBAoTBU15T1JH
MQ4wDAYDVQQLEwVNeU9SRzEOMAwGA1UEAwwFTXlfQ0ExIDAeBgkqhkiG9w0BCQEW
EW15ZW1haWxAbXlob3N0Lnh5MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC
AQEA3dJoAVl7foXZMavZIr9RTB59h+El26OYll7KMBHritf+x8DEVjcg86uyDSf0
yzLtAR+8J013W3SRDVpl3gqdk3t1qb7Paz1OUrV2Hu3N5Ws1s4elpENTQAe1HFZS
u0NRhXBCxTTyToNdb1pKcIJziVNLXdTL+pud0T8FNs6q37t14XFkfDOw85m7y3py
vU8+ucmQEd5vOKPjcY1jklVZkQJKcGTI77x/R2k6HK7ryul5uIepi/RrVrgTNe5W
rYWuk6wlmmFLvgdzoVaBJO8edo89M7oJIQFMNN9x3cpbths6/3ZummBktfgVa7xy
3fs//M5v1pjnYeJ5wd5tiCXkpQIDAQABoxAwDjAMBgNVHRMEBTADAQH/MA0GCSqG
SIb3DQEBCwUAA4IBAQDbNhPy3IftjPVNyaUH/5AW6R0Fjqoct/55ZMDrdWlLY1mo
iTTxhFPv1DbilUE/nr+SwGvZV2MQs4G1hi9PgGqY5a+lJCSios8BJ7zlrt/LLQQ/
st0r2wzpCYROxoi+zu9YNGZJPP9GI3KdcVye9Rt3vbLbL8LQ8kKKwn3Ju5i1SUMy
gzvGTNUPtqOKVJid39IIdva3iMUBspfMGv2EcaGaRWekW9Pni/gBS2eHkBh2/X6n
KiopjtZw7A4RPHzC58jp+ypT/X63tPwf5+kWsMDeLG1XTKnLoPeAVNtszMhGsgzE
DoZUuL4pb8XbpcnrPlgp0WSkrf1RJrJGuArvUDLu
-----END CERTIFICATE-----

&lt/ca&gt

&ltcert&gt
-----BEGIN CERTIFICATE-----
MIIDyzCCArOgAwIBAgIIINPrUqBedY8wDQYJKoZIhvcNAQELBQAwgYsxCzAJBgNV
BAYTAlJVMRQwEgYDVQQIEwtLUkFTTk9ZQVJTSzEUMBIGA1UEBxMLS1JBU05PWUFS
U0sxDjAMBgNVBAoTBU15T1JHMQ4wDAYDVQQLEwVNeU9SRzEOMAwGA1UEAwwFTXlf
Q0ExIDAeBgkqhkiG9w0BCQEWEW15ZW1haWxAbXlob3N0Lnh5MB4XDTE5MTIxMzAw
MDAwMFoXDTQ5MTIxMjIzNTk1OVowgY8xCzAJBgNVBAYTAlJVMRQwEgYDVQQIEwtL
UkFTTk9ZQVJTSzEUMBIGA1UEBxMLS1JBU05PWUFSU0sxDjAMBgNVBAoTBU15T1JH
MQ4wDAYDVQQLEwVNeU9SRzESMBAGA1UEAwwJTXlfU2VydmVyMSAwHgYJKoZIhvcN
AQkBFhFNeUVtYWlsQE15SG9zdC54eDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCC
AQoCggEBAJhJYVC8WJneQTTO9p7NJvS803W1lq/8Z78Vx8J5jejVhXXZa0NYfXX8
iiXUr26vdhXN5htSNgktz9Tr5zUHwKhzpq+yYICPS44AmzMJByPBhjHUq7/HjnOA
e78k80OTzqL5XH8olrQc7690K1GW3b0PduH+bYykDGijQ8vlkwBKQhgxeo7zkTrm
VWsgmFJEbrdGoZPnwyHrStMHM0f6UMkEWqooughphaxtJWzS4GJES09z3VSN/3CV
FuV2Jn3UGyoEHKrZUa/kFgRx9j9AqRx3//WFusm2KPUim+IA4SLoXP5M6pZXaxvA
Z4y5b2xIc/OFFX5DfaCSpAMFwzZFYXkCAwEAAaMtMCswCQYDVR0TBAIwADAeBglg
hkgBhvhCAQ0EERYPeGNhIGNlcnRpZmljYXRlMA0GCSqGSIb3DQEBCwUAA4IBAQAZ
EXHnqu9Ilz6+w4SB/wfl5HG3UyS2n8oNpTHbFkX1Sn2+2FFuSCZlxhQYyhZKUjRq
NsbWMMcwRDST9V6cPw6iaTPfz2G8zaBFjsemnyYD6YttNmdqXgv5wiik3btP2Jk2
3msmg8MlA/EgeZWSFe0ee4yE+L145JgtEQeg0xb7t8J9OOt3W1GVnoX1hQa2GePH
PlKqc5ooPAuzIW4kWzxQefqcV5j1Rof98/dQJwJwCatRYgFciOZe26rcsu0R1iKF
yS6NB+HwJxZY1ExPcSDmiVu5cyeasSLp1bxcqb9V7a3e9YxNZ8AVmjh/NfOcb2a/
/Mx8QxPEP7g+B6tWfF/Q
-----END CERTIFICATE-----

&lt/cert&gt

&ltkey&gt
-----BEGIN RSA PRIVATE KEY-----
MIIEpAIBAAKCAQEAmElhULxYmd5BNM72ns0m9LzTdbWWr/xnvxXHwnmN6NWFddlr
Q1h9dfyKJdSvbq92Fc3mG1I2CS3P1OvnNQfAqHOmr7JggI9LjgCbMwkHI8GGMdSr
v8eOc4B7vyTzQ5POovlcfyiWtBzvr3QrUZbdvQ924f5tjKQMaKNDy+WTAEpCGDF6
jvOROuZVayCYUkRut0ahk+fDIetK0wczR/pQyQRaqii6CGmFrG0lbNLgYkRLT3Pd
VI3/cJUW5XYmfdQbKgQcqtlRr+QWBHh3P0CpHHf/9YW6ybYo9SKb4gDhIuhc/kzq
lldrG8BnjLlvbEhz84UVfkN9oJKkAwXDNkVheQIDAQABAoIBAGZFmapr4yDqx2Xc
vHmnk0r3aRf7LMjhvRbyXKZ5ldlRVIDx0/x1eER9ppWDgZHXGnnIPooIqyt87b+z
8iGGJFe826vRIsgT9AzY0WHz5SyZMjNS/Ukdjsh5+CJFgW3X3QVMbFclfhhV+o4d
eV4g8KegtBlQEmhKX98CDmznr9KYAxBtiMODkG3gi523+8qgOH5Nqgr+0CGxwcJU
4fDHadjbSj7+12ZrY3TVZm451fEzgh3nPAseyAoNYe0CM9hExmq4jeNxjZFQHNBv
refghZaPmyuRWSOfzNbEwRsLCZeLUHDdrNvsPRnFvmLcFhtFKwctngvkGK5lPs1w
dCgs8pUCgYEAyJOsi+ZTAWTjJC1pCr3FRJEjoqfqZGw/OLCKV7PBF8Yf2DIB+LDD
gfgoMi39sK/Hkah2H6CqD1Gter8WE67gAURvo5UjK4vFAGhmQSbiwhRUCRKRljwT
zB4k649XpD8fiOzd9S12uKyr8EvvDbOz9x1XcxQELcqURIunTuDh5CsCgYEAwl3F
twSkSOPYG2AeLnuwf8sYtFbcvSYL/8cGovOuZ0GlSLpHO2k1qhUzl6HrpIhEyVom
IQRJW9S5lB7z5lU/CVcbGmYLwu4y5/tl4MeG8NOEj1o8FR9RzUw92dSSKoMfCMad
lz/RmOrBnX4pwqICs7r7h7VsnOsr/AYn5H04zusCgYEAwHHv+8rhmVTTGsL3Jfcu
brtTFZ1Gp1O01Q+NrNgrTEQsCaLxgUsYSntvFbZK0lvVf0WFivL8N/aGHF97Lyd6
hbzD4JAXTpCsU9fXRGuq5cvbVVkblqnN1OqXQewmitCF0TpzO+qDHm2OCuDQXLUu
1sqwPRnXaJgV6i6UOHozTEECgYEAgmguFqxrmWgdf8iOl3tvoV5f1eeNtO7JEDS1
1DEQ68CUp+YrksX1NoeBFRSTqNGw7TOp728T1SQ12xalZ/38DEVALwcWjxQIXbND
2HumowAXqaLOOxHHbangub0w0IsnEFlKNMeh2ipz+zpBxI+0pmgnCReFpwb2fOKY
c2o86j8CgYAWTWn/Y1/bNgtStzya6fbxpc4Mc2nCZu6bTQpAgA44r+nRJuHpVm0T
cGDKj4NZ8h5wqMmk58GoOreAVsX4qXeN9QkdfAR5dA8eWVz42faC328W3G4VA5cc
GvTqDMzq0j3bz+4csHMn3BHatHymjgsg0sgc8FshuD6dQk0NNruk9A==
-----END RSA PRIVATE KEY-----

&lt/key&gt

&ltdh&gt
-----BEGIN DH PARAMETERS-----
MIIBCAKCAQEAlpVUnvCTJ1XF9mnwhf+P+QZhVWsNyRaqEgLuO2a/fGUqPESU9KRo
bDa489awzJs6j/JCKh2xR5H5JLE+Ho6XdgIXH9LTr03BV3PsPQiA28ZiluekBGGY
ps7dTLr0Ex4V6Ae3+E+Z7lM/Yhsa4w6fl+GNRkastD42Nx4g4iN+cIerLMFCRPl1
P7Go36VbEtO/aNX/zNExmcDsYSqiLkBeGrNxXen2Loqex5AlwE9WOliUbak6Ra/W
vf21Wi03TvBBfjEDKtM/Bsyo8Ar2lgBYIrANvylU/0Gg8OyRWqcIoQjwPyjavAHd
v14V1igYDa1xP9WQ262DMHfHLhqwjOW2GwIBAg==
-----END DH PARAMETERS-----

&lt/dh&gt

Настройка конфигурации OpenVPN клиента


Для создания файла конфигурации клиента перейдите в папку с конфигурационными файлами OpenVPN [ C:\Program Files\OpenVPN\config ] и создайте файл TAP_Client с расширением .ovpn
Откройте файл TAP_Server.ovpn программой просмотра текстовых файлов (например Notepad++) и скопируйте следующий текст:
# Указываем, что мы используем клиентское подключение
client
# Указываем работу на L2 уровне
dev tap0
# Указываем протокол работы сервера и версию IP
proto udp4
# Указываем номер порта, на котором будет работать OpenVPN
port 50501
# Задает сервер, к которому должен подключаться клиент
# могут использоваться записи IP и DNS.
remote 217.196.58.128
# Указывает алгоритм шифрования
cipher AES-256-CBC
# Уровень детализации лога
verb 3
# Во внутрь копируем сертификат удостоверяющего центра
&ltca&gt

&lt/ca&gt
# Во внутрь копируем сертификат клиента
&ltcert&gt

&lt/cert&gt
# Во внутрь копируем закрытый ключ клиента
&ltkey&gt

&lt/key&gt


Затем откройте программой просмотра текстовых файлов My_CA.crt, My_Client.crt, My_Client.pem и скопируйте текст из:
My_CA.crt в &ltca&gt &lt/ca&gt
My_Client.crt в &ltcert&gt &lt/cert&gt
My_Client.pem в &ltkey&gt &lt/key&gt

в результате получим следующее:

client
dev tap0
proto udp4
port 50501
remote 217.196.58.128
cipher AES-256-CBC
verb 3

&ltca&gt
-----BEGIN CERTIFICATE-----
MIIDqjCCApKgAwIBAgIIJJ8tf67Csf4wDQYJKoZIhvcNAQELBQAwgYsxCzAJBgNV
BAYTAlJVMRQwEgYDVQQIEwtLUkFTTk9ZQVJTSzEUMBIGA1UEBxMLS1JBU05PWUFS
U0sxDjAMBgNVBAoTBU15T1JHMQ4wDAYDVQQLEwVNeU9SRzEOMAwGA1UEAwwFTXlf
Q0ExIDAeBgkqhkiG9w0BCQEWEW15ZW1haWxAbXlob3N0Lnh5MB4XDTE5MTIxMzAw
MDAwMFoXDTQ5MTIxMjIzNTk1OVowgYsxCzAJBgNVBAYTAlJVMRQwEgYDVQQIEwtL
UkFTTk9ZQVJTSzEUMBIGA1UEBxMLS1JBU05PWUFSU0sxDjAMBgNVBAoTBU15T1JH
MQ4wDAYDVQQLEwVNeU9SRzEOMAwGA1UEAwwFTXlfQ0ExIDAeBgkqhkiG9w0BCQEW
EW15ZW1haWxAbXlob3N0Lnh5MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC
AQEA3dJoAVl7foXZMavZIr9RTB59h+El26OYll7KMBHritf+x8DEVjcg86uyDSf0
yzLtAR+8J013W3SRDVpl3gqdk3t1qb7Paz1OUrV2Hu3N5Ws1s4elpENTQAe1HFZS
u0NRhXBCxTTyToNdb1pKcIJziVNLXdTL+pud0T8FNs6q37t14XFkfDOw85m7y3py
vU8+ucmQEd5vOKPjcY1jklVZkQJKcGTI77x/R2k6HK7ryul5uIepi/RrVrgTNe5W
rYWuk6wlmmFLvgdzoVaBJO8edo89M7oJIQFMNN9x3cpbths6/3ZummBktfgVa7xy
3fs//M5v1pjnYeJ5wd5tiCXkpQIDAQABoxAwDjAMBgNVHRMEBTADAQH/MA0GCSqG
SIb3DQEBCwUAA4IBAQDbNhPy3IftjPVNyaUH/5AW6R0Fjqoct/55ZMDrdWlLY1mo
iTTxhFPv1DbilUE/nr+SwGvZV2MQs4G1hi9PgGqY5a+lJCSios8BJ7zlrt/LLQQ/
st0r2wzpCYROxoi+zu9YNGZJPP9GI3KdcVye9Rt3vbLbL8LQ8kKKwn3Ju5i1SUMy
gzvGTNUPtqOKVJid39IIdva3iMUBspfMGv2EcaGaRWekW9Pni/gBS2eHkBh2/X6n
KiopjtZw7A4RPHzC58jp+ypT/X63tPwf5+kWsMDeLG1XTKnLoPeAVNtszMhGsgzE
DoZUuL4pb8XbpcnrPlgp0WSkrf1RJrJGuArvUDLu
-----END CERTIFICATE-----

&lt/ca&gt

&ltcert&gt
-----BEGIN CERTIFICATE-----
MIIDyzCCArOgAwIBAgIII6a7Y3h+sS0wDQYJKoZIhvcNAQELBQAwgYsxCzAJBgNV
BAYTAlJVMRQwEgYDVQQIEwtLUkFTTk9ZQVJTSzEUMBIGA1UEBxMLS1JBU05PWUFS
U0sxDjAMBgNVBAoTBU15T1JHMQ4wDAYDVQQLEwVNeU9SRzEOMAwGA1UEAwwFTXlf
Q0ExIDAeBgkqhkiG9w0BCQEWEW15ZW1haWxAbXlob3N0Lnh5MB4XDTE5MTIxMzAw
MDAwMFoXDTQ5MTIxMjIzNTk1OVowgY8xCzAJBgNVBAYTAlJVMRQwEgYDVQQIEwtL
UkFTTk9ZQVJTSzEUMBIGA1UEBxMLS1JBU05PWUFSU0sxDjAMBgNVBAoTBU15T1JH
MQ4wDAYDVQQLEwVNeU9SRzESMBAGA1UEAwwJTXlfQ2xpZW50MSAwHgYJKoZIhvcN
AQkBFhFNeUVtYWlsQE15SG9zdC54eDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCC
AQoCggEBAM1xGkTl0fTge3jacEgSkrMoN3wgIr94Y1uD574XqxKYdh21hEdldTLa
gx8MGLIYaXN/HQTEYuhxpk+EX0Mqns9TazGouvE2/poP4KiO8iSHVO9PaaKO0OKq
Y7ctt4TVBdnD2UjiHCq5DfQ/T6UGv4bOR61RCqymyBnnVQ/KyR0DX4/U+jLx9wxS
d5OLD0SSqOjdLTnI1gBpEphRuPo6705I+eM7cATyoL17GMgAQ1W4zLzq3ojNPCo3
U/P0tPvQi6hHoJv5Rj8EfgK7eID7kUqvCrG4Vvg+iKjC7m1ABweOjBXVpk7UsKin
97I/Gz0PGOwnsh4a3J/WNZu1DuPfw9UCAwEAAaMtMCswCQYDVR0TBAIwADAeBglg
hkgBhvhCAQ0EERYPeGNhIGNlcnRpZmljYXRlMA0GCSqGSIb3DQEBCwUAA4IBAQDd
v4iq13jCqRI6yeFlB8ouMVtuVpI+p7w6KBYyc+phbDuzqI4iFkMyhj0H+cx/760M
ziQMuLR/pRrSPKPI03JgFI5dFh2txnNFkelQutZ+6qe4c1y9OhKhwg3n6jS2PevG
Tvlrl1utoiNOVXhcvH0CxuD5AJEyQa9SH/vO3TRQC9g5zbfULTgOhpUmaVPYBkX/
tBnvnKFdmsLqwgrKvdqfJF3WqJuQSdHtyp4MVZN1d/T+HoQ5YfN5nGXpLLgLdGaq
KvtAtFACkltO0A7R2WeLw1WNiXGHNxd3OFuVedapub1zXCSiYZNC+8MX7PkQnV9e
p1JB/AWXg/Z7uQSua3+c
-----END CERTIFICATE-----

&lt/cert&gt

&ltkey&gt
-----BEGIN RSA PRIVATE KEY-----
MIIEpAIBAAKCAQEAzXEaROXR9OB7eNpwSBKSsyg3fCAiv3hjW4PnvherEph0fXWE
R2V1MtqDHwwYshhpc38dBMRi6HGmT4RfQyqez1NrMai68Tb+mg/gqI7yJIdU709p
oo7Q4qpjty23hNUF2cPZSOIcKrkN9D9PpQa/hs5HrVEKrKbIGedVD8rJHQNfj9T6
Mvh4DFJ3k4sPRJKo6N0tOcjWAGkSmFG4+jrvTkj54ztwBPKgvXsYyABDVbjMvOre
iM08KjdT8/S0+9CLqEegm/lGPwR+Art4gPuRSq8KsbhW+D6IqMLubUAHB46MFdWm
TtSwqKf3sj8bPQ8Y7CeyHdrcn9Y1m7UO49/D1QIDAQABAoIBAQC6dsyL+jf9VX5b
6497qvfhikAJ9jTzqjYsCuXcwCiygRNCB9ae4rRkCrZ2CImlo8iaXqYc/I51QSnd
BF1eXiG0NZeWg/nhE7Q0avLSqqOWigqKBn7vX0ayZEqLKQBnnN1pkHv3zdoY4MuM
g6YrN5vApBukcGkK2XnHIRMweTLek9/qAeDgcE4ZVXIgHkNjqAc9y/kd5Sx+fL+N
k/dGQeTne2xgzJZsiu4uoS9jnBE7g1hQpfLpbyoREaRjWob/KP2IDFIjInjnHrb9
mO5Xuqsv8mHp4+67Ium8IN5jDldoObayEd8giE6x3r/3x60RSmV8IDHKPIs507qD
2hoCXz8hAoGBAObhKqowjp5TuqPt9Nrm+cVZKroDvz8bXb8ejOMn22Wj171cdNy3
gxbt5ksLXsHmjPWm9fK5ZL8m33U+uMwcgqIUbHILo40AQK9FtwkjyeTQne1OBjJa
2tjCc3ySo0icEswRFJrCu9Rcszehj56WlJzmvE0CiM2QGG3ExOxl8LNtAoGBAOPL
Zv5nkG0RAuOg5w+tLi2h24BcD1ICpPcq232mXdqzEeeXSysvgpwDaOWPGXtgWvIK
ScIw9xqW7tonk5EjKnsgPajV8OvG+vAqC2liHy00IxZ+YB+vzE66uUEpYXUpzI2n
F+pb+rQDSQo3beyamjeL1wYEjntDyWqfRmQfQSkJAoGAMP1CIk6fVHULu1D4jaJJ
CVj8OfAlmmxiHfWLi3+fjBeR5XpCybqetDTSksXc22PiMRW2RkSUXgMPkz810wmR
pnaS9DgIAhk1oHs4dVYEtuqVOA9APVsN6MSJ4Lr0rql/S5GsP5JmbI8m7/z2Dn6B
FjHXbrfE82lJ5bDE4CxZQJkCgYAvmtJrWDlWkbeI2pdvL0h4QexHZvXMrcDL5qj4
GUyD5+hV/cg3vjYNZKkHUGCC6CAZdQz1CEabx+8iqCKusiqukI5SOmOe4naOujqo
S1k4mSy8Bq0P8i1ARsVwWLWFRrb443KcB5zdAdLBz9OpHqYb9Z16JHmiSQhOv/p1
8hIsAQKBgQCvHQu6NKsdNDogXCiwEt52jlqBRs4NEjspupOKzV+HlEfek6ijKMce
P9o4U+vpiG5ZmIYPzgTfAlaWxoMi5ynRZhiMA8dFzX53uyJiYJetXm+zb71l9BW8
kmsch0B5z5yAjEA+CWIqDJ05O7QTLMLC69QU4UICswbyJy1MFUfrbg==
-----END RSA PRIVATE KEY-----

&lt/key&gt

На этом создание файлов конфигурации клиента и сервера будем считать завершенным.

Настройка маршрутизатора предприятия


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

В зависимости от модели маршрутизатора процедура проброса портов может отличаться.
На скриншоте ниже приведён пример по настройке маршрутизатора предприятия (не нашего KEENETIC 4G).

Запуск OpenVPN сервера на персональном компьютере


Наши файлы конфигурации готовы, осталось перейти к нюансам по настройке OpenVPN на системе под управлением Windows, для этого перейдём к настройке параметров адаптера и переименуем TAP-Windows Adapter V9 как MyTap (в соответствии с именем dev-node).

А также настроим локальный адрес нашему адаптеру (должен быть назначен на не занятый IP адрес нашей локальной сети контроллера, например 192.168.112.230)

Далее запускаем в работу сервер OpenVPN:

1. Запускаем приложение, расположенное по адресу C:\Program Files\OpenVPN\bin\openvpn-gui.exe (или нажимаем на ярлык на рабочем столе)

2. Переходим в трей, выбираем созданный файл конфигурации «TAP_Server» и нажимаем «подключиться»

3. Убедимся, что наш сервер работает и перейдём к настройке интернет-центра KEENETIC 4G

Настройка интернет-центра KEENETIC 4G


По-умолчанию в KEENETIC 4G не входит клиент OpenVPN, поэтому сначала нам следует его установить. Для этого подключаем KEENETIC 4G к интернету различным способом (по кабелю, по Wi-Fi или с помощью 4G модема), далее переходим в «Общие настройки» и нажимаем кнопку «Изменить набор компонентов».

Выбираем нужные нам компоненты (в данном случае Клиент OpenVPN уже был установлен, поэтому для примера показывается другой компонент) и нажимаем кнопку «Установить обновление».

Далее перейдём к настройке нашей сети, для этого выбираем «Домашняя сеть» и настраиваем IP-адрес нашего маршрутизатора, например 192.168.112.101 (так же должен быть свободным).

Далее нам следует настроить наше OpenVPN подключение, для этого выбираем «Другие подключения», нажимаем кнопку «добавить подключение».
Вводим имя подключения (произвольное, например, TAP_Client_PLC), выбираем тип подключения (OpenVPN), в конфигурацию OpenVPN копируем текст из нашего созданного файла для клиента (TAP_Client.ovpn) и нажимаем кнопку сохранить для применения изменений.

Далее нам следует включить интерфейс OpenVPN в основной мост, но прежде чем сделать данную процедуру нам придётся установить клиент telnet. Для этого перейдём в панель управления, далее «Включение или отключение компонентов Windows», выберем Telnet Client и нажмём «ОК».

После того, как telnet клиент будет установлен — подключаемся к нашему KEENETIC 4G: на клавиатуре жмём сочетание клавиш WIN+R, вводим cmd

Вводим команду telnet [IP_нашего_KEENETIC] (например, telnet 192.168.112.101)

Пройдём процесс авторизации (введём логин и пароль (если он был настроен)) и введём следующие команды:

interface Bridge0
include OpenVPN0
system configuration save

Проверим правильность нашей конфигурации:
show
running-config

В итоге мы должны увидеть нечто подобное:

Отмечу, что интерфейс OpenVPN0 создаётся только после создания OpenVPN подключения.

Включаем в работу наш OpenVPN клиент.

Видим, что KEENETIC 4G осуществил подключение к нашему серверу и переходим к настройке нашего контроллера S7-1500.

Настройка программируемого логического контроллера S7-1500


В настройках нашего контроллера достаточно установить локальный адрес нашего маршрутизатора:
  1. Устанавливаем галочку «Use router»
  2. Вбиваем адрес домашней сети нашего KEENETIC 4G (192.168.112.101)

После прогрузки конфигурации, контроллер станет доступен для доступа по удалённому подключению.

На этом настройка нашего удалённого подключения завершена.

Благодарю за внимание!

Настройка OpenVPN клиента на Windows — База знаний JustHost.ru

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

Скачиваем клиент https://swupdate.openvpn.org/community/releases/openvpn-install-2.4.2-I601.exe

Устанавливаем OpenVPN приложение

Соглашаемся с установкой драйвера

После установки не запускаем. Переходим в директорию с установленной программой в папку C:\Program Files\OpenVPN\config

Копируем на клиентскую машину файлы ca.crt, client1.crt и client1.key с вашего сервера.

Создаём конфигурационный файл client.ovpn. Если вы настраивали сервер по нашей инструкции, то файл конфигурации на клиенте будет выглядеть следующим образом:

client 
tls-client 
dev tun 
proto udp 
remote IPorSERVERNAME 1194 
;redirect-gateway def1 
resolv-retry infinite 
nobind 
persist-key 
persist-tun 
ca ca.crt 
cert client1.crt 
key client1.key 
comp-lzo 
user nobody 
group nobody 
cipher AES-256-CBC 
verb 3

Сохраняем и запускаем программу. Кликаем правой кнопкой мышки по ярлыку OpenVPN в системном трее и указываем необходимые параметры в меню Настройки…

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

Поделиться ссылкой:

Похожее

Установка OpenVPN в несколько кликов / Habr

Привет, Geektimes!

Не так давно мне пришла в голову мысль, что подключение к Linux-серверу по SSH, установка пакетов, запуск скриптов — все это однотипная рутина, для которой не нужно участие человека, ее может сделать робот. Конечно, я пользуюсь Ansible, но он ведь тоже «не для всех».

В результате была написана программа «для всех» в которой просто есть одна кнопка «сделать хорошо». Программа с открытым исходным кодом и доступна для изучения и скачивания на GitHub.

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

Всего нужно выполнить 4 простых шага:


  1. Создать сервер (обычно достаточно просто нажать кнопку «Создать»)
  2. Установить и запустить приложение SSHeller
  3. Нажать кнопку Install и дождаться завершения установки
  4. Скачать ovpn файл и подключиться к VPN с его помощью

Подойдет практически любой виртуальный (VPS, VDS) или физический сервер (у виртуального должен быть tun интерфейс). Для примера, ниже приведена инструкция по использованию DigitalOcean, как наиболее стабильного, простого и удобного в использовании облачного провайдера.


Подготовка

Для активации аккаунта необходимо одно из двух:


  • аккаунт PayPal
  • кредитная карта (именно кредитная, по которой можно уйти в минус, зарплатная/дебетовая не подойдет)

Если будете использовать PayPal — нужно будет внести $5. С кредитной карты-же заблокируют $1 и вернут.


Регистрация на DigitalOcean

Лучше всего регистрироваться по реферальной ссылке — тогда будет автоматически применён промокод на $10. А можно зарегистрироваться заполнив форму на главной странице и позже ввести любой промокод — он легко ищется через google. Их много разных и все по $10.

Перейдя по ссылке, достаточно ввести e-mail и придумать пароль.

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

Далее нужно ввести данные кредитной карты, либо PayPal. Это обязательное требование для подтверждения аккаунта. PayPal есть практически у каждого.

После нажатия на кнопку подтверждения, запустится стандартный процесс оплаты. Но есть важная особенность, которая позволит немного сэкономить: ваш банк конвертирует рубли в доллары по более выгодному курсу, нежели PayPal

Нужно нажать View conversion options и выбрать вариант Convert with card issuer

После окончания оплаты, вы попадете на главную страницу Dashboard. Можно перейти в Settings -> Billing чтобы посмотреть баланс.

Здесь Your credit $15 — внесенный аванс. А Usage $0.00 — сумма, которую нужно оплатить. Оплата обычно производится по факту — сколько потратили за месяц, столько вас и попросят оплатить(после исчерпания аванса). В самом низу можно посмотреть, какие были начисления.


Запуск сервера

Сверху-справа нажимаем Create -> Droplets

Откроется страница создания сервера. Нужно задать 3 основных параметра.

Операционная система: Fedora 27. Это самая маленькая, быстрая и стабильная из доступных. Хотя Debian 9 — тоже хороший выбор. Более того, поддерживаются все доступные ОС, кроме FreeBSD и Debian 7.

Размер: будет достаточно самого маленького за $5.

Регион — нужно выбрать тот, который территориально к вам ближе. Для Европейской части России — это Amsterdam.

Этого достаточно. В самом низу можно изменить имя, но можно оставить по умолчанию и нажать большую зеленую кнопку Create. Виртуальная машина начнет создаваться, и вскоре вам придет e-mail с ее адресом и паролем.


Для установки достаточно перейти на страницу релизов, скачать соответствующий файл и запустить его.


  • Для Windows: SSHeller.Setup.X.X.X.exe
  • Для macOS: SSHeller-X.X.X.dmg
  • Для Linux: SSHeller-X.X.X-x86_64.AppImage — после загрузки сделать исполняемым и запустить

Теперь SSHeller можно запустить из списка приложений.


Письмо от DigitalOcean уже должно было прийти. Из него нам нужны 4 параметра.

Запускаем SSheller и жмем Add

Копируем параметры из письма:


  • Droplet Name -> Name
  • IP Address -> Host
  • Username -> User
  • Password -> Password

Нажатием Save возвращаемся к списку серверов.

В списке выбираем созданный сервер и нажимаем Connect. Первое подключение займет немного больше времени, так как DigitalOcean создает виртуальные машины с истекшим паролем, и приложению будет необходимо его обновить. После подключения отобразится состояние сервера (Dashboard). Слева сверху нужно открыть меню и выбрать OpenVPN.

На экране OpenVPN, достаточно нажать зеленую кнопку Install и подождать.

Сколько нужно ждать — невозможно предсказать. Иногда это может быть 3 минуты, а иногда — доходить до получаса. Зависит от сервера, на котором запускается ваша виртуальная машина. Чем меньше у сервера заполнен пул энтропии — тем дольше ждать. Если простыми словами: компьютер очень медленно создает новые случайные числа, но делает это постоянно и копит их. А для создания ключей шифрования нужно очень много случайных чисел. Если их кто-то уже использовал — придется подождать.

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

Сразу будет создан профиль по умолчанию и соответствующий ему файл настроек — client.ovpn. Можно скачать его, а можно создать еще один, или несколько, введя имя нового профиля и нажав кнопку Add.

Для загрузки достаточно кликнуть на соответствующий файл профиля.



  • Для Windows и Linux нужно установить OpenVPN
  • Для macOSTunnelblick
  • Для Android и iOSOpenVPN Connect из магазина приложений

Windows


  1. Скачиваем openvpn-install-X.X.X-I601.exe c официального сайта и устанавливаем
  2. Сохраненный файл client.ovpn нужно скопировать в папку C:\Program Files\OpenVPN\config — потребуется подтверждение прав Администратора
  3. В меню «Пуск» выбрать OpenVPN -> OpenVPN GUI
  4. В трее (иконки возле часов) нажать правой клавишей мыши на иконку монитора с замком и выбрать Подключиться

Если в папке config будет несколько файлов, то появится подменю для каждого файла.


macOS


  1. Скачиваем Tunnelblick_XXX.dmg с официального сайта (Stable) и запускаем
  2. В открывшемся окне два раза кликаем по иконке с подписью Tunnelblick
  3. Появится предупреждение, что эта программа скачена из интернета — нажимаем Открыть
  4. В окне приветствия нажимаем Продолжить
  5. Далее будет необходимо ввести пароль Администратора
  6. На вопрос о файле конфигурации ответить: У меня ЕСТЬ файл конфигурации, а в следующем окне нажать OK
  7. Через Finder найти client.ovpn файл и открыть его; указать хотите ли только вы пользоваться им, либо также разрешить другим пользователям компьютера
  8. В трее (иконки возле часов) нажать левой клавишей мыши на иконку ворот и выбрать соединить client
  9. Может быть выведено сообщение «Unrecognized option or missing or extra parameter(s)» — оно не влияет на работоспособность


Linux


  1. Установите пакет OpenVPN пакетным менеджером. Например в Debian и Ubuntu достаточно выполнить: sudo apt-get install -y openvpn
  2. Подключение устанавливается командой sudo openvpn --config client.ovpn

iOS


  1. Установите OpenVPN Connect из App Strore
  2. Отправьте файл на свое мобильное устройство. Например, можно самому себе с компьютера отправить письмо
  3. Запустите приложение OpenVPN Connect, выберите Import you Private Tunnel Profile
  4. Выберите сохраненный client.ovpn файл
  5. Переместите появившийся переключатель в положение On


Android


  1. Установите OpenVPN Connect из Google Play
  2. Отправьте файл на свое мобильное устройство. Например, можно самому себе с компьютера отправить письмо
  3. Запустите приложение OpenVPN Connect, выберите OVPN Profile
  4. Выберите сохраненный client.ovpn файл (обычно он сохраняется в папку Downloads) и нажмите IMPORT
  5. Введите отображаемое имя профиля или оставьте без изменений, нажмите ADD
  6. Переместите появившийся переключатель в положение On



В DigitalOcean почасовая оплата

Т.е. можно платить только за то время, которым реально пользуешься. И здесь есть два важных замечания:


  1. Доступный трафик пропорционален времени работы сервера. Если сервер работал только 1/10 месяца (3 дня), то будет доступно только 1/10 трафика (100Гб). За превышение придется доплачивать (1 цент за каждый Гб)
  2. Чтобы деньги перестали списываться за сервер, его нужно не просто остановить, а полностью уничтожить, нажав на меню возле сервера и далее Destroy, а на появившейся странице сервера еще раз нажать Destroy. В следующий раз нужно будет заново повторять всю настройку, создавать новые ovpn файлы и отправлять их на устройства.


Делитесь с родными и друзьями

Чисто технически, вы можете создать множество профилей, как для разных устройств, так и для разных людей. Вдвоем цена для каждого уже будет $2.5, впятером — $1.

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


1 мая 2018 начали появляться комментарии, что некоторые российские провайдеры блокируют Digital Ocean. Есть отличная альтернатива — Linode (сравнение).


  1. Регистрируемся на главной странице.
  2. После ввода e-mail, логина и пароля (нужно придумать), придет письмо со ссылкой для подтверждения, переходим по ней
  3. Откроется расширенная форма регистрации, нужно ввести фамилию, имя, адрес, промо код и данные карты
    • промокод на $10 или $20 легко ищется в google, 01.05.2018 работал PodcastInIt2018 на $20
    • карта подойдет любая, нет особых требований как у DigitalOcean
    • в самом низу выбираем первоначальное пополнение, минимум $5
  4. После оправки формы, сразу попадаем на страницу создания сервера, в самом низу выбираем Linode 1024 (стоит те же $5 в месяц), ниже выбираем локацию, для Европейской части России ближе всего Frankfurt, DE
  5. После создания сервера, выбираем его из списка и нажимаем Deploy an Image
    • выбираем дистрибутив, например Fedora 27 или Debian 9
    • придумываем, запоминаем и вводим пароль сервера
    • жмем Deploy
  6. Нажимаем кнопку Boot чтобы запустить сервер
  7. Переключаемся на вкладку Remote Access копируем самый первый Public IP, например 172.104.130.238
  8. Запускаем SSHeller, нажимаем Add
    • придумываем и вводим Name
    • в Host вставляем скопированный IP
    • в User вводим root
    • в Password вводим пароль, придуманный на шаге 5
  9. Сервер грузится не мгновенно, если быстро ввели параметры доступа к серверу, то придется подождать секунд 30

Дальше все по основной инструкции.

OpenVPN сервер на Windows: как настроить

OpenVPN сервер на Windows: как настроить OpenVpn Server

В этой статье кратко и без лишнего описано, то, как быстро настроить OpenVPN сервер в Windows и сконфигурировать OpenVPN клиента.

Бывает необходимо построить защищенную, шифрованную связь между компьютерами без лишних затрат на оборудование и ПО.

В этом поможет такая бесплатная и известная программа, как OpenVPN — свободная реализация технологии виртуальной частной сети (VPN).

Установка OpenVPN Server на Windows

  • Качаем инсталлятор OpenVPN: openvpn.net/index.php/open-source/downloads
  • Устанавливаем: обязательно отметьте все пункты птичками, на предложение установить драйвер отвечаем утвердительно.

Создание сертификатов и ключей OpenVPN

  • Запускаем консоль (командную строку) из под администратора
  • Переходим в папку куда установили OpenVPN: cd «C:\Program Files\OpenVPN\easy-rsa»
  • Запускаем: init-config.bat
  • В папке «C:\Program Files\OpenVPN\easy-rsa» появится файл vars.bat, открываем его в блокноте.

Вот содержимое файла, которое вышло у меня:

@echo off
rem Edit this variable to point to
rem the openssl.cnf file included
rem with easy-rsa.

set HOME=%ProgramFiles%\OpenVPN\easy-rsa
set KEY_CONFIG=openssl-1.0.0.cnf

rem Edit this variable to point to
rem your soon-to-be-created key
rem directory.
rem
rem WARNING: clean-all will do
rem a rm -rf on this directory
rem so make sure you define
rem it correctly!
set KEY_DIR=keys

rem Increase this to 2048 if you
rem are paranoid. This will slow
rem down TLS negotiation performance
rem as well as the one-time DH parms
rem generation process.
set KEY_SIZE=1024

rem These are the default values for fields
rem which will be placed in the certificate.
rem Change these to reflect your site.
rem Don't leave any of these parms blank.

set KEY_COUNTRY=UA
set KEY_PROVINCE=Kiev
set KEY_CITY=Kiev
set KEY_ORG=OpenVPN
set [email protected]
set KEY_CN=server
set KEY_NAME=server
set KEY_OU=ouou
set PKCS11_MODULE_PATH=changeme
set PKCS11_PIN=1234

 

В следующих строках указал вот такие данные:

set KEY_COUNTRY=UA
set KEY_PROVINCE=Kiev
set KEY_CITY=Kiev
set KEY_ORG=OpenVPN
set [email protected]
set KEY_CN=server
set KEY_NAME=server
set KEY_OU=ouou

Укажите что-либо свое, в строках где есть «server» ничего не меняйте.

В этой же папке открываем файл «openssl-1.0.0.cnf» и ищем строчку default_days 365, ставим 3650: теперь сертификаты будут действительны на протяжении 10 лет.

Снова переходим в командную строку которая запущена от имени администратора и выполняем команды:

  • cd «C:\Program Files\OpenVPN\easy-rsa»
  • vars
  • clean-all — в ответ должно написать два раза «Скопировано файлов: 1». Значит, все хорошо
  • build-dh — создаст ключ Диффи-Хельмана.
  • build-ca — создаст основной сертификат. Будут заданы вопросы, просто нажимаем Enter пока работа команды не завершится.
  • build-key-server server — опять таки будут вопросы: жмем Enter, когда увидим два вопроса «Sign the certificate?» и «1 out of 1 certificate requests certified, commit?», жмем Y. Сертификаты для сервера созданы.
  • build-key client — создаем сертификат клиента.
    • Жмем Enter, но…
    • При вопросе Common Name (eg, your name or your server’s hostname) нужно ввести client.
    • В конце также два раза Y.
    • Для каждого клиента создается новый сертификат, только с другим именем, например, build-key client1 и также указывать его в common name.
  • Из папки C:\OpenVPN\easy-rsa\keys копируем файлы: ca.crt, dh2024.pem, server.crt, server.key в папку C:\OpenVPN\config.

Создаем конфигурационные файлы для OpenVPN

Конфигурационный файл сервера OpenVPN

В папке «C:\Program Files\OpenVPN\config», создаем текстовой документ server.ovpn — это будет конфиг сервера, вставляем в файл текст:

dev tun # Поднимаем L3-туннель
proto udp # Протокол
port 12345 # Порт который слушает впн
# Ключи и сертификаты:
ca ca.crt
cert server.crt
key server.key
dh dh2024.pem
topology subnet # Грубо говоря экономим адреса
server 10.9.0.0 255.255.255.0 # Пул адресов
cipher AES-128-CBC # Метод шифрования
comp-lzo # Сжатие
mssfix # Немного улучшит пинг
keepalive 10 120 # Время жизни клиентов, если не откликнулся — отключает
verb 3 # Уровень отладки

Пробуем запустить сервер: Кликаем на рабочем столе по ярлыку OpenVPN Gui или запускаем файл «C:\Program Files\OpenVPN\bin\openvpn-gui.exe».

В панели задач возле к появится серый значок, кликаем по нему дважды, если через 10-20 секунд он загорелся зеленым, значит, все хорошо, если нет, тогда смотрим лог в папке log.

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

На компьютере клиента тоже устанавливаем OpenVPN, все галочки можно не отмечать.

Копируем из папки «C:\Program Files\OpenVPN\easy-rsa» на компьютере с сервером файлы:

  • ca.crt
  • client.crt
  • client.key

на компьютер с OpenVPN клиентом в папку C:\Program Files\OpenVPN\config. В этой же папке создаем файл client.ovpn, в котором прописываем:

client
dev tun
proto udp
remote АДРЕС_СЕРВЕРА 12345 # Адрес и порт сервера
ca ca.crt
cert client.crt
key client.key
cipher AES-128-CBC
nobind
comp-lzo
persist-key
persist-tun
verb 3

На клиентском компьютере запускаем OpenVPN Gui или client.ovpn.

Если подключились, пробуем проверить связь: в командной строке набираем ping 10.9.0.1. Если пинг проходит, значит все настроено верно.

На OpenVPN сервере можно настроить автоматический запуск OpenVPN службы:

  • переходим в Панель Управления — Администрирование — Службы
  • Ищем OpenVPN Service и выставляем тип запуска «Автоматически»

Ошибка «WARNING: can’t open config file: /etc/ssl/openssl.cnf «

Если при попытке создать сертификат для OpenVpn вы видите эту ошибку, то скорее всего вы не запустили перед этим действием bat-файл OpenVPN\easy-rsa\vars.bat.

Описание команд и параметров OpenVPN

Команды без — (двумя знаками дефиса) перед командой должны быть использованы в конфигурационном файле, команды с — в начале используются только из командной строки.

  • remote < host > — определяет удаленный конец туннеля. Могут использоваться записи IP и DNS.
  • local < host > — определяет локальный ip или имя хоста, на котором будет работать OpenVPN. Актуально, если на локальной машине несколько адресов.
  • dev < device > — определяет какой использовать тип устройства tun или tap. Например: dev tun или dev tap. Так же можно явно указывать номер виртуального интрефейса, например tun0.
  • port < port number > — указывает на каком порту будет работать OpenVPN (локально и удаленно).
  • proto < proto > — какой протокол будет использоваться. Возможные значения: udp, tcp, tcp-client, tcp-server.
    • tcp-client — сам пытается установить соединение
    • tcp-server — только ждет подключений
    • Использование протокола udp VPN будет работать чуть быстрее, чем tcp. Но в плане стабильности работы лучше выбирать tcp (как показывает практика, VPN-соединение более устойчиво)
  • remote-random — если указана данная опция и в random перечисленно несколько удаленных хостов, то OpenVPN в случайном порядке будет к ним подключаться. Применяется для балансировки нагрузки.
  • float — позволяет удаленному хосту изменять IP во время работы туннеля. Соединение при этом не разрывается.
  • ipchange < cmd > — выполняет скрипт или команду указанную в < cmd >, если IP сменился. Пример: ipchange script-ip.sh
  • connect-retry < seconds > — пробует переподключиться через указанное время в секундах, если соединение было разорвано.
  • connect-retry-max < n > — максимальное количество повторов если соединение было разорвано
  • resolv-retry < seconds > — если OpenVPN не удалось узнать имя удаленного хоста по DNS, то через указанное количество секунд попытаться переподключиться.
  • lport < port > — указывает на локальный порт для использования OpenVPN
  • rport < port > — аналогично для удаленного порта. Пример: rport 8000 — OpenVPN будет пытаться подключится к удаленному порту 8000
  • nobind — использовать динамический порт для подключения (только для клиента)
  • shaper < bytes > — указывает скорость передачи данных в байтах для исходящего трафика (только для клиента)
  • tun-mtu < mtu size > — устанавливает максимальный размер MTU. По умолчанию tun-mtu равен 1500. Использование: tun-mtu 1200
  • dev-node < interface name > — устанавливает имя виртуального интерфейса. Например: dev-node openvpn1
  • ifconfig — устанавливает локальный IP и маску подсети для туннельного интерфейса. Например: ifconfig 10.3.0.1 255.255.255.0
  • server < network > < mask > — автоматически присваивает адреса всем клиентам (DHCP) в указанном диапазоне с маской сети. Данная опция заменяет ifconfig и может работать только с TLS-клиентами в режиме TUN, соответственно использование сертификатов обязательно. Например: server 10.3.0.0 255.255.255.0 . Подключившиеся клиенты получат адреса в диапазоне между 10.3.0.1 и 10.3.0.254.
  • server-bridge < gateway > < mask > < pool > — сервер в режиме моста для TAP устройств. Пример: server bridge 10.3.0.1 255.255.255.0 10.3.0.128 10.3.0.254 Клиентам будут выданы адреса в диапазоне 10.3.0.128 — 10.3.0.254, в качестве шлюза будет указан 10.3.0.1.
  • mode server — переключает OpenVPN в режим сервера (начиная с 2-й версии)
  • mode p2p — данная опция идет по умолчанию.

Опции в режиме сервера

  • push < options > — передача клиенту конфигурационных параметров. Пример: push «route 192.168.0.0 255.255.255.0». Аналогично с помощью push клиенту могут передаваться следующие параметры: route, route-gateway, route-delay, redirect-gateway, inactive, ping, ping-exit, ping-restart, persist-key, persist-tun, comp-lzo, dhcp-option, ip-win32.  Последние две опции применимы только для Window-клиентов. Например передадим Windows-клиенту адрес DNS-сервера 11.11.11.11: push «dhcp-option DNS 11.11.11.11»
  • ifconfig-pool-persist ipp.txt — в файле ipp.txt назначаем клиентам статические IP-адреса. В файле в каждой строке пишем «название_сертификата,айпи_адрес», например: «demyanovich,172.16.25.10»
  • comp-lzo — параметр сжатия трафика, идущего через виртуальный туннель. Может принимать значения yes, no, adaptive. Последнее используется по умолчанию.
    • comp-lzo yes — принудительно включить сжатие
    • comp-lzo no — принудительно отключить сжатие
    • comp-lzo adaptive — адаптивный режим.

Команды и параметры при работе с сертификатами x509 и параметрами шифрования

  • cipher < alg > — указываем алгоритм шифрования. Например: cipher AES-256-CBC. Рекомендуется использование шифров в режиме CBC (Cipher Block Chaining).
  • keysize < n > — размер ключа в битах. Например: keysize 128
  • auth < alg > — алгоритм хэширования. Пример: auth SHA1
  • df < file > — файл с ключем Диффи-Хелмана
  • ca < file > — файл сертификата для CA
  • cert < file > — сертификат локальной машины
  • key < file > — локальный ключ машины
  • tls-server — явно указывает, что данный хост является tls-server
  • tls-client — соответственно tls-client
  • pkcs12 < file > — указываем файл (PKCS12), который содержит в себе сертификат, ключ и CA в одном файле. Пример: pkcs12 /file
  • crl-verify < file > — список отозванных сертификатов, т.е. blacklist.
  • no-replay — отключает защиту OpenVPN от атаки повторного воспроизведения (replay attack). Крайне не рекомендуется отключать!
  • no-iv — отключает использование вектора инициализации шифра (IV). Крайне не рекомендуется отключать!
  • secret < file > — включает режим шифрования и аутентификации на статических ключах. В качестве параметра использует заранее сгенерированный, командой —genkey, файл. Например: secret key.txt
  • Все доступные алгоритмы шифрования можно просмотреть выполнив из командной строки: openvpn —show-ciphers
  • Алгоритмы хэширования: openvpn —show-digests
  • Показать все доступные TLS-шифры (TLS используется только для шифрования канала управления): openvpn —show-tls
  • Показать все доступные крипто-устройства в системе (если такие имеются): openvpn —show-engines

Команды для управления маршрутизацией

Обозначение: VPN-хост — удаленная сторона (удаленный хост)

  • route < network > — устанавливает указанную маршрутизацию на VPN-хосте, после успешного запуска туннеля. Пример: route 10.0.10.0 255.255.255.252
  • route-gateway < IP > — устанавливает шлюз на VPN-хосте. Пример: route-gateway 192.168.0.22. После успешного запуска виртуального туннеля клиенту будет задан шлюз 192.168.0.22
  • route-delay < seconds > — указывает подождать n-секунд перед установкой маршрутов. Пример: route-delay 5 — через 5 секунд после установки туннеля будут заданы маршруты.
  • route-up < cmd > — выполнить скрипт или программу < cmd > после установки маршрутов. Пример: route-up /script.sh
  • redirect-gateway — установить шлюзом по умолчанию удаленный сервер. Т.е. когда удаленный пользователь подключается к нашему серверу, то ему будет задан шлюз по умолчанию на наш сервер.

Команды для управления туннелем

  • ping < seconds > — указывает отсылать ping на удаленный конец тунеля после указанных n-секунд, если по туннелю не передавался никакой трафик. Пример:
    ping 10
  • ping-restart < seconds > — если за указанное время не было получено ни одного пакета с удаленной стороны, то перезапускать туннель. Пример: ping-restart 60 — если в течении 60 секунд не было получено ни одного пакета, то туннель будет перезапущен.
  • ping-timer-rem — позволяет перезапускать туннель, только когда указан удаленный адрес.
  • persist-tun — данная опция оставляет без изменения устройства tun/tap при перезапуске OpenVPN.
  • persist-key — указывает не перечитавать файлы ключей при перезапуске туннеля.
  • resolv-retry < seconds > — устанавливает время в секундах для запроса об удаленном имени хоста. Актуально только если используется DNS-имя удаленного хоста. Пример: resolv-retry 86400
  • inactive < seconds > — после n-секунд неактивности устройство TUN/TAP автоматически отключется. Пример: inactive 120
  • ping-exit < seconds > — если за указанные n-секунд не было получено ни одного пакета, то отключать OpenVPN. Пример: ping-exit 120
  • keepalive < seconds > < seconds > — является совмещением сразу двух команд — ping и ping-restart. Использует сразу два параметра в секундах, перечисленных через пробел. Пример: keepalive 10 180 — каждые 10 секунд посылать ping на удаленный хост, и, если за 180 секунд не было получено ни одного пакета — то перезапускать туннель.
  • persist-local-ip < IP > — оставлять неизменными локальный IP адрес и номер порт, если туннель был перезапущен.
  • persist-remote-ip < IP > — оставлять неизменными удаленный IP адрес и номер порт, если туннель был перезапущен. persist-remote-ip 192.168.50.1

Методы аутентификации

  • auth-user-pass-verify < script > < method > — указывается только на серверной стороне.
    • < script > — путь к скрипту, который будет производить авторизацию. Скрипт должен возвращать 0 если авторизация успешна, и соответственно, 1 если авторизация не успешна.
    • < method > — метод авторизации, может быть двух типов: via-env и via-file
  • auth-user-pass < file >- указывается на клиентской стороне. Параметр не обязателен, если он отсутствует то будет предложено ввести пару логин/пароль. должен содержать имя пользователя и пароль в двух строчках: username и password
  • client-cert-not-required — отключает авторизацию по сертификатам

Работа с прокси

OpenVPN без проблем может работать через http и socks прокси.

  • http-proxy < server port [auth] > — указываем адрес и порт прокси-сервера. http-proxy 192.168.0.12 8080
  • Если требуется авторизация на прокси-сервере: http-proxy < server port authfile > — где authfile — файл содержащий две строки (имя пользователя и пароль) или stdin (будет запрошено имя пользователя и пароль). Так же после authfile требуется указать метод авторизации. Можно оставить auto для автоматического выбора метода авторизации или указать явно через auth-method. auth-method может быть трех видов «none», «basic» или «ntlm».
  • http-proxy-retry — переподключаться, если соединение было разорвано.
  • http-proxy-timeout < seconds > — считать соединение с прокси-сервером разорванным после n-секунд неактивности. Например: http-proxy-timeout 5
  • socks-proxy < server port > — указываем сокс-прокси сервер. Пример: socks-proxy 192.168.0.12 8080
  • socks-proxy-retry — переподключаться, если соединение было разорвано.
  • auto-proxy — автоматически определять прокси-сервер.

Скриптинг

  • up < command >- выполнить команду после запуска устройства TUN/TAP. Пример: up script-up.sh
  • up-delay < seconds > — подождать n-секунд перед запуском команды указанной в up. Пример: up-delay 5
  • down < command > — выполнить команду когда интерфейс TUN/TAP выключится. Пример: down script-down.sh
  • down-pre — выполнить команду, указанную в down перед выключением интерфейса TUN/TAP
  • up-restart < command > — выполнить команду после каждого реконнекта
  • route-up < command > — выполнить команду после установки сетевых маршрутов. Пример: route-up script.sh
  • learn-address < command > — выполнить указанную команду, если ip удаленной стороны изменился.
  • ipchange < command > — выполнить команду, если ip сервера изменился.
  • client-connect < command > — выполнить команду, когда клиент подключился.
  • client-disconnect < command > — выполнить команду, когда клиент отключился.

Команды отладки и поиска неисправностей

  • verb < verbosity level > — устанавливает уровень информативности отладочных сообщений. Может принимать параметр от 0 до 11. По умолчанию verb равен 1.
    При уровне verb 5 и выше в логе будут встречаться подобные записи: RwrW. R (read), W (write) — соответственно чтение и запись. Большая буква обозначает, что пакет был считан (R) или записан (W) на виртуальном устройстве TUN/TAP, а маленькие — считан (r) и записан (w) в туннеле.
  • mute < number of messages > — если значение установлено в 10, то в лог будет записываться только по 10 сообщений из одной категории.
  • log < file > — указываем лог-файл. Если данный параметр не указан, то весь вывод openvpn будет производиться в stdout.
  • log-append < file > — дописывать сообщения в лог-файл, а не перезаписывать.
  • status < file > — указывает путь к статус-файлу, в котором содержится информация о текущих соединениях и информация о интерфейсах TUN/TAP.

Чем отличаются виртуальные устройства tun и tap?

  • TUN — туннель, соединение по которому указывается по типу: локальный IP < — > удаленный IP. Например, при явном указании ifconfig: —ifconfig 10.3.0.2 10.3.0.1. В этом примере 10.3.0.2 — локальный IP, 10.3.0.1 — удаленный IP
  • TAP — эмулирует виртуальную ethernet карточку, для которой требуется указывать локальный IP и маску подсети. Например: —ifconfig 10.3.0.2 255.255.255.0

Полезные ссылки:

Понравилось? =) Поделись с друзьями:

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

Ниже мы детально разберем все, что касается серверных настроек на Win Server2008 и Server2012, а также покажем, как сделать подключения юзеров к созданной сети.

OpenVPN – это представление открытой (от англ. «open» — «открыть») частной виртуальной сети (от англ. «Virtual Private Network»). Данная технология помогает создавать виртуальные подключения групп клиентов к расположенных на расстоянии машинам посредством передачи данных по открытому каналу, то есть интернету.

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

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

OpenVPN

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

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

OpenVPN

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

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

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

OpenVPN

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

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

Как сгенерировать ключи и выполнить их шифрование, алгоритм Diffie-Hellman

Для каждой пары ключей существуют свои собственные сертификаты, обеспечивающие безопасность передачи информации. Управлять ими можно специальным приложением Easy-rsa, которое запускается и работает в командной строке, аналогично консоли Линукс. Консоль открывается через нажатие клавиш Win + R и ввода в появившемся окне слова cmd.

Как работать с конфигурационным файлом

Загрузив соответствующий конфигурационный файл, нужно внести его вместо одноименного файла/скрипта, найти который можно в папке OpenVPNeasy-rsa. Директория располагается на диске C в Program Files. Или укажите тот путь, куда вы запланировали установку виртуальной частной сети.

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

countryName_default
stateOrProvinceName_default
localityName_default
0.organizationName_default
emailAddress_default

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

Как генерировать ключи в Центре Сертификации

1. Для начала следует переименовать два файла при помощи командной строки:

cd cd "C:Program FilesOpenVPNeasy-rsa" ren index.txt.start index.txt ren serial.start serial

2. Затем, чтобы создать новый ключ/сертификат, понадобится запуск скрипта:

.build-ca.bat

В окне будут возникать различные предложения, большинство из них можно подтверждать кнопкой Enter. А для поля KEY_CN (Common Name) следует ввести оригинальное название и его же продублировать для поля name.

3. Так же генерируются сертификаты серверу. В этой строке вместе server нужно ввести оригинальное имя:

.build-key-server.bat server

4. Система начнет спрашивать, следует ли подписывать сертификаты для создаваемых ключей от имени Центра сертификации? Введите «да» — y (yes).

OpenVPN

Как генерировать клиентский ключ и сертификат

Всем юзерам виртуальной сети понадобится генерировать свои индивидуальные SSL-сертификаты.

Можно воспользоваться специальной опцией, которая позволяет присваивать 1 сертификат сразу нескольким пользователям. Она называется «dublicate-cn» и размещается в файле server.ovpn. Однако такой ход небезопасен.

Рассмотрим, как сгенерировать сертификат клиенту client2:

cd cd "C:Program FilesOpenVPNeasy-rsa" .build-key.bat client2

Внимание: под переменной client2 подразумевается вносимое название файла. Далее следует ввести client2 в запрос строчки Common Name.

Работа с алгоритмом Диффи-Хеллмана

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

.build-dh.bat

OpenVPN

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

Все созданные данные располагаются в подпапке easy-rsakeys. Следующие наименования файлов следует перенести в другую подпапку — config, которая располагается в том же месте:

• dh3048.pem/dh2048.pem

• server.key

• ca.crt

• server.crt

Настройка конфигурации на сервере

Запустите редактор реестра и отыщите в нем:

HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesTcpipParameters.

Справа вы увидите IPEnableRouter. Кликните по переменной два раза – откроется новое окошко для изменения параметров. В поле «Значение» поставьте единицу:

OpenVPN

OpenVPN

1. Настраивать сервер мы будем через конфигурационный файл server.ovpn. Перед работой его следует переместить в папку config.

Открыв его, необходимо проверить правильность построение маршрутов к перенесенным сертификатам:

port 1194
proto udp
dev tun
server 10.8.0.0 255.255.255.0
ca "C:Program FilesOpenVPNconfigca.crt"
cert "C:Program FilesOpenVPNconfigserver.crt"
key "C:Program FilesOpenVPNconfigserver.key"
dh "C:Program FilesOpenVPNconfigdh3048.pem"
push "redirect-gateway def1"
push "dhcp-option DNS 8.8.8.8"
keepalive 10 120
comp-lzo
persist-key
persist-tun
verb 3

Если нужно, то меняем пути на правильные и пересохраняем.

2. Чтобы успешно пересылать трафик от одного адаптера к другому, нужно зайти в раздел сети и интернета, который находится в панели управления ПК. В нем найти центр сетевого управления и кликнуть по предложению изменить параметры интернет адаптера.

Из нескольких предложенных вариантов надо взять тот, что отвечает за внешние подключения, то есть не TAP-тип, так как он работает с VPN-соединениями.

OpenVPN

В свойствах зайдите на вкладку доступа и поставьте галочки на обоих пунктах:

OpenVPN

3. Следующим шагом включается айпи-переадресация.

Зайдите в стандартный поиск ОС си введите следующее имя приложения:

OpenVPN

Настройка автозапуска

Чтобы служба стартовала при включении компьютера, нужно зайти в базовую папку «Службы», в открывшемся окне среди прочих программ найти OpenVPN, кликнуть по нему правой кнопкой, а в свойствах в значениях запуска выставить режим «Автоматически».

Стандартные настройки окончены. Чтобы запустить сервер и его новые настройки, надо еще раз войти в файл server.ovpn и написать в него следующую строчку:

Start OpenVPN on this config

Настройки клиентской конфигурации

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

Далее мы расскажем, как подключить клиентов на ОС Виндовс, применяя те же дистрибутивы, которые до этого инсталлировались на сервере. В случае с другими операционными системами методы и шаги будут примерно такими же.

1. Для начала на ПК клиента ставится актуальная версия (желательно последняя) OpenVPN.

2. Конфигурационные файлы клиента client.ovpn вместе с сертификатами *.crt и ключами *.key, которые перед этим мы сгеренировали, необходимо поместить в подпапку config, хранящуюся в разделе OpenVPN. При этом желательно файл клиента удалить с директории сервера, чтобы не запутаться при будущих настройках.

3. При открытии client.ovpn необходимо отыскать строчку remote my-server-1 1194. Задайте ей айпи и домен работающего сервера:

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 FilesOpenVPNconfigca.crt"
cert "C:Program FilesOpenVPNconfigclient2.crt"
key "C:Program FilesOpenVPNconfigclient2.key"
# This file should be kept secret

5. После сохранения базовые настройки будут окончены.

Как проверить правила брендмауэра

Чтобы функционирование виртуальной частной сети проходило корректно, на стороне сервера необходимо открыть соответствующий порт. Стандартно его имя UDP 1194.

Зайдите в установленный системный Firewall и посмотрите, разрешен ли доступ к порту антивирусным программным обеспечением и брендмауэром.

Как проверить OpenVPN-подключение

После запуска сервера потребуется зайти в папку config. В ней нужно отыскать конфигурационный server.ovpn файл. Кликнуть по нему правой кнопкой, вызвать контекстное меню и внести новую строчку:

Start OpenVPN on this config file

Те же действия необходимо проделать для клиента. Только в этот раз открывается client.ovpn. Остальные действия аналогичны.

Следом должно показаться окно, где отобразится статус соединения. Окно самостоятельно свернется в трею, там же загорится ярлык компьютера с зеленым индикатором (это будет свидетельствовать об успешно проведенной настройке).

Чтобы проверить, доступен ли сервер с компьютера клиента, проведем следующие действия:

1. Запустим командную строку комбинацией клавиш Win + R и введением команды cmd.

2. Осуществим пинг к выбранному серверу (10.8.0.1). Для этого введем:

ping 10.8.0.1

3. Если настройка прошла отлично, в окне строки покажется передача пакетов ПК клиента к серверу:

OpenVPN

4. Специальная утилита Tracert покажет маршрут, по которому происходит передача клиентских пакетов. Для этого в консоль вводится команда:

tracert ya.ru

Как показывает результат, клиентский пакет отправляется к виртуальному серверу, после чего перенаправляется к внешней сети:

OpenVPN

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

Leave a comment