Соединить два компьютера через openvpn

Обновлено: 07.07.2024

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

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

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

Установка OpenVPN на машину-сервер

Инсталляция представляет собой стандартную процедуру с некоторыми нюансами, о которых и поговорим подробнее.

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

Выбор места на жестком диске для установки программы OpenVPN

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

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

    Идем в каталог «easy-rsa», который в нашем случае находится по адресу

Находим файл vars.bat.sample.

Переход в папку easy-rsa для настройки сервера OpenVPN

Переименовываем его в vars.bat (удаляем слово «sample» вместе с точкой).

Переименование файла скрипта для настройки сервера OpenVPN

Открываем этот файл в редакторе Notepad++. Это важно, так как именно этот блокнот позволяет правильно редактировать и сохранять коды, что помогает избежать ошибок при их выполнении.

Файлы требующие редактирования для настройки сервера OpenVPN

В них нужно поменять команду

на абсолютный путь к соответствующему ей файлу openssl.exe. Не забываем сохранять изменения.

Запуск командной строки из целевой папки при настройке сервера OpenVPN

Запустится «Командная строка» с уже осуществленным переходом в целевой каталог.

После выполнения система предложит подтвердить данные, которые мы вносили в файл vars.bat. Просто несколько раз нажимаем ENTER, пока не появится исходная строка.

Здесь также необходимо подтвердить данные с помощью клавиши ENTER, а также два раза ввести букву «y» (yes), где потребуется (см. скриншот). Командную строку можно закрыть.

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

Вид папки после вставки скопированных файлов:

Создаем здесь текстовый документ (ПКМ – Создать – Текстовый документ), переименовываем его в server.ovpn и открываем в Notepad++. Вносим следующий код:

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

Обратите внимание, что названия сертификатов и ключей должны совпадать с расположенными в папке «ssl».

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

Перед началом настройки клиента необходимо совершить несколько действий на серверной машине – сгенерировать ключи и сертификат для настройки подключения.

    Идем в каталог «easy-rsa», затем в папку «keys» и открываем файл index.txt.

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

Работы, которые необходимо выполнить на клиентской машине:

  1. Устанавливаем OpenVPN обычным способом.
  2. Открываем каталог с установленной программой и переходим в папку «config». Сюда необходимо вставить наши файлы сертификатов и ключей.

client
resolv-retry infinite
nobind
remote 192.168.0.15 443
proto udp
dev tun
comp-lzo
ca ca.crt
cert vpn-client.crt
key vpn-client.key
dh dh2048.pem
float
cipher DES-CBC
keepalive 10 120
persist-key
persist-tun
verb 0

На этом настройка сервера и клиента OpenVPN завершена.

Заключение

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

Закрыть

Мы рады, что смогли помочь Вам в решении проблемы.

Отблагодарите автора, поделитесь статьей в социальных сетях.

Закрыть

Опишите, что у вас не получилось. Наши специалисты постараются ответить максимально быстро.

Помогла ли вам эта статья?

Еще статьи по данной теме:

Здравствуйте, Вадим. ошибку исправили, благодарим за внимательность.

Непонятно, как я клиентом пробьюсь на vpn-сервер по его локальному ip адресу, если сервер и клиент находятся территориально удаленно, а не в локальной сети. Как клиент пробьется на локальный адрес совершенно другой сети?

Aza, а раньше удавалось осуществить соединение или такое происходит сразу после установки и настройки?

Не создаётся файл сертификата. Хотя делаю всё в точности, как написано у Вас.

По делу коммент! Спасибо!

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

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

Ошибка *.old появляется если оставить пробел в файле index.txt
очищаете (удаляете пустую строчку, в нотпад++ её видно)
и дальше по инструкции начиная с запуска командной строки.

Такая же ошибка при старте клиента

Тоже самое, пока не смог разобраться в чем проблема.

Поясните пожалуйста, в файле server.ovpn в строке
server 172.16.10.0 255.255.255.0
что указывать? или это виртуальный адрес?

Это ваша виртуальная подсеть и ее маска соответственно. Т.е. серверу будет выдан адрес 172.16.10.1 с маской 255.255.255.0. Клиентам будут выдаваться 172.16.10.2, 172.16.10.3 и т.д.
Можете использовать свою адресацию.

Настроил OpenVPN подключение происходит нормально, клиенту присваивает адрес: 172.16.10.6
Пытаюсь пинговать сервер, которому по логике присвоен адрес: 172.16.10.1
Но пинги не проходят, также посмотреть доступные ресурсы сервера не получается, поскольку он его просто не видит. 🙁
Почему так и что с этим делать?

Отключи сам сетевой адаптер на сервере или на клиенте (который заточен под VPN). Потом запусти саму клиентскую часть OpenVPN и все будет пинговаться

Отключи и включи


No server certificate verification method has been enabled
Тоже самое, пока не смог разобраться в чем проблема?

В конфиг клиента добавьте
remote-cert-tls server
Это защита от подставного сервера.

Добрый день!
Сделал всё по этой инструкции, заработало. Правда, тут не показано как сделать маршрутизацию в локальную сеть, IP выдавался каждому пользователю один и тот же, но разобрался.
Но есть кое-что непонятное.
В логе status.log видим такие строки:
VPNsrv,81.xx.xxx.210,357425,351886,Thu Dec 13 21:16:03 2018
VPNsrv,81.xx.xxx.210,2497409,351425,Thu Dec 13 21:15:55 2018
VPNsrv,81.xx.xxx.210,395705,360630,Thu Dec 13 21:16:03 2018

Расскажите поподробнее как это сделать? чтобы на выдавало 10.6 всем

Добрый День!
Подскажите пож
у меня все клиенты берут одинаковые адреса у всех 10.6

У меня так же было, я прописал в конфиге сервера topology subnet и стало нормально.

а после какой строчки её прописать? Я прописал, теперь похоже выдает всем 10.2

Добрый день! Подскажите плс в файлах build-ca.bat, build-dh.bat, build-key.bat, build-key-pass.bat, build-key-pkcs12.bat и build-key-server.bat везде надо поменять openssl на абсолютный путь?

Сделал всё как по инструкции, но почему то TAP windows adapter 9 остаётся крестиком

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

автор красавец! подробно, без воды, обьяснил на пальцах практически. Все завелось сразу. Большое спасибо за Ваши труды Сергей!

Сделал все пошагово 2 раза на разных компах(Win7x64 и WinServer 2016), сразу после настройки запускаю подключение на сервере и получаю вот это в конце:

Организация VPN каналов между офисами при помощи OpenVPN.

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

Ниже мы рассмотрим топологию сети, в которой будем организовывать VPN-туннель, разберем особенности конфигурирования программы OpenVPN и пошагово настроим маршрутизацию для наших офисов. Статья написана из расчета, что OpenVPN будет устанавливаться на платформы Windows 7 и Windows Server 2008.

Топология сети.

Использованная нами сетевая топология стандартна. Имеется Сеть Центрального Офиса (назовем её СЦО) и Сеть Филиала (назовем её СФ). Стоит задача соединить офисы таким образом, чтобы конечный пользовательский компьютер (далее ПК1) офиса СЦО имел доступ к общим ресурсам пользовательского компьютера (далее ПК2) СФ.

OpenVPN-channels-001v.jpg

CЦО имеет в своем составе:

  • Интернет-шлюз (назовем его ИШ1) с двумя сетевыми интерфейсами:
    • 111.111.111.111 - выдаётся провайдером, смотрит в интернет.
    • 192.168.0.1 - назначается нами, смотрит в СЦО.
    • 10.8.0.1 - адрес виртуального интерфейса (интерфейс устанавливается в процессе установки программы OpenVPN). Адрес для этого интерфейса назначается программой. Мы с вами не должны менять адрес самостоятельно из управления сетевыми адаптерами.
    • 192.168.0.2 - физический интерфейс, параметры задаются нами, смотрит в СЦО.

    СФ имеет в своем составе:

    • Интернет-шлюз (далее ИШ2) с двумя сетевыми интерфейсами:
      • 222.222.222.222 - выдаётся провайдером, смотрит в интернет.
      • 192.168.1.2 - назначается нами, смотрит в СФ.
      • 10.8.0.2 - адрес виртуального сетевого интерфейса (интерфейс устанавливается в процессе установки программы OpenVPN). Адрес для этого интерфейса так же назначается программой OpenVPN.
      • 192.168.1.2 - физический интерфейс, параметры задаются нами, смотрит в СФ.

      Настраиваем OpenVPN сервер.

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

      Сам процесс инсталлирования не вызовет никаких проблем. Единственное, стоит отключить антивирус на время установки, дабы избежать дополнительных проблем. На момент написания статьи, к примеру, продукты Лаборатории Касперского не блокировали установку, а лишь выводили подозрение на некоторые устанавливаемые компоненты.

      В процессе установки в систему инсталлируется виртуальный сетевой адаптер TAP-Win32 Adapter V9 и, соответственно, драйвер к нему. Этому интерфейсу программа OpenVPN как раз и будет назначать ip адрес и маску виртуальной сети OpenVPN. В нашем случае ему назначен адрес 10.8.0.1 с маской 255.255.255.0 на сервере ОС и 10.8.0.2 с аналогичной маской на клиенте ОК.

      OpenVPN-channels-002.jpg

      По стандарту программа устанавливается в C:\ProgramFiles\OpenVPN. В этой директории следует сразу же создать дополнительно папку keys (здесь мы будем хранить ключи аутентификации) папку ccd (здесь будут находится конфиги настроек сервера для клиента).

      В директории C:\ProgramFiles\OpenVPN\sample-config представлены стандартные конфиги. Конфиги, которые мы будем создавать, должны размещаться в директории C:\Program Files\OpenVPN\config.

      Настройка OpenVPN начинается с генерации ключей. Генерируемые ключи делятся на:

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

      Последовательность создания ключей следующая (названия файлов сертификатов и ключей указаны в скобках):

      • Генерируем основной CA (ca.crt) сертификат и CA (ca.key) ключ.
      • Генерируем сертификат (server.crt) и ключ (server.key) сервера.
      • Генерируем сертификат (office1.crt) и ключ (office1.key) для клиента.
      • Генерация параметров DiffieHellman (dh1024.pem).
      • Генерация ключа tls-auth (ta.key) для аутентификации пакетов.

      Разберем каждый пункт более подробно.

      Генерируем основной сертификат СА и СА ключ:

      Заходим в Пуск - Выполнить набираем cmd, жмем OK, заходим в командную строку. Пишем:

      Таким образом мы находимся в директории easy-rsa:

      OpenVPN-channels-003.jpg

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

      Не закрывая командную строку, зайдем в C:\ProgramFiles\OpenVpn\easy-rsa и отредактируем файл vars.bat, заполнив следующие параметры (указав, естественно, свои данные):

      Теперь создадим СА сертификат и СА ключ. Раскрываем командную строку, которая все это время висела где то на рабочем столе, и продолжаем вписывать команды:

      Последняя команда как раз и выполняет генерацию СА сертификата и СА ключа. В процессе создания ключа вам будут задавать вопросы, на которые вы можете отвечать просто нажатием Enter'a (тогда значения будут браться из файла vars.bat который мы редактировали выше) или же вводить свои. Стоит обратить внимание на вопрос:

      Здесь вы должны задать название для сервера - в примере мы ввели OpenVPNS.

      Генерируем сертификат (server.crt) и ключ (server.key) сервера.

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

      На вопросы отвечаем так же как в первом пункте. На вопрос:

      Введем: server. На вопросы:

      надо дать положительный ответ: Y.

      Генерируем сертификат (office1.crt) и ключ (office1.key) для клиента.

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

      если требуется еще сертификаты и ключи, скажем для второго клиента, то вводим:

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

      Генерация параметров DiffieHellman (dh1024.pem).

      Вводим в командной строке, находят во все той же директории easy-rsa:

      Генерация ключа tls-auth (ta.key) для аутентификации пакетов

      В конце создаем ключ для tls-аутификации командой:

      Теперь разберемся с тем, какие файлы оставлять на сервере, а какие перенести клиенту. На сервере (OC) должны находиться в созданной нами папке keys только следующие файлы:

      • ca.crt
      • ca.key
      • dh1024.pem
      • server.crt
      • server.key
      • ta.key

      OpenVPN-channels-004.jpg

      На клиенте OK аналогично серверу ОС создадим так же папочку keys, там должны быть:

      • ca.crt
      • office1.crt
      • office1.key
      • ta.key

      Все файлы с расширением .key являются секретными. Передавать их стоит только по защищенным каналам, лучше на физическим носителе.

      Далее приступим к созданию конфига для нашего сервера ОС и клиента ОК. В директории config создаем файл со следующим названием и расширением: server.ovpn Открываем его блокнотом и начинаем писать конфиг:

      Выбираем протокол для передачи данных - в данном случае upd:

      Стандартный порт для OpenVPN:

      Режим работы программы L3-туннель. В данном режиме OpenVPN - роутер:

      Данного топология доступна с версии 2.1 и заключается в том что каждому клиенту выдается по 1 адресу, без виртуальных портов маршрутизатора:

      Маршруты добавляются через .exe - это важно:

      Задержка при добавлении маршрута, можно уменьшить до 5:

      Данная опция задает организацию сети. У нас появляется виртуальная сеть 10.8.0.0 /24. Первый адрес из этой сети, то есть 10.8.0.1 выдается серверу, последующие (10.8.0.2, 10.8.0.3 и т.д.) клиентам. DHPC сервер получает адрес 10.8.0.254:

      Задаем шлюз в openvpn сеть:

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

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

      Задаем серверу ОС маршрут на всю сеть:

      Выбираем метод сжатия:

      Задаем сжатие трафика:

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

      Cервер пингует противоположную сторону с интервалом в 10 секунд и если сторона не отвечает за 60 секунд, то сервер запустит пересоединение:

      Далее переходим в директорию ccd и создаем файл, в котором будут лежать команды, посылаемые клиенту от сервера. Назвать его надо так же как мы называли самого клиента, например office1. Файл не будет иметь расширения.

      OpenVPN-channels-005.jpg

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

      Задаем ip и маску для нашего клиента office1:

      Передаем ему маршрут на всю сеть:

      Задаем для него шлюз:

      Эта команда говорит серверу ОС о том, что за данным клиентом, а именно ОК (office1) находится сеть 192.168.1.0:

      Таким образом, мы закончили конфигурирование сервера на стороне ОС.

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

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

      Указываем внешний адрес ИШ1:

      Клиент будет в работать в режиме тлс-клиента:

      Эта опция защищает от подмены сервера третьим лицом:

      Эти опции аналогичны серверу:

      Задаем маршрут к сети 192.168.0.0:

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

      Остальные опции также аналогичны серверу:

      На этом настройка программы на стороне клиента ОК закончена.

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

      И так, мы имеем настроенные конфиги на ОК и на ОС. Теперь разберем очень важные моменты. Заранее оговоримся, если вы использует KIS 2011 или подобные антивирусные программы, то в настройках сетевого экрана следует разрешить прохождение ICMP пакетов. Это позволит беспрепятственно пинговать хосты в наших сетях.

      OpenVPN-channels-006.jpg

      Так же стоит добавить наш виртуальный интерфейс программы OpenVPN в список доверенных сетей.

      OpenVPN-channels-007.jpg

      На ИШ1 должны быть проделаны следующие действия:

      • Настроено перенаправление порта 1194 протокола UDP с интерфейса 111.111.111.111 на интерфейс сервер ОС 192.168.0.2
      • В файерволе должна быть разрешена передача по порту 1194 протокола UDP, иначе пинг не будет проходить даже между ОС и ОК.

      На ИШ2 надо предпринять аналогичные действия:

      • Настроить перенаправление порта 1194 протокола UDP с интерфейса 222.222.222.222 на интерфейс клиента ОК 192.168.1.2
      • Проверить, открыт ли порт 1194 протокола UDP в файерволе.

      В Usergate 5.2, к примеру, настройка форвардинга пакетов по порту 1194 протокола UDP выглядит так:

      На этом этапе мы уже пингуем ОК и ОС по их OpenVPN адресам, то есть 10.8.0.1 и 10.8.0.2. Далее нам необходимо обеспечить правильный маршрут пакетов с клиента ОК до удаленной сети 192.168.0.0. Делаем это одним из нескольких способов:

      Либо задаем постоянный маршрут до этой сети на самом клиенте ОК:

      Либо задаем этот маршрут в ccd конфиге клиента на сервер, а именно в файле office1 допишем:

      Так же это можно сделать, добавив строку напрямую в конфиг клиента ОК:

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

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

      Добавляем команду в конфиг сервера ОС:

      или же добавляем команду непосредственно в командной строке:

      Так же необходимо на сервере ОС и клиенте ОК включить в службах службу Маршрутизации и удаленного доступа, таким образом обеспечив маршрутизацию на внутреннюю сеть (форвардинг). Без этого внутренние адреса в сетях СЦО И СФ клиента ОК и сервера ОС не будут пинговаться.

      OpenVPN-channels-009.jpg

      На этом этапе мы уже свободно можем пинговать внутренние адреса наших ОС и ОК, т.е. набирая на сервере ОС ping 192.168.1.2 и на клиенте ОК ping 192.168.0.2 мы получаем положительный результат в виде:

      OpenVPN-channels-010.jpg

      Таким образом ОК и ОС взаимно пингуются по своим OpenVPN и внутренним СЦО и СФ адресам. Дальше нам надо прописать маршрут в командной строке в сеть 10.8.0.0 на наших ПК1 и ПК2. Делается это следующими командами:

      В результате расшаренные ресурсы в ПК1 и ПК2 будут доступны по их внутрисетевому адресу:

      Звезда активна
      Звезда активна
      Звезда активна
      Звезда активна
      Звезда активна

      Если вы впервые настраиваете свою систему то вам, вероятно, будет важно знать ту последовательность действий, которая приведет к успеху.
      Ниже представлена последовательность шагов, которая даст вам уверенность в том, что вы на верном пути.
      Большинство пользователей потратят на подключение 15-30 минут своего времени в зависимости от ИТ-подготовки.

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

      PS: Если вы читаете этот раздел уже после "некоторых экспериментов", то имеет смысл очистить все настройки на сайте в разделе "Дополнительно", а также на ваших устройствах и начать все заново.

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

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

      Исходные данные

      Итак, мы хотим получить удаленный доступ к компьютеру с ОС Windows с другого компьютера с ОС Windows через Интернет. Будем считать, что оба компьютера обладают "серыми" адресами от операторов связи и напрямую из сети Интернет не доступны.

      Давайте представим, что мы хотим получить удаленный доступ с Компьютера 1 (дом) на Компьютер 2 (офис). Для этого мы будем использовать подключения двух компьютеров с протоколом OpenVPN, систему VPNKI и штатное средство Windows для удаленного доступа к компьютеру под названием "Подключение к удаленному рабочему столу".

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

      VPN windows windows rdp openvpn


      Шаг 1. Установка программ OpenVPN на оба компьютера

      Результат: OpenVPN установлен на оба компьютера

      Шаг 1.0. Скачайте с сайта проекта OpenVPN последнюю версию этой программы.

      Например нас интересует версия для Windows7/8/8.1 и т.д..

      windows download openvpn

      Шаг 1.1. Установите эту программу на оба компьютера. При установке, вероятнее всего, потребуются права администратора системы Windows

      На этом шаге установщик может спросить к какой сети ("Общественной" или "Частной" в терминах Windows) следут отнести новое сетевое подключение.

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

      Шаг 1.2. После установки запустите ярлык программы OpenVPN GUI на обоих комьютерах и переходите к настройкам на сайте VPNKI.


      Шаг 2. Создаем туннели на сайте VPNKI

      Результат: Туннели созданы, процесс OpenVPN на сервере запущен, скачан профиль подключения на оба компьютера

      Шаг 2.0. На личной странице сайта создайте два туннеля. Запишите куда-нибудь IP адреса, выданные вам системой для обоих туннелей

      vpnki tunnel setup windows rdp

      Шаг 2.1. Запустите процесс OpenVPN на сервере, установив галочку, скачайте и сохраните профиль подключения (файл с расширением .ovpn) на оба компьютера. Этот профиль будет использоваться клиентскими программами OpenVPN на обоих компьютерах для установления подключения. Обратите внимание на порт, выданный вам системой - он уникален и выделен только для вас. Его номер также содержится в скачанном вами профиле.

      Важно! Скриншот немного устарел, так как с февраля 2021 мы запустили поддержку OpenVPN как поверх протокола UDP, так и через TCP. У этих вариантов есть свои плюсы и минусы. Чуть более подробно смотрите здесь.

      Все готово для подключения. попробуем

      Шаг 3. Подключение VPN туннелей

      Результат: Оба туннеля подключены

      Шаг 3.1. Импортируйте загруженные профили в программу OpenVPN на обоих компьютерах. Для этого запустите программу OpenVPN GUI (хотя она уже должна быть запущена) и найдите ее ярлычок в системном трее Windows, рядом с часами.

      Нажмите на ярлычок правой кнопкой мыши и выберите пункт "Импорт профиля" (Import file). Затем выберите сохранный профиль на своем компьютере.

      Шаг 3.2. Теперь давайте подключим туннели на обоих компьтерах. При установлении соединения вас попросят ввести логин и пароль, который вы назначили туннелю в личном кабинете сайта VPNKI. Естественно, на каждом компьютере мы указываем свое собственное имя и пароль. В данном случае скриншот показывает подключение Компьютера 1. На втором компьютере имя будет user10279.

      openvpn call windows

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

      Если так, то имеет смысл посмотреть как оба соединения выглядят на стороне сервера VPNKI. Для этого перейдите в пункт меню "Статус подключений" в личном кабинете сайта. На сайте вы увидите приблизительно такую картину.

      vpnki tunnel status

      Шаг 4. Пинг удаленного компьютера

      Результат: Пинг удаленного компьютера успешен

      Шаг 4.1 Если два туннеля работают, то самое время проверить связь двух компьютеров между собой. Начать имеет смысл с выполнения команды ping на Компьютере 1. Это важный шаг и не стоит им пренебрегать.

      В меню Windows - "Пуск" - "Выполнить" напишите три буквы - cmd

      Это запустит командную строку Windows и в ней мы воспользуемся командой ping. Напишите там ping и далее адрес удаленного компьютера (в нашем примере Компьютера 2 - 172.16.35.182). Команда будет выглядеть так: ping 172.16.35.182

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

      На время тестов отключите межсетевой экран на принимающей стороне (Компьютер 2) и после этого пинги должны быть успешны.

      7 ping

      Такой же пинг вы можете выполнить и из личного кабинета системы, перейдя на страницу "Инструменты"

      Шаг 4. Доступ к удаленному рабочему столу компьютера

      Результат: Вы получили доступ к удаленному рабочему столу Компьютера 2

      После того, как пинг оказался успешен можно переходить к удаленонму доступу к рабочему столу.

      Шаг 4.1. На Компьютере 2 вам потребуется разрешить удаленный доступ. Для этого перейдите в "Свойства системы" и установите галочку в разделе "Удаленный помощник". На разных ОС Windows этот пункт меню может выглядет по-разному, но смысл его тот же.

      6 win2 remote access

      Шаг 4.2. На компьютере 1 запустите программу подключения к удаленному рабочему столу. Этот пункт меню находится - "Пуск" - "Программы" - "Стандартные" - "Подключение к удаленному рабочему столу". В открывшемся окне впишите IP адрес Компьютера 2 - 172.16.35.182

      Нажмите "Подключить" и после этого вы должны увидеть окно для ввода логина и пароля, но уже в систему Windows Компьютера 2.

      9 rdp login

      Надеемся, что все получилось успешно.

      Вы успешно прошли все пункты и получили удаленный доступ к рабочему столу Windows на удаленном компьютере!

      Какие могут быть сложности после установления соединения?

      - так как в примере использовалось подключение по протоколу OpenVPN, то следует иметь ввиду, что в системе VPNKI мы принудительно обрываем соединения OpenVPN в 00-00 по Московскому времени. Это связано не только с OpenVPN, но и со всеми другими протоколами, так как слишком много сессий VPN на нашем сервере зависает из-за нестабильности Интернета. Это означает, что удаленный Компьютер 2 потеряет соединение с сервером VPNKI в 00-00 и должен смочь переустановить это соединение автоматически.Увы, это не всегда происходит успешно, поэтому:

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

      - может не хватать скорости для передачи трафика удаленного рабочего стола. Это решается путем перехода на другой тарифный план в системе VPNKI

      OpenVPN - установка и настройка

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

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

      Создателем системы является Джеймсом Йонаном (James Yonan).

      Как работает OpenVPN

      Что бы создать защищенный канал используется библиотека OpenSSL. Весь набор шифров доступный в библиотеке используется в системе.

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

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

      Давайте разберемся на примере. Я настрою OpenVPN на двух компьютерах под управлением Windows 10. Они будут находиться в одной локальной сети. Так как для настроек через интернет необходим хотя бы один статический IP-адрес.

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

      Установка и настройка OpenVPN

      Один компьютер будет играть роль сервера. Второй – клиента. На сервере при установке OpenVPN нужно установить флажок EasyRSA – для генерации сертификатов и ключей.

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

      После запуска программы установки включаем EasyRSA (на сервере) и устанавливаем. Программа устанавливается просто и не требует каких-либо специфических настроек при установке.

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

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

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

      Ключи и сертификаты создаются на сервере OpenVPN. Для их создания необходимо выполнить следующие действия:

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

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

      С помощью команды cd перейдите в папку C:\Program Files\OpenVPN\easy-rsa и выполните команду init-config.bat, после чего в папке easy-rsa появиться файл vars.bat.

      Откройте vars.bat с помощью блокнота или иного текстового редактора. Я открыл в Notepad++. Укажите свои данные.

      Данные в var.bat

      Данные можно указывать в процессе работы с OpenVPN.

      Указание данных в процессе

      Вернитесь в командную строку и по очереди выполните команды vars и clean-all поочередно.

      Команды vars и clean-all

      Выполните команду build-dh. Если у вас появиться ошибка «openssl» не является внутренней или внешней командой, исполняемой программой или пакетный файлом, то нужно добавить в переменные среды путь OpenVPN\bin.

      Изменение системных переменных сред

      Для этого нужно в переменную среды Path создать путь C:\Program Files\OpenVPN\bin.

      Переменная path

      Затем заново откройте командную строку и выполните пункты 4-5 заново.

      Подождите до завершения процесса. В результате в паке \OpenVPN\easy-rsa\keys появиться файл dh2048.pem.

      Создайте новый сертификат Certificate Authority (CA) и ключ, для чего введите команду build-ca. После завершения процесса в папке keys появятся два файла ca.crt и ca.key.

      Создайте сертификат и ключ сервера. Для этого введите команду build-key-server к которой нужно добавить [CommonName] (в моем случае abuzov-name), то есть моя команда будет build-key-server abuzov-name. В конце дайте положительный ответ (y) на два вопроса.

      Создайте сертификат и ключ для клиента. Введите команду build-key [CommonNameClient], например build-key ClientVPN1.

      Таблица соответствия сертификатов и ключей
      Имя Где применяется Назначение Секретность
      ca.crt Сервер + все клиенты Корневой сертификат (Root CA certificate) Нет
      ta.key Сервер + все клиенты Файл аутентификации пакетов Да
      ca.key Сервер Корневой ключ (Root CA key) Да
      dh2048.pem Сервер Файл параметров Нет
      abuzov-name.csr Сервер Сертификат сервера Нет
      abuzov-name.key Сервер Ключ сервера Да
      ClientVPN1.csr Только на ClientVPN1 Сертификат клиента Нет
      ClientVPN1.key Только на ClientVPN1 Ключ клиента Да

      Теперь нужно скопировать соответствующие ключи на сервер и клиент в папку config (в моем случае это C:\Program Files\OpenVPN\config).

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

      Конфигурация основывается на файлах типовой конфигурации, которые находятся в C:\Program Files\OpenVPN\sample-config.

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

      Копируете файл server.ovpn из папки sample-config в папку config. Открываете и редактируете его. Обратите внимание на двойные слеши.

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

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

      Запустите OpenVPN от имени администратора (и сразу сделайте так, что бы он всегда запускался от имени администратора).

      После этого подключитесь к северу как показано на рисунке.

      Подключение к серверу OpenVPN

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

      Копируете файл client.ovpn из папки sample-config в папку config. Открываете и редактируете его аналогии. В моем случае это:

      Опять, лучше приведу полный код.

      Далее подключаем клиент OpenVPN.

      После этого можно подключаться по защищенному соединению.

      Подключение openvpn

      Анатолий Бузов

      Обучаю HTML, CSS, PHP. Создаю и продвигаю сайты, скрипты и программы. Занимаюсь информационной безопасностью. Рассмотрю различные виды сотрудничества.

      Читайте также: