Консультация Oblako.kz

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

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

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

Содержание:

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

OpenVPN

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

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

OpenVPN

Инсталляция

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

OpenVPN Setup

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

Итак, далее система запросит добавление 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 Files\OpenVPN\easy-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 Files\OpenVPN\easy-rsa"
.\build-key.bat client1

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

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

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

.\build-dh.bat

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

OpenVPN

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

Готовые данные расположены по такому пути C:\Program Files\OpenVPN\easy-rsa\keys. Выберите документы:

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

Перенесите их по пути C:\Program Files\OpenVPN\config.

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

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

Редактор реестра

Изменение параметра DWORD

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

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

    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
  2. Войдите в инструмент управления системой, выберите пункт «Сеть и интернет», затем перейдите к управлению подключениями и щелкните на «Изменение параметров адаптера». Для разрешения передачи данных между адаптерами, необходимо выбрать тот, который отвечает за внешнее соединение.

    Ethernet

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

    Доступ

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

    REGEDIT.exe

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

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

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

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

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

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

  1. Установите последнюю версию приложения.
  2. Скопируйте файлы сгенерированных ранее сертификатов в директорию C:\Program Files\OpenVPN\config. Файл с названием 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 Files\OpenVPN\config.

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

Иконка

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

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

    Вывод

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

    Трассировка маршрута

На этом настройка OpenVPN сервера на Windows Server 2008/2012 окончена. В нашей базе знаний вы найдёте ещё множество статей посвящённых различным аспектам работы в Windows, а если вы ищете надежный виртуальный сервер под управлением Windows, обратите внимания на нашу услугу — Аренда виртуального сервера Windows.


Последнее обновление: 21.04.2022