Настраиваем серверную и клиентскую часть OpenVPN на Windows

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

OpenVPN позволяет настроить VPN-сервер как на платформе Windows Server, так и версии для рабочего компьютера (Windows 10, 8, 7).

Установка OpenVPN Server

Переходим на официальный сайт OpenVPN и скачиваем последнюю версию программы для соответствующей версии Windows:

Запускаем скачанный файл — нажимаем NextI Agree — и выставляем галочку EasyRSA 2 Certificate Management Scripts (нужен для возможности сгенерировать сертификаты):

. снова Next и Install — начнется установка. В процессе мастер может выдать запрос на подтверждение установки виртуального сетевого адаптера — соглашаемся (Install/Установить).

После завершения нажимаем Next — снимаем галочку Show ReadmeFinish.

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

Переходим в папку установки OpenVPN (по умолчанию, C:Program FilesOpenVPN) и создаем каталог ssl.

После переходим в папку C:Program FilesOpenVPNeasy-rsa, создаем файл vars.bat, открываем его на редактирование и приводим к следующему виду:

set «PATH=%PATH%;%ProgramFiles%OpenVPNbin»
set HOME=%ProgramFiles%OpenVPNeasy-rsa
set KEY_CONFIG=openssl-1.0.0.cnf
set KEY_DIR=keys
set KEY_SIZE=2048
set KEY_COUNTRY=RU
set KEY_PROVINCE=Sankt-Petersburg
set KEY_CITY=Sankt-Petersburg
set KEY_ORG=Organization
set KEY_EMAIL=master@dmosk.ru
set KEY_CN=DMOSK
set KEY_OU=DMOSK
set KEY_NAME=server.domain.ru
set PKCS11_MODULE_PATH=DMOSK
set PKCS11_PIN=12345678

* в каталоге easy-rsa уже есть файл vars.bat.sample — можно переименовать и использовать его.
** значение HOME не меняем, если оставили путь установки программы по умолчанию; KEY_DIR — каталог, куда будут генерироваться сертификаты; KEY_CONFIG может быть разным — его лучше посмотреть в файле vars.bat.sample или по названию соответствующего файла в папке easy-rsa; KEY_NAME желательно, чтобы соответствовал полному имени VPN-сервера; остальные опции можно заполнить произвольно.

Запускаем командную строку от имени администратора:

Переходим в каталог easy-rsa:

Чистим каталоги от устаревшей информации:

Снова запускаем vars.bat (после clean переопределяются некоторые переменные):

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

На все запросы нажимаем Enter.

Запускаем build-dh.bat (сертификат с использованием алгоритма Диффи-Хеллмана):

openssl dhparam -out keysdh.pem 2048

* команда может выполняться долго — это нормально.

Генерируем сертификат для сервера:

* где cert — имя сертификата; на все запросы нажимаем Enter. В конце подтверждаем два раза корректность информации вводом y.

После переносим из папки C:Program FilesOpenVPNeasy-rsakeys в C:Program FilesOpenVPNssl следующие файлы:

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

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

port 443
proto udp
dev tun
dev-node «VPN Server»
dh «C:\Program Files\OpenVPN\ssl\dh.pem»
ca «C:\Program Files\OpenVPN\ssl\ca.crt»
cert «C:\Program Files\OpenVPN\ssl\cert.crt»
key «C:\Program Files\OpenVPN\ssl\cert.key»
server 172.16.10.0 255.255.255.0
max-clients 32
keepalive 10 120
client-to-client
comp-lzo
persist-key
persist-tun
cipher DES-CBC
status «C:\Program Files\OpenVPN\log\status.log»
log «C:\Program Files\OpenVPN\log\openvpn.log»
verb 4
mute 20

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

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

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

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

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

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

На сервере:

На сервере генерируем сертификат для клиента. Для этого сначала чистим файл index.txt в папке C:Program FilesOpenVPNeasy-rsakeys.

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

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

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

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

Содержание:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Параметры Diffie Hellman

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    Настройка OpenVPN. Подключение к бесплатным серверам VPN Gate

    Настройка OpenVPN для Windows

    Данная инструкция демонстрирует, как подключиться к серверу ретрансляции VPN Gate, используя клиент OpenVPN в системах Windows XP, 7, 8, 10, Server 2003, 2008, 2012.

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

    2. Скачайте и загрузите файл конфигурации подключения OpenVPN (файл. ovpn). Данная процедура требуется только при первичной настройке подключения.

    Файл конфигурации формата *.ovpn понадобиться для подключения к серверу ретрансляции VPN Gate через протокол OpenVPN.

    Загрузить файл конфигурации (OpenVPN Config file) можно на странице списка открытых бесплатных серверов ретрансляции http://www.vpngate.net/en/. Выберите VPN-сервер, к которому вы хотите подключиться и нажмите на соответствующий файл *.ovpn, чтобы скачать его на рабочий стол или папку загрузки.

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

    Нужно переместить файл *.ovpn в папку “config” основной директории установки OpenVPN.

    Откройте папку C:Program FilesOpenVPNconfig и скопируйте файл *.ovpn в нее.

    3. Подключение к VPN

    Кликните правой кнопкой мыши по иконке “OpenVPN GUI” на рабочем столе и выберите опция “Запустить от имени администратора”. В противном случае, установить VPN подключение не удастся.

    Иконка OpenVPN GUI появится в области уведомления панели задач (системном трее). В некоторых случаях иконка может быть скрытой, нажмите по значку стрелки, чтобы показать все скрытые иконки.

    Щелкните правой кнопкой мыши по иконке OpenVPN GUI и нажмите “Подключить”.

    Запуститься VPN подключение. Статус подключения будет отображаться на экране. Если вы увидите диалоговое окно запроса имени пользователя и пароля. Введите “vpn” в оба поля. Данное окно появляется очень редко.

    Если VPN подключение успешно установлено, то появится всплывающее сообщение как на скриншоте.

    4. Интернет без ограничений

    Когда подключение VPN установлено, в системе Windows создается виртуальный сетевой адаптер TAP-Windows Adapter V9. Этот адаптер получит IP-адрес, который начинается с “10.211”. Виртуальный адаптер получит адрес шлюза по умолчанию.

    Вы сможете проверить конфигурацию сети, запустив команду ipconfig /all в командной строке Windows.

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

    Как показано на скриншоте выше, если пакеты проходят через «10.211.254.254», значит ваше подключение ретранслируется через один из серверов VPN Gate. Вы также можете перейти на основную страницу VPN Gate, чтобы посмотреть глобальный IP-адрес.

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

    Настройка OpenVPN для MacOS

    Данная инструкция демонстрирует, как подключиться к серверу ретрансляции VPN Gate, используя приложение Tunnelblick. Tunnelblick является версий клиента OpenVPN с графической оболочкой. для систем MacOS.

    1. Установите приложение Tunnelblick

    Скачайте и установите последнюю версию приложения Tunnelblick. Во время установки на экране будут показываться инструкции.

    После завершения установки появится следующий экран. Выберите опцию “У меня есть файлы конфигурации”.

    На экране будет показана инструкция по добавлению конфигурации в Tunnelblick.

    Нажмите ОК, чтобы закрыть окно.

    2. Скачайте и загрузите файл конфигурации подключения OpenVPN (файл .ovpn). Данная процедура требуется только при первичной настройке подключения.

    Файл конфигурации формата *.ovpn понадобиться для подключения к серверу ретрансляции VPN Gate через протокол OpenVPN.

    Скачать файл конфигурации (OpenVPN Config file) можно на странице списка открытых бесплатных серверов ретрансляции http://www.vpngate.net/en/. Выберите VPN-сервер, к которому вы хотите подключиться и нажмите на соответствующий файл *.ovpn, чтобы его загрузить в папку загрузок (Downloads).

    Чтобы установить файл конфигурации *.ovpn, перетащите его на значок Tunnelblick в строке меню, либо на список конфигураций во вкладке «Конфигурации» окна «Детали VPN». Если необходимо установить сразу несколько конфигурационных файлов — выделите их все, а затем перетащите.

    Во время добавления нужно будет ввести имя пользователя и пароль от учетной записи MacOS.

    3. Подключение к VPN

    Нажмите по иконке Tunnelblick на верхней панели инструментов MacOS и выберите опцию “Соединить [название конфигурации]”. Будет запущено подключение к VPN.

    Появится статус подключения к VPN, как показано на скриншоте. После успешной установки подключения, в основном окне Tunnelblick будет показываться состояние “Соединен”.

    4. Интернет без ограничений

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

    При подключении к VPN вы сможете посещать заблокированные веб-сайты и играть в заблокированные игры.

    OpenVPN: создание сервера на Windows

    Openvpn — виртуальная частная сеть. С ее помощью мы можем:

    • Создать защищенный канал свзяи, в то время, когда мы сидим с бесплатного Wi-Fi в кафе.
    • Обмениваться файлами между участниками сети.
    • Раздавать интернет испульзуя общий шлюз.

    Основные преимущества:

    • Простота настройки.
    • Безопасность.
    • Не требует дополнительного оборудования.
    • Высокая скорость и стабильность.

    Как и автор статьи об установке OpenVPN на Linux, я не нашел нормальной статьи, да еще и такой, чтоб описывалось все до мелочей. В этой статье на Хабрахабре я постараюсь максимально доступно все объяснить. Итак, поехали!

    Скачиваем дистрибутив.

    На момент написания статьи доступная версия 2.3.2. Качаем отсюда Windows installer 32-х или 64-х битную версию под разрядность вашей операционной системы.

    Установка.

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

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

    Когда-то этот пункт меня останавливал, мол ну их эти ключи, пойду поищу что попроще. Но, увы, ничего лучшего не нашел. Итак, переходим в C:Program filesOpenVPNeasy-rsa, запускаем init-config.bat, появится vars.bat, открываем его в блокноте. Нас интересуют строчки в самом низу, их нужно заполнить как угодно. Например:
    set KEY_COUNTRY=RU
    set KEY_PROVINCE=Baldur
    set KEY_CITY=Piter
    set KEY_ORG=OpenVPN
    set KEY_EMAIL=my@sobaka.ru
    set KEY_CN=server
    set KEY_NAME=server
    set KEY_OU=ouou

    Там где написано server не трогаем. Сохранили.
    Теперь открываем openssl-1.0.0.cnf и ищем строчку default_days 365, ставим 3650. Это продлит жизнь наших сертификатов на 10 лет. Сохраняем. Далее открываем командную строку в пуск-стандартные-командная строка (на Windows Vista/7/8 от имени администратора), пишем последовательно:

    cd C:OpenVPNeasy-rsa
    vars
    clean-all

    В ответ должно написать два раза «Скопировано файлов: 1». Значит, все окей. В этом же окне набираем:
    build-dh
    Создаст ключ Диффи-Хельмана.
    build-ca
    Создаст основной сертификат.
    Будут заданы вопросы, просто нажимаем Enter пока не увидите путь C:Program filesOpenVPNeasy-rsa. Далее набираем:
    build-key-server server
    На вопросы также жмем Enter, только не торопитесь! В конце будут два вопроса: «Sign the certificate?» и «1 out of 1 certificate requests certified, commit?», на оба вопроса отвечаем Y. Теперь создадим сертификат клиента:
    build-key client
    Тут нужно быть вниметельней, при вопросе Common Name (eg, your name or your server’s hostname) нужно ввести client. В конце также два раза Y. Для каждого клиента нужно создавать новый сертификат, только с другим именем, например, build-key client1 и также указывать его в common name. Если все сделали правильно, можете выдохнуть! Самое сложное позади. В папке C:Program FilesOpenVPNeasy-rsakeys забираем: ca.crt, dh1024.pem, server.crt, server.key и кладем их в C:Program FilesOpenVPNconfig.

    Создаем конфиги.

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

    Сохраняем файл как server.ovpn. Это наш конфиг сервера. Теперь пробуем запустить сервер. На рабочем столе будет ярлык OpenVPN Gui. После запуска в трее появится красный значок. Кликаем по нему дважды, если загорелся зеленым, значит, все хорошо, если нет, тогда смотрим лог в папке log.

    Теперь конфиг клиента:
    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

    Сохраняем как client.ovpn. Создаем любую папку и кладем туда конфиг client.ovpn и сертификаты ca.crt, client.crt, client.key которые лежат в C:Program filesOpenVPNeasy-rsa. Сам клиент для Windows качаем здесь. На клиентской машине устанавливаем, переносим папку с конфигом и сертификатом и запускаем client.ovpn. Если подключились, пробуем в командной строке набрать ping 10.8.0.1. Пакеты пошли? Поздравляю! Сервер готов! Теперь идем в панель управления-администрирование-службы, ищем там OpenVPN, дважды щелкаем и выставляем автоматически. Теперь сервер будет сам стартовать после перезагрузки.

    Дорабатываем конфиг или каждому свое.

    Теперь я расскажу как раздавать интернет и другие мелочи связанные с настройкой. Начнем с мелочей. Все манипуляции будем проводить с конфигом сервера.
    Если хотите, чтобы клиенты «видели» друг друга т.е. могли обмениваться информацией, тогда в конфиг впишите
    client-to-client.
    Если нужно, чтобы клиентам выдавались статические адреса, тогда в папке config создайте файл ip.txt и впишите в конфиг
    ifconfig-pool-persist ip.txt
    Неохота создавать каждому сертификаты? Тогда пишем duplicate-cn, но учтите, с этой опцией не работает ifconfig-pool-persist.
    Теперь о конфиге клиента. Можно не передавать файлы сертификатов, а вписать сразу в конфиг, только делать это лучше не с блокнота, а с AkelPad’а или Notepad++ например. Открываем ca.crt и выделяем от ——BEGIN CERTIFICATE—— до ——END CERTIFICATE——. В конфиге будет выглядеть так:


    ——BEGIN CERTIFICATE——
    сертификат
    ——END CERTIFICATE——

    ——BEGIN CERTIFICATE——
    сертификат
    ——END CERTIFICATE——

    ——BEGIN PRIVATE KEY——
    ключ
    ——END PRIVATE KEY——

    Windows Server версий 2008/2012: инструкция по настройке OpenVPN

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    Чтобы служба стартовала при включении компьютера, нужно зайти в базовую папку «Службы», в открывшемся окне среди прочих программ найти 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 111.222.88.99 1194

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

    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). Для этого введем:

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

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

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

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

    Настройка OpenVPV-сервера на Windows Server

    Представляю подробную инструкцию по OpenVPN на Windows server 2012 c уровнем шифрования OpenSSL. А также как подключить клиентов к созданной виртуальной частной сети. Здесь подробно описаны все параметры.

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

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

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

    OpenVPN установливаем в директорию по-умолчанию «C:Program FilesOpenVPN».

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

    Генерация ключей (PKI) центра сертификации, сервера, клиента

    Для управления парами «ключ/сертификат» всех узлов создаваемой частной сети используется утилита easy-rsa, работающая через командную строку.

    Переходим в папку установки OpenVPN и создаем папки ssl и ccd.
    Заходим в папку easy-rsa. Там есть файл vars.bat.sample, копируем его и переименовываем в vars.bat.

    cd
    cd C:Program FilesOpenVPNeasy-rsa
    copy vars.bat.sample vars.bat

    Открываем файл vars.bat. для редактирования, например, в программе Notepad++.
    Перед FOR вводим rem, а перед set «PATH=%PATH%;C:Program FilesOpenVPNbin» удаляем rem.
    А также правим следующие строки:
    set KEY_DIR=keys //каталог, куда будут генерироваться сертификты;
    set DH_KEY_SIZE=2048 //длина ключа Диффи Хельмана
    set KEY_SIZE=2048 //длина личного ключа
    set KEY_COUNTRY=RU //Код страны, RU для России
    set KEY_PROVINCE=Moscow //Регион страны
    set KEY_CITY=Moscow //Город
    set KEY_ORG=Organization //Название организации или ФИО
    set KEY_EMAIL=master@dmosk.ru //Адрес вашей почты
    set KEY_CN=server //Общее имя
    set KEY_OU=server //имя
    set KEY_NAME=server.domain.ru //Имя сервера. Желательно, чтобы соответствовал полному имени VPN-сервера
    set PKCS11_MODULE_PATH=DMOSK //путь к модулю pkcs#11, можно не менять
    set PKCS11_PIN=12345678 //ПИН-код к смарт-карте, можно не менять
    Проверяем, что в файле openssl-1.0.0.cnf параметр default_days (срок жизни сертификата) имеет значение 3650 или то, которое вам нужно.
    Очищаем старые данные
    vars.bat
    clean-all.bat
    Не закрывая командную строку, проверяем, что в папке C:Program FilesOpenVPNeasy-rsakeys появились файлы index.txt и serial.
    Создаем ключ HMAC для дополнительной защиты от DoS-атак и флуда.
    openvpn —genkey —secret %KEY_DIR%ta.key
    Не закрывая командную строку, проверяем, что в папке C:Program FilesOpenVPNeasy-rsakeys появился файл ta.key.
    Генерируем ключ Диффи Хельмана (процесс достаточно длительный).
    build-dh.bat
    Не закрывая командную строку, проверяем, что в папке C:Program FilesOpenVPNeasy-rsakeys появился файл dh2048.pem
    Генерируем сертификат
    build-ca.bat
    На все запросы нажимаем Enter.
    Не закрывая командную строку, проверяем, что в папке C:Program FilesOpenVPNeasy-rsakeys появились файлы ca.crt и ca.key.
    Генерируем сертификат для сервера:
    build-key-server.bat server
    Где server — имя сертификата. Можно ввести другое. На все запросы нажимаем Enter. В конце подтверждаем два раза корректность информации вводом y.
    Не закрывая командную строку, проверяем, что в папке C:Program FilesOpenVPNeasy-rsakeys появились файлы server.crt, server.key и server.csr.
    Создаем пользовательский сертификат removecrt для последующего создания файла crl.pem, который отвечает за проверку и последующий отзыв сертификатов. Можно обойтись и без него, но тогда нельзя будет отозвать сертификат пользователя. Так что лучше это сделать.
    build-key removecrt
    Нажимаем Enter, пока не появятся вопросы Common Name и Name. При их появлении вводим название нашего сертификата — removecrt. Завершаем вводом y два раза.
    Не закрывая командную строку, проверяем, что в папке C:Program FilesOpenVPNeasy-rsakeys появились файлы removecrt.crt, removecrt.key и removecrt.csr.
    Далее вводим команду которая отвечает за отзыв сертификата и создает файл crl.pem
    revoke-full removecrt
    Не закрывая командную строку, проверяем, что в папке C:Program FilesOpenVPNeasy-rsakeys появился файл crl.pem
    Создаем сертификат пользователя
    build-key user
    где user — имя пользователя. Для каждого пользователя надо создавать свой сертификат, поэтому желательно давать осмысленные имена. Также напоминаю, что при появлении запроса Common Name и Name надо вводить название нашего сертификата user.
    Не закрывая командную строку, проверяем, что в папке C:Program FilesOpenVPNeasy-rsakeys появились файлы user.crt, user.key и user.csr.
    Есть второй способ создания сертификата пользователя. в этом случае меньше файлов надо передавать пользователю, но при подключении надо будет вводить пароль.
    Вводим команду
    build-key-pkcs12 user
    Нажимаем Enter пока не появится запрос Export Password. Здесь вводим пароль пользователя, например 777777. Данный пароль будет назначен сертификату user.p12, который должен появиться в папке C:Program FilesOpenVPNeasy-rsakeys. Учтите, что и файлы конфигурации клиента будут разные. Но об этом позднее.
    На этом генерация ключей закончена.
    Из папки C:Program FilesOpenVPNeasy-rsakeys копируем в папку C:Program FilesOpenVPNssl которую мы создали ранее следующие файлы:

    1. ca.crt
    2. server.crt
    3. server.key
    4. dh2048.pem
    5. ta.key

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

    1. ca.crt
    2. user.crt
    3. user.key
    4. ta.key

    Для второго варианта

    1. user.p12
    2. ta.key

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

    Переходим к настройке сервера VPN. Создаем файл конфигурации. В папке C:Program FilesOpenVPNsample-config есть образцы файлов конфигурации. Возьмем их за основу. Копируем файл server.ovpn в папку C:Program FilesOpenVPNconfig.
    Открываем его в Notepad++. И исправляем:
    port 1194 //Номер порта на котором будем слушать. Замечание см. ниже
    proto udp //Указываем протокол для подключения.
    dev tun //Создаем маршрутизируемый IP туннель.
    ca «C:\Program Files\OpenVPN\ssl\ca.crt» //Указываем путь к доверенному сертификату.
    cert «C:\Program Files\OpenVPN\ssl\Server.crt» //Указываем путь к сертификату сервера.
    key «C:\Program Files\OpenVPN\ssl\Server.key» //Указываем путь к ключу сервера.
    dh «C:\Program Files\OpenVPN\ssl\dh2048.pem» //Указываем путь к ключю Диффи Хельмана
    server 172.16.32.0 255.255.255.0 //Указываем адресацию сети.
    ifconfig-pool-persist «C:\Program Files\OpenVPN\ccd\ipp.txt» //Указываем файл с описанием сетей между клиентом и сервером.
    client-config-dir «C:\Program Files\OpenVPN\ccd» //Указываем каталог с описаниями конфигураций каждого из клиентов.
    client-to-client //Разрешаем общаться клиентам внутри тоннеля.
    keepalive 10 120
    tls-auth «C:\Program Files\OpenVPN\ssl\ta.key» 0 //Указываем путь к ключу безопасности и устанавливаем параметр сервера 0
    cipher AES-256-CBC //Указываем алгоритм шифрования должен быть одинаковый клиент/сервер.
    comp-lzo //Включаем сжатие.
    persist-key //Указываем не пересчитавать файлы ключей при перезапуске туннеля.
    persist-tun
    status «C:\Program Files\OpenVPN\log\logopenvpn-status.log» //Указываем путь к логу со статусом.
    log «C:\Program Files\OpenVPN\log\openvpn.log» //Указываем путь к логу.
    verb 3
    crl-verify «C:\Program Files\OpenVPN\easy-rsa\keys\crl.pem» //Указывает сверку по отозванным сертификатам.
    Остальное не меняем. Сохраняем, закрываем.
    Теперь замечание по поводу номера порта. Если вы собираетесь использовать нестандартный порт, то необходимо открыть этот порт в Брандмауэре Windows по протоколу UDP для входящих и исходящих подключений. А также убедиться, что у провайдера этот порт тоже открыт.
    Теперь переходим Панель управления → Администрирование → Службы и находим OpenVPNService. Нажимаем правой кнопкой мыши и выбираем Свойства. Устанавливаем Тип запуска — Автоматически. Нажимаем Запустить, затем ОК. Закрываем все окна.

    На рабочем столе запускаем OpenVPN GUI.

    Сервер VPN запущен. В случае появления ошибок смотрите логи в папке C:Program FilesOpenVPNlog.

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

    Настройку клиента начинаем с того, что копируем с компьютера-сервера на компьютер-клиент следующие файлы:

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

    Запускаем установку OpenVPN. Все компоненты оставляем как есть, путь установки тоже по умолчанию. Установка TAP-адаптера — да.
    Переходим в папку установки OpenVPN и создаем папку ssl. в нее копируем файлы ключей и сертификатов для данного клиента.
    Возвращаемся в каталог установки и из папки C:Program FilesOpenVPNsample-config копируем файл client.ovpn в папку C:Program FilesOpenVPNconfig.
    Открываем его в Notepad++. И исправляем:
    client //Указываем чтобы клиент забирал информацию о маршрутизации с сервера.
    dev tun //Создаем маршрутизируемый IP туннель.
    proto udp //Указываем протокол для подключения.
    remote X.X.X.X 1194 //Указываем IP аддрес сервера с портом.
    persist-key //Указываем не пересчитавать файлы ключей при перезапуске туннеля.
    persist-tun
    ca «C:\Program Files\OpenVPN\ssl\ca.crt» //Указываем путь к доверенному сертификату.
    cert «C:\Program Files\OpenVPN\ssl\user.crt» //Указываем путь к сертификату сервера.
    key «C:\Program Files\OpenVPN\ssl\user.key» //Указываем путь к ключу сервера.
    tls-auth «C:\Program Files\OpenVPN\ssl\ta.key» 1 //Указываем путь к ключу безопасности и устанавливаем параметр клиента 1
    cipher AES-256-CBC //Указываем алгоритм шифрования должен быть одинаковый клиент/сервер.
    comp-lzo //Включаем сжатие.
    verb 3

    Не забываем изменить user на имя которое вы присвоили данному клиенту.
    Сохраняем. Запускаем OpenVPN GUI на рабочем столе обязательно от имени администратора. Нажимаем правой кнопкой по появившемуся в трее значку и выбираем «Подключиться»:

    Появится следующее окно.

    Теперь можно проверить соединение ping.
    На этом пока все. Дополнительную настройку OpenVPN см здесь.

    2 человека сочли эту статью полезной Эта статья была полезной