Настройка OpenVPN сервер-клиент с нуля для новичков

Публикация № 1166495

Администрирование - Администрирование СУБД

Настройка VPN OpenVPN Windows server

Простая настройка OpenVPN сервера для новичков, быстрое решение для запуска VPN сервера.

Настройка OpenVPN с нуля сервер-клиент для новичков.

Данная статья о том как настроить OpenVPN сервер на Windows Server 2008R2 и сконфигурировать OpenVPN клиента. А также, как организовать с его помощью каналы между удалёнными офисами. Бывает, что необходимо построить связь между удалёнными компьютерами без лишних затрат на оборудование и ПО. В этом поможет такая бесплатная и известная программа, как OpenVPN - свободная реализация технологии виртуальной частной сети (VPN).

Программное обеспечение бесплатно можно скачать с официального сайт OpenVPN: https://openvpn.net/community-downloads/

Настройка OpenVPN Серверная часть:

В данной статье рассмотрена актуальная на данный момент версия OpenVPN 2.4.8-i602

Установка OpenVPN на сервере, настройка происходит на сервере Windows Server 2008R2:

 

Для установки сервера важно установить галочку EasyRSA 2 Certificate Manager Scripts

 

 

 

 

 

 

Во время установки в систему устанавливается виртуальный сетевой адаптер TAP-Windows Adapter V9 – ему и будет выдаваться ваш IP-адрес и маска вашей виртуальной сети.

 

ВАЖНО! Возможные проблемы с адаптер TAP-Windows Adapter V9:

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

 

 

 

Либо если драйвер адаптера в устройствах установился не корректно

 

  

 

В таком случае надо отключить установку драйверов без цифровой подписи.Как это сделать:

Способ №1.   Командная строка

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

bcdedit.exe -set loadoptions DISABLE_INTEGRITY_CHECKS
bcdedit.exe -set TESTSIGNING ON

Если данные команды не помогли, и ошибка 52 продолжает наблюдаться, тогда вновь запустите командную строку, и там наберите:

bcdedit.exe /deletevalue loadoptions

bcdedit.exe -set TESTSIGNING OFF

Перезагрузите ПК.

Способ №2. Отключите проверку цифровых подписей (для Windows 8, 10)

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

  • На главном экране нажмите на кнопку «Пуск», там кликните на кнопку «Выключение» (Power), зажмите клавишу «Shift», а затем кликните на «Перезагрузка» (клавишу «Shift» не отжимайте);

Выберите «Перезагрузка»

Не отжимайте указанную клавишу пока ПК не перезагрузится, и вы не увидите опции меню восстановления (Advanced Recovery Options). В нём выберите «Диагностика», далее «Дополнительные параметры», затем «Параметры загрузки», и здесь кликаем на «Перезагрузить». В открывшемся перечне опций необходимо выбрать опцию "Отключить обязательную проверку подписи драйверов".

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

Способ №3. Временно отключите проверку цифровой подписи драйверов

Эффективным способом избавиться от ошибки 52 является выбор опции отключения проверки подписи драйверов при загрузке ОС. Для этого в начале загрузки ПК быстро жмите на F8, и после того, как появится меню дополнительных параметров загрузки, выберите опцию "Отключение обязательной проверки подписи драйверов". Загрузите систему в данном режиме, и проблема с ошибкой 52 временно исчезнет..

Способ №4. Задействуйте административные шаблоны

Нажмите на Win+R, там наберите gpedit.msc. Перейдите по пути «Конфигурация пользователя», затем «Административные шаблоны», далее «Система» — «Установка драйвера»Справа выбираем опцию «Цифровая подпись драйверов устройств».

Выберите указанную опцию

Выберите указанную опцию

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

Способ №4. Использование утилиты "Driver Signature Enforcement Overrider"

1. Входим в Windows под «администратором»
2. Отключаем контроль учетных записей и перезагружаем ПК.
3. После перезагрузки открываем командную строку от администратора.
4. В окне командной строки выполняем следующую команду:bcdedit /set loadoptions DDISABLE_INTEGRITY_CHECKS , где DDISABLE — это не опечатка!
5. Запускаем утилиту DSEO (От имени Администратора). Запускать её можно из любой директории, любого диска
После запуска как обычно «принимаем лицензионное соглашение» — yes, а затем выбираем опцию «Enable Test Mode» (включить тестовый режим) и жмем «Next»:
Программа предупредит о том, что загружать «самоподписанные» драйверы можно только в «Test Mode», но чтобы он вступил в силу необходимо перезагрузиться снова:
Чтобы выйти из программы необходимо выбрать опцию «Exit» (выход) и нажать «Next».
Перезагружаемся.

Устанавливаем драйвера в обычном режиме проблемы не будет.

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

Запускаем командную строку от имени администратора, нажимаем пуск вводим «командная строка» правой кнопкой мыши «запустить от имени администратора»

ВАЖНО! Далее все команды будут вводиться поочерёдно без закрытия командной строки.

1. Переходим в папку с установленной программой OpenVPN, если стандартный путь не изменялся, то он должен быть («C:\Program Files\OpenVPN\easy-rsa\»)

Вводим команду в командную строку:

cd C:\Program Files\OpenVPN\easy-rsa

2. Далее выполняем  команду

init-config.batэта команда создает файл vars.bat.

По умолчанию после установки файл vars.bat.sample (образец, шаблон) уже есть в папке его можно сделать в ручную скопировав и убрав расширение «.sample», либо сразу командой “copy vars.bat.sample vars.bat

 

 

После этого необходимо отредактировать файл Vars.bat своими данным, но этого можно и не делать на данном этапе т. к. в дальнейшем при формировании сертификатов их можно будет отредактировать либо задать по новой, да и на работе VPN сервера это не как не отразится они служат в основном для информативности.

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

В каталоге “C:\Programm Files\OpenVPN\easy-rsa”, есть конфигурационный файл “openssl-1.0.0.cnf”, открываем его с помощью notepad и изменяем настройку, отвечающую за срок жизни сертификатов, по умолчанию 365 дней, продлим срок жизни до 3650 дней.

 

3. Далее выполняем команду

Vars команда заносит переменные из отредактированного файла (vars.bat) в память

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

Clean-all - очищаем каталог “C:\Program Files\OpenVPN\easy-rsa\keys” c последующим созданием файла“index.txt” (база клиентов, она же database) и “serial” (ключ))

В итоге окон должно иметь такой вид:

 

Далее переходим к генерации ключей:

dh1024.pem — ключ Диффи Хельмана позволяющий двум и более сторонам получить общий секретный ключ

ca.crt — Собственный доверенный сертификат (Certificate Authority — далее CA) для подписи клиентских сертификатов и для их проверки при авторизации клиента.

servervpn.crt, servervpn.cst, servervpn.key  — сертификат сервера и ключ сервера

clientvpn.crt, clientvpn.cst, clientvpn.key – сертификаты и ключи клиента

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

  1. dh1024.pem - ключ Диффи Хельмана

Выполняем команду: build-dh

ВАЖНО!!! Если при выполнении команды у вас вышла ошибка:

            То необходимо выполнить следующие действия для решение проблемы:

После того как добавили переменную PATH, командную строку надо перезапустить и выполнить все предыдущие команды повторно по порядку:

  1. cd C:\Program Files\OpenVPN\easy-rsa

  2. init-config.bat (copy vars.bat.sample vars.bat)

  3. Vars

  4. Clean-all

  5. И повторно команду build-dh команда должна выполниться без ошибок

В результате будет создан файл “dh2048.pem” в папке Keys

  1. ca.crt — Собственный доверенный сертификат

Выполняем команду: build-ca

после этого будут заданы вопросы по редактированию ранее заданных данных в файле (vars.bat)

Можно их пропустить нажав “Enter”, если вы указали их ранее, либо заполнить щас, после чего в папке будет создан сертификат:

  1. Формирование серверных ключей  (servervpn.crt, servervpn.cst, servervpn.key):

выполняем команду: build-key-server ServerVPN

ServerVPN имя нашего сервер (любое наименование может быть не имя компьютера)

Так же будет список вопросов при создании сертификата их можно пропустить “Enter” либо указать данные.

В конце будут заданы 2 вопроса, на них надо ответить «Да»:

1. Sign the sertificate? [y/n] (Подписать сертификат?)

2. 1 out of 1 certificate requests certificated, commit? (1 из 1 запроса сертификата сертифицирован, зафиксировать?)

  1. Формирование клиентских ключей (clientvpn.crt, clientvpn.cst, clientvpn.key)

выполняем команду: build-key ClientVPN

ClientVPN имя нашего клиента (может быть задано любое для удобства идентификации клиентов)

Важно при создании ключа указать имя клиента в поле «Common Name»

 

В конце будут заданы 2 вопроса, на них надо ответить «Да»:

 

ВАЖНО! Для каждого клиента создается новый сертификат только с другим наименованием.

 

  1. ta.key — дополнительный ключ для tls-аутентификации.

выполняем команду: openvpn --genkey --secret keys/ta.key

будет создан файл ta.key

На этом создание ключей закончено.

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

Переходим в папку с установленной программ OpenVpN (C:\Program Files\OpenVPN)  в папку “config” и в ней создаем текстовый документ сохраняем его и называем и расширением «Server.ovpn»

Содержание и описание конфигурационного файла сервера:

# - символ комментария, поэтому содержимое можно скопировать с комментарием чтобы не забыть описание настроек

dev-node "ConnectServerVPN"  # Имя сетевого адаптера нашего VPN сервере параметр необязательный

mode server # Режим работы сервера

port 12345   # Порт нашего VPN сервера (на него в случае необходимости надо будет делать проброс порта на роутере)       

proto tcp4-server # Протокол передачи данных

dev tun # режим тунеллирования

tls-server # криптографический протокол передачи данных

tls-auth "C:\\Program Files\\OpenVPN\\easy-rsa\\keys\\ta.key" 0  # путь к ключу ta.key (важно указать в конце строки для сервера 0 для клиента 1), важно помнить что путь указывается через \\ (2 слэша)

tun-mtu 1500

tun-mtu-extra 32

mssfix 1450 # размер пакета

# пути к сертификатам

ca "C:\\Program Files\\OpenVPN\\easy-rsa\\keys\\ca.crt"

cert "C:\\Program Files\\OpenVPN\\easy-rsa\\keys\\ServerVPN.crt"

key "C:\\Program Files\\OpenVPN\\easy-rsa\\keys\\ServerVPN.key"

dh "C:\\Program Files\\OpenVPN\\easy-rsa\\keys\\dh2048.pem"

server 10.10.10.0 255.255.255.0 # адрес сервера, тот диапазон адресов который будет выделен для VPN сети (может быть задан другой)

client-to-client # Видимость клиентам друг друга

keepalive 10 120  # время жизни не активной сессии

cipher AES-128-CBC # выбор криптографисекого шифра

comp-lzo  # настройка сжатия данных в туннеле

# При кратковременном разрыве соединения данные ключей не будут перечитаны

persist-key

persist-tun

client-config-dir "C:\\Program Files\\OpenVPN\\config" # пусть к конфигурационному файлу клиента на сервере VPN

verb 3 # уровоень режима отладки

route-delay 5 # время создание и применения маршрута в секундах

route-method exe # метод внесения данных о маршрутах

push "route 192.168.1.0 255.255.255.0"

#route 192.168.1.0 255.255.255.0

Пробуем запустит сервер, запускаем ярлык на рабочем столе, в трее на значке OpenVPN правой кнопкой «Подключиться»

 

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

Лог файл находится в папке пользователя (C:\Users\Пользователь\OpenVPN\log)

Содержание и описание конфигурационного файла клиента:

Переходим в папку с установленной программ OpenVpN (C:\Program Files\OpenVPN)  в папку “config” и в ней создаем текстовый документ сохраняем его и называем без расширения «ClientVPN» - ВАЖНО назвать также как как клиента

ifconfig-push 10.10.10.9 10.10.10.10  # IP клиента который будет ему присвоен

iroute 192.168.1.0 255.255.255.0 # Сообщаем серверу что за клиентом есть своя сеть.

# disable # (возможность отключить текущего клиента не затронув работу других участников сети)

ВАЖНО! При задании настроек ifconfig-push:

Выбранные пары IP-адресов, во-первых, должны быть уникальными, во-вторых, должны входить в состав последовательных подсетей, ограниченных маской /30 (255.255.255.252), и, в-третьих, должны находиться в пределах пула IP-адресов, выделенного для виртуальной частной сети (определяется параметром server файла конфигурации сервера OpenVPN). С учетом перечисленных условий для клиентов и сервера подойдут пары IP-адресов со следующими парами последних октетов:

[  1,  2]   [  5,  6]   [  9, 10]   [ 13, 14]   [ 17, 18]   [ 21, 22]   [ 25, 26]   [ 29, 30]   [ 33, 34]   [ 37, 38]

[ 41, 42]   [ 45, 46]   [ 49, 50]   [ 53, 54]   [ 57, 58]   [ 61, 62]   [ 65, 66]   [ 69, 70]   [ 73, 74]   [ 77, 78]

[ 81, 82]   [ 85, 86]   [ 89, 90]   [ 93, 94]   [ 97, 98]   [101,102]   [105,106]   [109,110]   [113,114]   [117,118]

[121,122]   [125,126]   [129,130]   [133,134]   [137,138]   [141,142]   [145,146]   [149,150]   [153,154]   [157,158]

[161,162]   [165,166]   [169,170]   [173,174]   [177,178]   [181,182]   [185,186]   [189,190]   [193,194]   [197,198]

[201,202]   [205,206]   [209,210]   [213,214]   [217,218]   [221,222]   [225,226]   [229,230]   [233,234]   [237,238]

[241,242]   [245,246]   [249,250]   [253,254]

Проще говоря к 1 и 2 прибавляем 4 разряда и получаем следующий адрес 5-6, 9-10 и т. д., задав диапазон 3-4 работать не будет.

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

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

После установки с сервера с папки (C:\Program Files\OpenVPN\easy-rsa\keys) на компьютер клиента копируем следующие файлы:

  1. ca.crt

  2. ClientVPN.crt

  3. ClientVPN.csr

  4. ClientVPN.key

  5. ta.key

И переносим их на клиентский компьютер в папку (C:\Program Files\OpenVPN\config):

В этой же папке создаем файл «Client.ovpn»

Конфигурационный файл клиента:

remote 888.888.888.888 # Адрес компьютера сервера в которому будем подлючается

client

port 12345 # порт

proto tcp4-client # протокол шифрование по которому работает OpenVPN

dev tun

tls-client

tls-auth "C:\\Program Files\\OpenVPN\\config\\ta.key" 1 0  # путь к ключу ta.key (важно указать в конце строки для сервера 0 для клиента 1), важно помнить что путь указывается через \\ (2 слэша)

remote-cert-tls server

tun-mtu 1500

tun-mtu-extra 32

mssfix 1450

# пути к сертификатам

ca "C:\\Program Files\\OpenVPN\\config\\ca.crt"

cert "C:\\Program Files\\OpenVPN\\config\\ClientVPN.crt"

key "C:\\Program Files\\OpenVPN\\config\\ClientVPN.key"

 

cipher AES-128-CBC  # выбор криптографисекого шифра

comp-lzo

persist-key

persist-tun

verb 3

mute 20

 

Дальше вы сможете попасть в сеть на сервере либо же по RDP на адрес сервера в нашем случае это был (10.10.10.1)

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

Автоматический запуск OpenVPN канала под Windows

Настроить автоматическое поднятие OpenVPN канала на Windows. На примере Windows Server 2008 R2, аналогично делается и на любой другой версии Windows.

Достаточно настроить службу OpenVPN Service, которая по умолчанию отключена, на автозапуск. Для этого переходим в "Управление компьютером" -> "Службы" и находим там "OpenVPN Service". В свойствах службы следует выставить "Тип запуска" -> "Автоматически".

После перезагрузки или потере связи, служба OpenVPN будет автоматически переподключаться к VPN серверу.

Если вы не нашли службы OpenVPN Service в списке, то скорее всего вы просто не указали её при установке OpenVPN. Доустановите службу или просто переустановите OpenVPN с нужными опциями (теперь можно снять галочку и с установки OpenVPN GUI за ненадобностью).

 

 

Скачать файлы

Наименование Файл Версия Размер
Настройка OpenVPN с нуля сервер-клиент для новичков.:
.rar 2,65Mb
11.12.19
1
.rar 2,65Mb 1 Скачать

Специальные предложения

Автор запретил комментарии

См. также

Онлайн-курс «Практические аспекты внедрения регламентированного учета и расчета себестоимости в 1С:ERP на крупных промышленных предприятиях» с 17 февраля по 13 марта 2020 года. Промо

Курс рассчитан для подготовки экспертов по регламентированному учету и учету затрат для внедрения на крупных промышленных предприятиях с «исторически сложившимся» учетом

9000 рублей

SQL-Мониторинг в консоли PowerShell. {Онлайн}

Инструменты и обработки Системный администратор Компонента, плагин (dll, vbs,..) Абонемент ($m) Администрирование СУБД

Скрипт PowerShell, который поможет увидеть/наблюдать происходящее на серверах СУБД (для MSSQL).

1 стартмани

30.12.2019    5778    6    ddens    10       

PostgreSQL для 1С в контейнере

Статья Системный администратор Архив с данными Linux Абонемент ($m) Администрирование СУБД

Опыт использования свободного программного обеспечения для работы в 1С в клиент-серверном режиме. Установка и настройка системы виртуализации Proxmox Virtual Environment (Proxmox VE) для использования системы управления базами данных PostgreSQL для 1С.

1 стартмани

29.12.2019    2044    2    iic    48       

INFOSTART MEETUP Krasnodar. 14 февраля 2020 г. Промо

Краснодар станет первым в 2020 году местом, где пройдет региональная встреча IT-специалистов сообщества Инфостарт. Тема мероприятия - управление и технологии автоматизации учета на платформе "1С: Предприятие". Стоимость участия - 5000 рублей. Цена действительна до 26.12.2019.

Проверка SQL базы данных 1С 8.1, 8.2, 8.3

Инструменты и обработки Системный администратор Программист Внешняя обработка (ert,epf) v8 1cv8.cf MS SQL Абонемент ($m) Администрирование СУБД

Обработка предназначена для проверки SQL базы данных 1С. Используется только для клиент-серверной версии 1С, у которой база данных хранится под управлением MS SQL Server. Конфигурация 1С значения не имеет.

2 стартмани

25.12.2019    3660    33    dgonson    19       

На время отключаем контроль остатков и проверку документов

Статья Системный администратор Программист Расширение (cfe) v8 ERP2 УТ11 КА2 Абонемент ($m) Администрирование СУБД

На время сеанса отключаем контроль остатков и проверку документов в ERP, КА, УТ типовыми средствами и простым расширением.

1 стартмани

24.12.2019    2950    3    sapervodichka    2       

Базовый курс по управлению ИТ-проектами. Курс проходит с 26 февраля по 22 апреля 2020 года. Промо

Отличительная черта курса - органичное сочетание трех вещей: 1.Теория проектного управления (PMI®+Agile Alliance+Российские ГОСТ+Методологии от 1С); 2. Опыт внедрения продуктов 1С (опыт франчайзи и успешных компаний + тренды Infostart Event и Agile Days); 3. Разбор реальных проблем и рекомендации экспертов по проектам слушателей. Мы будем фиксироваться на тех инструментах, которые реально оказываются полезными в практике руководителей проектов внедрения. Ведущая курса - Мария Темчина.

от 11000 рублей

Тест серверного оборудования на допустимое количество пользователей: как это использовать?

Статья Системный администратор Программист Архив с данными v8 1cv8.cf Абонемент ($m) Администрирование СУБД Нагрузочное тестирование Сервера

Выполнил 3 разных теста для проверки серверного оборудования (тест 1С, тесты gilev) на возможное число 1С онлайн-пользователей одновременно работающих на нем и интерпретировал результаты тестов через легких, средних и тяжелых пользователей с помощью таблицы с профилями реальных пользователей.

3 стартмани

17.12.2019    6024    7    sapervodichka    3       

Сдача регламентированной отчетности из программ 1С Промо

Сдача регламентированной отчетности из программ "1С" во все контролирующие органы без выгрузок и загрузок в другие программы. Для групп компаний действуют специальные предложения.

от 1500 руб.

Очистка кэша нескольких баз прямо из 1С

Инструменты и обработки Системный администратор Программист Внешняя обработка (ert,epf) v8 1cv8.cf Россия Абонемент ($m) Администрирование СУБД

Обработка предназначена для очистка кэша нескольких баз непосредственно из 1С (только в обычном режиме).

1 стартмани

04.12.2019    1681    15    r.moschenskiy    2       

Работа с базами данных 1С в SQL Server Management Studio (Расширение для SSMS)

Инструменты и обработки Системный администратор Программист Архив с данными v8 Windows Абонемент ($m) Администрирование СУБД Производительность и оптимизация (HighLoad) Администрирование данных 1С Структура метаданных

Расширение позволяет просматривать связи объектов метаданных и таблиц БД, сгруппированные данные (по группам метаданных) об используемом дисковом пространстве и выполнять трансляцию SQL текста запроса в термины 1С. И бонусом - при наведении курсора мыши на таблицу или поле показывает назначение объекта в терминах 1С.

10 стартмани

27.11.2019    6167    29    akpaevj    42       

PgConf.Russia 2020. 3-5 февраля 2020 г. Москва. Промо

PGConf.Russia – международная техническая конференция по открытой СУБД PostgreSQL, ежегодно собирающая более 700 разработчиков, администраторов баз данных и IT-менеджеров для обмена опытом и профессионального общения. Для участников сообщества infostart.ru скидка 5% на участие в конференции.

от 12350 рублей

CF & SQL : конструктор прямых запросов к БД 1С

Инструменты и обработки Системный администратор Программист Архив с данными v8 1cv8.cf Россия MS SQL Абонемент ($m) Инструментарий разработчика Администрирование СУБД

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

1 стартмани

02.10.2019    8384    135    dmitrydemenew    35       

Подборка решений для взаимодействия со ФГИС «Меркурий» Промо

С 1 июля 2019 года все компании, участвующие в обороте товаров животного происхождения, должны перейти на электронную ветеринарную сертификацию (ЭВС) через ФГИС «Меркурий». Инфостарт предлагает подборку программ, связанных с этим изменением.

Закрытие незавершенных сеансов

Инструменты и обработки Системный администратор Внешняя обработка (ert,epf) v8 1cv8.cf Россия Абонемент ($m) Сервисные утилиты Администрирование СУБД

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

1 стартмани

20.09.2019    5565    25    AnatolPopov    8       

Централизованное управление списком доступных баз 1С у пользователей

Инструменты и обработки Системный администратор Архив с данными v8 1cv8.cf Россия Windows Абонемент ($m) Стартеры 1С Сервисные утилиты Администрирование СУБД

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

5 стартмани

05.12.2018    8054    8    RomikR    9       

Готовые переносы данных из различных конфигураций 1C Промо

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