Как создать собственный vpn сервер на windows

Как создать VPN сервер в WindowsВ Windows 8.1, 8 и 7 имеется возможность создания VPN сервера, хотя она и неочевидна. Для чего это может понадобиться? Например, для игр по «локальной сети», RDP подключения к удаленным компьютерам, домашнему хранилищу данных, медиа серверу или же для безопасного использования Интернета с общедоступных точек доступа.

Подключение к VPN серверу Windows осуществляется по протоколу PPTP. Стоит отметить, что сделать то же самое с помощью Hamachi или TeamViewer проще, удобнее и безопаснее.

Создание VPN сервера

Откройте список подключений Windows. Самый быстрый способ сделать это — нажать клавиши Win + R в любой версии Windows и ввести ncpa.cpl, затем нажать Enter.

Создание нового входящего подключения

В списке подключений нажмите клавишу Alt и в появившемся меню выберите пункт «Новое входящее подключение».

Создание аккаунта пользователя VPN

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

Разрешить VPN подключения по Интернету

Нажмите «Далее» и отметьте пункт «Через Интернет».

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

В следующем диалоговом окне нужно отметить, по каким протоколам будет возможно подключение: если вам не требуется доступ к общим файлам и папкам, а также принтерам при VPN подключении, можно снять отметку с этих пунктов. Нажмите кнопку «Разрешить доступ» и дождитесь завершения создания VPN сервера Windows.

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

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

Для подключения вам потребуется знать IP адрес компьютера в Интернете и создать VPN подключение, в котором VPN сервер — этот адрес, имя пользователя и пароль — соответствуют пользователю, которому разрешено подключение. Если вы взялись за эту инструкцию, то с данным пунктом, скорее всего, проблем у вас не возникнет, и вы умеете создавать такие подключения. Однако ниже — кое-какая информация, которая может оказаться полезной:

  • Если компьютер, на котором был создан VPN-сервер, подключен к Интернету через роутер, то в роутере необходимо создать перенаправление подключений порта 1723 на IP адрес компьютера в локальной сети (а этот адрес сделать статическим).
  • С учетом того, что большинство Интернет-провайдеров предоставляют динамический IP на стандартных тарифах, каждый раз узнавать IP своего компьютера может быть затруднительным, особенно удаленно. Решить это можно с помощью таких сервисов как DynDNS, No-IP Free и Free DNS. Как-нибудь напишу о них подробно, но пока не успел. Уверен, в сети хватает материала, который позволит разобраться, что к чему. Общий смысл: подключение к вашему компьютеру всегда можно будет осуществлять по уникальному домену третьего уровня, несмотря на динамический IP. Это бесплатно.

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

Время на прочтение
4 мин

Количество просмотров 461K

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

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

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

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

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

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

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

Установка.

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

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

Когда-то этот пункт меня останавливал, мол ну их эти ключи, пойду поищу что попроще. Но, увы, ничего лучшего не нашел. Итак, переходим в C:\Program files\OpenVPN\easy-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:\OpenVPN\easy-rsa
vars
clean-all

В ответ должно написать два раза «Скопировано файлов: 1». Значит, все окей. В этом же окне набираем:
build-dh
Создаст ключ Диффи-Хельмана.
build-ca
Создаст основной сертификат.
Будут заданы вопросы, просто нажимаем Enter пока не увидите путь C:\Program files\OpenVPN\easy-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 Files\OpenVPN\easy-rsa\keys забираем: ca.crt, dh1024.pem, server.crt, server.key и кладем их в C:\Program Files\OpenVPN\config.

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

Переходим в C:\Program Files\OpenVPN\config, создаем текстовой документ, вставляем:
# Поднимаем 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 files\OpenVPN\easy-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-----

Раздаем интернет

Для этого в конфиг сервера вписываем:
push «redirect-gateway def1»
push «dhcp-option DNS 8.8.8.8»
push «dhcp-option DNS 8.8.4.4»

DNS-адреса подставляем те, что даны в настройках. Посмотреть можно зайдя в панель управления-сетевые подключения, дважды кликнув на адаптере который смотрит в интернет. Для Win7 Панель управления-Сеть и Интернет-Центр управления сетями и общим доступом-изменение параметров адаптера. Далее, заходим в свойства этого же адаптера, вкладка доступ, ставим птичку напротив «Разрешить другим пользователям сети…» и в выпадающем списке, если есть, выбираем виртуальный адаптер vpn. Затем заходим в свойства адаптера vpn, свойства ipv4 и выставляем получение ip и dns автоматически. Спасибо за внимание!

#статьи


  • 0

Дешёвый и сердитый ответ блокировкам.

Изображение: mrsiraphol / freepik / rawpixel / Freepik / Mickey O`Neil / Hofmann Natalia / Unsplash / OpenVPN Inc/ Wikimedia Commons / Дима Руденок для Skillbox Media

Богдан Островерхов

Пишет о сетях, инструментах для разработчиков и языках программирования. Любит готовить, играть в инди‑игры и программировать на Python.

Пользоваться VPN несложно — на рынке есть много готовых решений, в том числе бесплатных. Но не все VPN одинаково надёжны. Некоторые из них могут просматривать ваш трафик и продавать его третьим лицам. Чтобы избежать этого, можно поднять VPN на своём собственном сервере.

В этой статье мы расскажем о том, как настроить свой VPN на базе OpenVPN. Это вполне по силам сделать даже начинающим, да и стоить будет дешевле, чем пользоваться платными сервисами. Ещё один плюс: ваш VPN будет почти неуязвим для блокировок, так как Роскомнадзору нет дела до частных сетей.

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

Содержание

  • Почему OpenVPN
  • Часть первая: настраиваем сервер
  • Подключаемся к серверу: Windows
  • Подключаемся к серверу: GNU/Linux
  • Подключаемся к серверу: macOS
  • Устанавливаем OpenVPN на сервер
  • Создаём пользователей
  • Часть вторая: устанавливаем клиент
  • На компьютере (Windows, Linux, macOS)
  • На Android-смартфоне
  • На iPhone
  • Список бесплатных VPN-серверов
  • Настраиваем файл конфигурации
  • Заключение

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

Вот его главные фишки:

Безопасность. OpenVPN обеспечивает высокий уровень безопасности благодаря шифрованию и аутентификации на основе сертификатов. Это защищает ваши данные от несанкционированного доступа и прочтения.

Кросс-платформенность. OpenVPN поддерживается на большом количестве платформ, включая Windows, macOS, Linux, Android и iOS. Это значит, что вы можете использовать его на разных устройствах и ОС.

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

Открытый исходный код. Код OpenVPN доступен общественности для просмотра и аудита. Это делает проект прозрачнее и позволяет обнаруживать и исправлять уязвимости быстрее.

Стабильность. Долгая история разработки и широкое комьюнити — это плюсики к стабильности и надёжности. Ещё OpenVPN автоматически восстанавливает соединение при обрыве связи.

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

Чтобы настроить серверную часть, нам потребуется собственно сервер. Он может быть физическим или облачным. Выбор за вами, но мы рекомендуем второй вариант — это дешевле и не так трудозатратно. Услуги аренды облачного сервера предлагает, например, Timeweb. На момент написания статьи там доступны серверы в России, Польше, Нидерландах и Казахстане.

Скриншот: Timeweb / Skillbox Media

На сайте вам предложат пройти регистрацию и выбрать следующие параметры сервера:

  • операционную систему;
  • страну, где сервер физически расположен;
  • конфигурацию серверного железа;
  • возможность бэкапа;
  • SSH-ключ;
  • тип сети — публичную или приватную.

Будем отталкиваться от того, что мы выбрали операционную систему Ubuntu версии 20.04. Если хотите пользоваться ресурсами, заблокированными в России, лучше выбирать страну за пределами СНГ.

Скриншот: Timeweb / Skillbox Media

Конфигурация подойдёт любая, поэтому берём самую дешевую — она будет верхней строчкой в списке. Тратить деньги на бэкап смысла нет, проще настроить VPN заново, если настройки слетят. SSH-ключи тоже излишни — они нужны, чтобы сервер и клиент убедились, что они те, за кого себя выдают. В нашем случае смысла в этом нет. Сеть оставляем публичной.

Скриншот: Timeweb / Skillbox Media

После настроек пополните счет в Timeweb (обычной банковской карты будет достаточно) и оплатите желаемый срок аренды сервера. Ваш сервер создан! Подождите несколько минут и обновите страницу — сервер запустится, и мы сможем двигаться дальше.

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

Скриншот: Timeweb / Skillbox Media

Но если вы выбрали другого хостера — не проблема: сервер можно настроить и с компьютера.

Если вы используете Windows, то перед настройкой нужно будет установить SSH-терминал, так как встроенная командная строка Windows не обрабатывает SSH-команды. Мы будем использовать MobaXterm, но вы можете выбрать любой другой. Linux и macOS поддерживают SSH из собственной командной строки. В терминале MobaXterm:

  • Выберите Session.
  • Выберите SSH.
  • Введите IP-адрес сервера в поле Remote Host.
  • Отметьте чекбокс и введите имя пользователя в поле Specify username.
  • Нажмите ОК.
  • Появится запрос на ввод пароля — введите или вставьте его комбинацией Shift + Insert (пароль не будет отображаться в терминале — это нормально). Если вы пользуетесь ноутбуком, то загуглите комбинацию клавиш, которая заменяет Insert в вашей модели и зажмите её вместе с Shift.

Скриншот: Skillbox Media

Откройте терминал. В командной строке:

Шаг 1. Введите следующую команду:

ssh -l username XXX.XXX.XXX.XXX 

Иксы замените на IP-адрес сервера, а username — на имя пользователя.

Шаг 2. Если будет предложено подтвердить подлинность сервера, введите yes.

Шаг 3. Введите пароль (вводимые символы не отображаются в терминале, это нормально).

Откройте терминал (нажмите значок Launchpad в панели Dock, введите слово Терминал в поле поиска и нажмите значок терминала). В командной строке:

Шаг 1. Введите:

ssh -l username XXX.XXX.XXX.XXX 

Иксы замените на IP-адрес сервера, username — на имя пользователя.

Шаг 2. Если будет предложено подтвердить подлинность сервера, введите yes.

Шаг 3. Введите пароль (вводимые символы не отображаются в терминале, это нормально).

Теперь переходим на сайт openvpn.net, в раздел в раздел products → self-hosted solutions → software packages.

Далее кликаем на эмблему Ubuntu и в появившемся окне выбираем Ubuntu 20 для x86_64 или ARM64, в зависимости от конфигурации вашего сервера (Timeweb обычно предоставляет x86_64).

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

Admin UI
Client UI
login
password

Скриншот: Skillbox Media

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

Скопируйте данные строки Admin UI в строку браузера — вы окажетесь в админской панели сервера. Проигнорируйте предупреждение браузера о безопасности (ДополнительноПринять рискПродолжить). Ничего страшного не произойдёт — вы и так знаете, что это ваш сервер.

Введите логин и пароль (из вывода терминала). Вы попадёте в админскую панель своего сервера. Прочтите и примите лицензионное соглашение.

Далее заходите в ConfigurationNetwork settings. Проверьте, правильно ли указан IP-адрес в соответствующем поле.

Скриншот: OpenVPN / Skillbox Media

Теперь переходите в User managementUser permissions. Здесь мы создаём пользователей. Одновременно только два пользователя могут работать с некоммерческой версией OpenVPN.

Скриншот: OpenVPN / Skillbox Media

Введите имя пользователя в предложенном поле и нажмите на иконку в столбике More settings. Развернётся панель, где нужно будет назначить пароль для пользователя. После создания пароля сверните панель щелчком по той же иконке и нажмите Save settings. Если хотите пользоваться VPN и с мобильного устройства, то создайте ещё одного пользователя.

Далее вам предложат перезагрузить сервер. Нажимайте Update Running Server, и после перезагрузки изменения вступят в силу.

Скриншот: OpenVPN / Skillbox Media

Самое сложное позади. Дальше нас ждёт, по сути, простая установка приложения.

Если вы перешли в эту часть статьи из оглавления и не настраивали собственный сервер, вам нужно будет скачать клиент с официального сайта — есть версии для Windows, Linux и macOS. А ещё — файл конфигурации стороннего сервера, который можно найти здесь.

Если вы были с нами всю первую часть статьи, выходите из админки и заходите в пользовательскую версию страницы по только что созданным логину и паролю. Для этого скопируйте строку вывода Client UI или просто удалите из строки браузера с админкой /admin.

Скачайте на открывшейся странице установщик клиента для своей операционной системы. Если у вас уже установлен клиент, то кликайте на Yourself (user-locked profile) — вы скачаете конфигурационный файл, который нужно будет открыть в клиенте.

Скриншот: OpenVPN / Skillbox Media

Запустите установщик. Мы покажем установку в Windows, но в Linux и macOS процесс проходит идентично. Разве что в Windows система будет ругаться. Это не страшно — нажимайте ПодробнееВыполнить в любом случае.

Скриншот: Skillbox Media

Следуйте инструкциям из установщика.

Скриншот: Skillbox Media

Поздравляем! Клиент установлен.

Скриншот: Skillbox Media

Если вы подняли свой сервер, то при запуске профиль пользователя уже будет добавлен в клиент. Кликайте на ползунок, вводите пароль, и вуаля — вы подключены к VPN через собственный сервер. С подключением!

Скриншот: OpenVPN / Skillbox Media

Если вы решили использовать сторонний VPN-сервер и скачали файл конфигурации OpenVPN, то в меню клиента кликайте на плюсик, выбирайте вкладку File и перетаскивайте файл в поле для загрузки. Дальше подключайтесь так, как описывалось в предыдущем абзаце.

Скриншот: OpenVPN / Skillbox Media

Шаг 1. Установите приложение OpenVPN Connect с Google Play.

Скриншот: Skillbox Media

Шаг 2. Сохраните файл конфигурации OpenVPN (.ovpn) своего сервера на мобильное устройство или скачайте бесплатный чуть ниже. Если вы создали разных пользователей на сервере — для десктопа и для мобильного, то заходите под пользователем для мобильного.

Скриншот: OpenVPN / Skillbox Media

Шаг 3. Откройте приложение OpenVPN Connect. Нажмите на значок меню (обычно это три горизонтальные линии) в верхнем левом углу.

Скриншот: Skillbox Media

Шаг 4. Выберите вкладку File. Выберите скачанный с сервера файл конфигурации OpenVPN (.ovpn).

Скриншот: OpenVPN / Skillbox Media

Шаг 5. Нажмите Выбрать или Импортировать для импорта конфигурации.

Шаг 6. Введите логин и пароль пользователя, которого вы создавали под мобильное устройство (если подключаетесь к своему серверу).

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

Шаг 1. Установите приложение OpenVPN Connect из App Store.

Скриншот: OpenVPN / Skillbox Media

Шаг 2. Скопируйте файл конфигурации OpenVPN (.ovpn) на ваше устройство, например через iCloud Drive, Telegram, WhatsApp или по email. Или скачайте бесплатный в разделе ниже.

Шаг 3. На вашем устройстве найдите файл конфигурации и нажмите на него.

Шаг 4. В меню файла нажмите на значок, как на картинке ниже, и выберите OpenVPN.

Скриншот: OpenVPN / Skillbox Media

Шаг 5. Откроется приложение OpenVPN Connect с предложением импортировать конфигурацию. Нажмите Импортировать для импорта конфигурации в приложение OpenVPN Connect.

Шаг 6. Введите логин и пароль пользователя, которого вы создавали под мобильное устройство (если подключаетесь к своему серверу).

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

Скриншот: OpenVPN / Skillbox Media

Существуют и бесплатные VPN-серверы. Главная их проблема — в скорости и качестве соединения, вряд ли получится комфортно сёрфить через такой сервер. Вторая проблема — конфиденциальность: непонятно, кто владеет сервером и кто имеет доступ к истории активности пользователей.

Если такие риски и неудобства вас не смущают, то заходите сюда. Прокрутите страницу немного вниз, пока не увидите список серверов.

Скриншот: VPN Gate / Skillbox Media

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

После перехода по ссылке скачайте один из четырёх файлов конфигурации. Мы рекомендуем тот, который указывается вместе с IP-адресом и работает через TCP — это самый последний вариант.

Скриншот: vpngate / Skillbox Media

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

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

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

Вот некоторые основные параметры, которые могут быть указаны в файле конфигурации сервера OpenVPN:

port — порт, на котором сервер OpenVPN будет слушать входящие подключения.

proto — протокол, который будет использоваться сервером (TCP или UDP).

dev — виртуальное устройство сетевого интерфейса, которое будет использоваться сервером, например TUN или TAP.

ca, cert и key — пути к сертификатам и ключам, которые сервер OpenVPN будет использовать для аутентификации клиентов и установки безопасного соединения.

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

server — внутренний IP-адрес и диапазон подсетей, которые сервер будет присваивать клиентам.

push позволяет серверу отправлять настройки клиентам, например маршруты, DNS-серверы или другие параметры сети.

keepalive указывает интервал проверки активности подключения между сервером и клиентом.

cipher и auth определяют алгоритмы шифрования и аутентификации, которые будут использоваться сервером.

log — путь к файлу журнала, где будут записываться события и сообщения сервера OpenVPN.

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

Если вам интересен этот путь, то начните с книги «Компьютерные сети: принципы, технологии, протоколы» авторства В. Олифер и Н. Олифер — это хороший выбор для новичков. А на YouTube есть простой и понятный курс по сетям от замдекана факультета ИТ МФТИ Андрея Созыкина.

Жизнь можно сделать лучше!
Освойте востребованную профессию, зарабатывайте больше и получайте от работы удовольствие. А мы поможем с трудоустройством и важными для работодателей навыками.

Посмотреть курсы

Пошаговая инструкция-тред от программиста и автора блога о финансах selfDemanDeD.

  • Для пользователей Windows
  • Для пользователей iOS
  • Для пользователей macOS

На тему VPN-а. Лучше всего обзавестись собственным (персональным) сервером. Потому что сервисы тоже будут блочить (некоторые уже заблокированы), а персональный проживёт дольше.

Это сильно проще, чем кажется, я постараюсь объяснить на пальцах.

Будет тред. Лайк, репост.

Для пользователей Windows

Для начала вам понадобится VPS (виртуальный приватный сервер), на котором будет жить ваш VPN.

Вбиваем «VPS hosting» в гугле, видим большой выбор. Естественно, нужно выбирать зарубежный, иначе толку будет ноль.

Брать можно самый дешевый тариф с 1 CPU/5+ GB диск/500+ GB трафика.

Я пользуюсь https://www.time4vps.com/?affid=6409 (да, ссылка реферальная, дело ваше, использовать её или вбить адрес так). Выбирал по рекомендации человека, которому доверяю.

За первый год просят 25 евро, потом 50. Дают 1 CPU, 20 GB диска, 4 TB трафика (хватит за глаза), канал 100 mbit.

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

Важно: ваш виртуальный сервер – оплот вашей безопасности в сети. Назначайте сложный пароль к аккаунту и храните его в надёжном месте.

Покупайте лучше сразу на год, а то мало ли что.

Итак, у вас есть VPS, а дальше что? Буду показывать на примере моего.

Сначала вам нужно установить ОСь. Делается элементарно.

Идёте в Services->Linux VPS->Reinstall OS, выбираете Ubuntu 20.04, тыкаете Yes под Are you sure, а потом Install.

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

Дальнейшие шаги делаем из под винды. Качаем WinSCP: https://winscp.net/eng/download.php

Устанавливаем прогу (можно стандартную установку), запускаем.

Для начала нужно настроить подключение к своему VPS.

Для этого выбираем New Site, вводим IP и логин root (это админский аккаунт). Сохраните на будущее.

ПАРОЛЬ НЕ СОХРАНЯЙТЕ, ЭТО НЕБЕЗОПАСНО!

Сохранив сессию, жмём Login.

Вот тут у вас запросят пароль, скопируйте его со странички из панели управления.

P.S. Для удобного и достаточно безопасного хранения паролей используйте, например, KeePass (прога) или LastPass (сервис).

Ах да, при первом запуске выберите режим интерфейса Commander (который с двумя панелями), так будет удобнее.

После аутентификации увидите вот такое окно (у вас файлов справа пока не будет, они появятся после установки VPN).

Выберите Open Terminal.

Вас спросят: хотите открыть отдельную shell-сессию? Да, хотите.

Винда. Нажимаем кнопки Windows + R. Открывается окошечко «Выполнить», вбиваем туда cmd и жмём Ctrl+Shift+Enter, чтобы запустить консоль с правами администратора.

Вас спросят «Разрешить этому приложению вносить изменения на вашем устройстве?» Нажимайте «Да».

Нужно будет выполнить три команды. Первая это:
certutil -f -importpfx «c:\vpn\vpnclient.p12» NoExport

(если вы сохранили файл в другом месте, не забудьте поправить)

Вас спросят пароль PFX – он пустой, просто жмите Enter.

Дальше идёт:
powershell -command «Add-VpnConnection -ServerAddress ‘ТУТ АЙПИ ВАШЕГО VPS’ -Name ‘Мой VPN’ -TunnelType IKEv2 -AuthenticationMethod MachineCertificate -EncryptionLevel Required -PassThru»

Это создаст VPN-соединение в винде.

И 3-е:
powershell -command «Set-VpnConnectionIPsecConfiguration -ConnectionName ‘Мой VPN’ -AuthenticationTransformConstants GCMAES128 -CipherTransformConstants GCMAES128 -EncryptionMethod AES256 -IntegrityCheckMethod SHA256 -PfsGroup None -DHGroup Group14 -PassThru -Force»

Этот шаг завершает конфигурацию. Всё, ваша винда великолепна!

Чтобы активировать VPN-подключение, нажмите на иконку своего Wi-Fi в трее и увидите сверху «Мой VPN».

Нажимаете «Подключить» – и вот вы уже безопасно и свободно пользуетесь интернетом!

Дополнение: при первом подключении к вашему VPS вы получите вопрос от WinSCP, доверять ли неизвестному серверу. Нужно, само собой, ответить «Да» – это ваш сервер, вы можете ему доверять. 🙂

Для пользователей iOS

Теперь iOS. Вам нужно будет куда-то положить файл vpnclient.mobileconfig – например, на свой iCloud Drive.

Только не шарьте его ни с кем, кроме тех, кому хотите дать доступ к вашему VPN-у.

После этого открываете на телефоне/планшете (макбуке, кстати, тоже) местоположение файла в приложении Файлы и жмакаете по нему.

Получаете такое сообщение и идёте в Настройки->Основные->VPN и управление устройством.

Там увидите загруженный профиль «IKEv2 VPN» с айпишником вашего сервера. Заходите внутрь, а потом жмите «Установить».

У вас спросят код-пароль, а потом ещё предупредят, что VPN-сервер может всякое делать с вашим трафиком, а ещё он не подписан. Но это ваш личный сервер, так что снова жмём «Установить». (А потом ещё раз внизу.)

Почти все готово, остался один шаг.

Возвращаетесь в «VPN и управление устройством», заходите в «VPN», нажимаете на (i) у вашего IKEv2 VPN, активируете «Подкл. по запросу» – тогда ваш айфон/айпад ВСЕГДА будет ходить в интернет через VPN.

Если хотите включать/выключать вручную – не активируйте эту опцию.

«Вот, собственно, и всё! Если будут вопросы/сложности – пишите, помогу в меру сил».

Для пользователей macOS

Сперва нужно повторить шаги из первых пяти Twitter-публикаций в разделе «Для пользователей Windows» — они выше. Далее выполнить эти:

На маке нам понадобится программа Terminal (так и вбивайте в поиске). Она откроет страшное чёрное окно, но вы не пугайтесь. Подключимся к VPS.

Вводите: ssh root@ip-вашего-сервера

Вас спросят: доверять хосту? Yes.

Введите пароль (он не покажет даже звёздочек, это нормально).

После завершения установки пишите команду «exit», чтобы выйти из SSH. Но не закрывайте консоль, нам ещё качать файл для настройки VPN-соединения на нашем маке.

Пишем: scp root@ip-вашего-сервера:/root/vpnclient.mobileconfig ~/Desktop/

Потом пароль. Вуаля, файл на рабочем столе!

OpenVPN – это набор open source программ, который заслуженно является одним из самых популярных и легких решений для реализации защищенной VPN сети. OpenVPN позволяет объединить в единую сеть сервер и клиентов (даже находящиеся за NAT или файерволами), или объединить сети удаленных офисов. Серверную часть OpenVPN можно развернуть практически на всех доступных операционных системах (пример настройки OpenVPN на Linux). Вы можете установить OpenVPN сервер даже на обычный компьютер с десктопной редакцией Windows 10.

В этой статье, мы покажем, как установить OpenVPN сервер на компьютер с Windows 10, настроить OpenVPN клиент на другом Windows хосте и установить защищенное VPN подключение.

Содержание:

  • Установка службы OpenVPN сервера в Windows
  • Создаем ключи шифрования и сертификаты для OpenVPN
  • Конфигурационный файл OpenVPN сервера в Windows
  • Настройка OpenVPN клиента в Windows

Установка службы OpenVPN сервера в Windows

Скачайте MSI установщик OpenVPN для вашей версии Windows с официального сайта (https://openvpn.net/community-downloads/). В нашем случае это OpenVPN-2.5.5-I602-amd64.msi (https://swupdate.openvpn.org/community/releases/OpenVPN-2.5.5-I602-amd64.msi).

Запустите установку.

Если вы планируете, OpenVPN сервер работал в автоматическом режиме, можно не устанавливать OpenVPN GUI. Обязательно установите OpenVPN Services.

установка openvpn сервера в windows 10

Начиная с версии OpenVPN 2.5, поддерживается драйвер WinTun от разработчиков WireGuard. Считается, что этот драйвер работает быстрее чем классический OpenVPN драйвер TAP. Установите драйвер Wintun, откажитесь от установки TAP-Windows6.

Установите OpenSSL утилиту EasyRSA Certificate Management Scripts.

WinTun драйвер openvpn

Запустите установку.

По умолчанию OpenVPN устаналивается в каталог C:\Program Files\OpenVPN.

После окончания установки появится новый сетевой адаптер типа Wintun Userspace Tunnel. Этот адаптер отключен, если служба OpenVPN не запущена.

сетевой адаптер Wintun Userspace Tunnel

Создаем ключи шифрования и сертификаты для OpenVPN

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

Откройте командную строку и перейдите в каталог easy-rsa:

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

Создайте копию файла:

copy vars.example vars

Откройте файл vars с помощью любого текстового редактора. Проверьте пути к рабочим директориям.

Обязательно поправьте переменную EASYRSA_TEMP_DIR следующим образом:

set_var EASYRSA_TEMP_DIR "$EASYRSA_PKI/temp"

EASYRSA_TEMP_DIR

Можете заполнить поля для сертификатов (опционально)

set_var EASYRSA_REQ_COUNTRY "RU"
set_var EASYRSA_REQ_PROVINCE "MSK"
set_var EASYRSA_REQ_CITY "MSK"
set_var EASYRSA_REQ_ORG "IT-Company"
set_var EASYRSA_REQ_EMAIL " [email protected] "
set_var EASYRSA_REQ_OU " IT department "

конфигурационный файл vars при установке сертфикатов easyrsa

Срок действия сертификатов задается с помощью:

#set_var EASYRSA_CA_EXPIRE 3650
#set_var EASYRSA_CERT_EXPIRE 825

Сохраните файл и выполните команду:

EasyRSA-Start.bat

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

Инициализация PKI:

./easyrsa init-pki

Должна появится надпись:

init-pki complete; you may now create a CA or requests.
Your newly created PKI dir is: C:/Program Files/OpenVPN/easy-rsa/pki

Теперь нужно сгенерировать корневой CA:

./easyrsa build-ca

Задайте дважды пароль для CA:

CA creation complete and you may now import and sign cert requests.

Данная команда сформировала:

  • Корневой сертификат центра сертификации: «C:\Program Files\OpenVPN\easy-rsa\pki\ca.crt»
  • Ключ центра сертификации «C:\Program Files\OpenVPN\easy-rsa\pki\private\ca.key»

Теперь нужно сгенерировать запрос сертификата и ключ для вашего сервера OpenVPN:

./easyrsa gen-req server nopass

Утилита сгенерирует два файла:

req: C:/Program Files/OpenVPN/easy-rsa/pki/reqs/server.req
key: C:/Program Files/OpenVPN/easy-rsa/pki/private/server.key

Подпишем запрос на выпуск сертификата сервера с помощью нашего CA:

./easyrsa sign-req server server

Подтвердите правильность данных, набрав yes.

Затем введите пароль CA от корневого CA.

В каталоге issued появится сертификат сервера («C:\Program Files\OpenVPN\easy-rsa\pki\issued\server.crt»)

сертификат сервера openvpn

Теперь можно создать ключи Диффи-Хеллмана (займет длительное время):
./easyrsa gen-dh

Для дополнительной защиты VPN сервера желательно включить tls-auth. Данная технология позволяет использовать подписи HMAC к handshake-пакетам SSL/TLS, инициируя дополнительную проверку целостности. Пакеты без такой подписи будут отбрасываться VPN сервером. Это защитит вас от сканирования порта VPN сервера, DoS атак, переполнения буфера SSL/TLS.

Сгенерируйте ключ tls-auth:

cd C:\Program Files\OpenVPN\bin
openvpn --genkey secret ta.key

Должен появиться файл «C:\Program Files\OpenVPN\bin\ta.key». Переместите его в каталог C:\Program Files\OpenVPN\easy-rsa\pki

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

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

./easyrsa gen-req kbuldogov
./easyrsa sign-req client kbuldogov

пароль для защиты ключа клиента easyrsa

Данный ключ («C:\Program Files\OpenVPN\easy-rsa\pki\private\kbuldogov.key») нужно передать клиенту и сообщить пароль. Клиент может снять защиту паролем для ключа:

openssl rsa -in "C:\Program Files\OpenVPN\easy-rsa\pki\private\kbuldogov.key"-out "C:\Program Files\OpenVPN\easy-rsa\pki\private\kbuldogov_use.key"

снять защиту паролем с ключа клиента

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

./easyrsa gen-req имяклиента nopass

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

Вы можете отохвать скомпрометированные сертификаты клиентов:
cd C:\Program Files\OpenVPN\easy-rsa
EasyRSA-Start.bat
./easyrsa revoke kbuldogov

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

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

Скопируйте типовой конфигурационный файл OpenVPN сервера:

copy "C:\Program Files\OpenVPN\sample-config\server.ovpn" "C:\Program Files\OpenVPN\config-auto\server.ovpn"

Откройте файл server.ovpn в любом текстовом редакторе и внесите свои настройки. Я использую следующий конфиг для OpenVPN:

# Указываем порт, протокол и устройство
port 1194
proto udp
dev tun
# Указываем пути к сертификатам сервера
ca "C:\\Program Files\\OpenVPN\\easy-rsa\\pki\\ca.crt"
cert "C:\\Program Files\\OpenVPN\\easy-rsa\\pki\\issued\\server.crt"
key "C:\\Program Files\\OpenVPN\\easy-rsa\\pki\\private\\server.key"
dh "C:\\Program Files\\OpenVPN\\easy-rsa\\pki\\dh.pem"
# Указываем настройки IP сети, адреса из которой будет будут получать VPN клиенты
server 10.24.1.0 255.255.255.0
#если нужно разрешить клиентам подключаться под одним ключом, нужвно включить опцию duplicate-cn (не рекомендуется)
#duplicate-cn
# TLS защита
tls-auth "C:\\Program Files\\OpenVPN\\easy-rsa\\pki\\ta.key" 0
cipher AES-256-GCM
# Другая параметры
keepalive 20 60
persist-key
persist-tun
status "C:\\Program Files\\OpenVPN\\log\\status.log"
log "C:\\Program Files\\OpenVPN\\log\\openvpn.log"
verb 3
mute 20
windows-driver wintun

Сохраните файл.

OpenVPN позволяет использовать как TCP, так и UDP для подключения. В этом примере я запустил OpenVPN на 1194 UDP. Рекомендуется использовать протокол UDP, это оптимально как с точки зрения производительности, так и безопасности.

Не забудьте открыть на файерволе порты для указанного вами порта OpenVPN на клиенте и на сервере. Можно открыть порты в Windows Defender с помощью PowerShell.
Правило для сервера:

New-NetFirewallRule -DisplayName "AllowOpenVPN-In" -Direction Inbound -Protocol UDP –LocalPort 1194 -Action Allow

Правило для клиента:

New-NetFirewallRule -DisplayName "AllowOpenVPN-Out" -Direction Outbound -Protocol UDP –LocalPort 1194 -Action Allow

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

Set-Service OpenVPNService –startuptype automatic –passthru
Get-Service OpenVPNService| Start-Service

запуск службы OpenVPNService

Откройте панель управления, и убедитесь, что виртуальный сетевой адаптер OpenVPN Wintun теперь активен. Если нет, смотрите лог «C:\Program Files\OpenVPN\log\server.log»

сетевой адаптер openvpn wintun

Если при запуске OpenVPN вы видите в логе ошибку:

Options error: In C:\Program Files\OpenVPN\config-auto\server.ovpn:1: Maximum option line length (256) exceeded, line starts with..

Смените в файле server.ovpn символы переноса строки на Windows CRLF (в notepad++ нужно выбрать Edit -> EOL Conversion -> Windows CR LF). Сохраните файл, перезапустите службу OpevVPNService.

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

Включить опцию IPEnableRouter в реестре (включает IP маршрутизацию в Windows, в том числе включает маршрутизацию меду сетями Hyper-V): reg add «HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters» /v IPEnableRouter /t REG_DWORD /d 1 /f

Добавьте в конфгурационный файл сервера OpenVPN маршруты до внутренней IP сети:

push "route 10.24.1.0 255.255.255.0"
push "route 192.168.100.0 255.255.255.0"

Если нужно, назначьте клиенту адреса DNS серверов:

push "dhcp-option DNS 192.168.100.11"
push "dhcp-option DNS 192.168.100.12"

Если нужно завернуть все запросы клиента (в том числе Интернет трафик) на ваш OpenVPN сервер, добавьте опцию:

push "redirect-gateway def1"

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

Создайте на сервере шаблонный конфигурационный файла для клиента VPN (на базе iшаблона client.ovpn) со следующими параметрами (имя файла kbuldovov.ovpn)

client
dev tun
proto udp
remote your_vpn_server_address 1194
resolv-retry infinite
nobind
persist-key
persist-tun
ca ca.crt
cert kbuldogov.crt
key kbuldogov.key
remote-cert-tls server
tls-auth ta.key 1
cipher AES-256-GCM
connect-retry-max 25
verb 3

В директиве remote указывается публичный IP адрес или DNS имя вашего сервера OpenVPN.

Скачайте и установите клиент OpenVPN Connect для Windows (https://openvpn.net/downloads/openvpn-connect-v3-windows.msi).

установка openvpn connect в windows

Теперь на компьютер с клиентом OpenVPN нужно с сервера скопировать файлы:

  • ca.crt
  • kbuldogov.crt
  • kbuldogov.key
  • dh.pem
  • ta.key
  • kbuldogov.ovpn

импорт конфигурации клиента ovpn в openvpn клиент

Теперь импортируйте файл с профилем *.ovpn и попробуйте подключиться к вашему VPN серверу.

Если все настроено правильно, появится такая картинка. подключение к openvpn установлено

Проверьте теперь лог OpenVPN на клиенте «C:\Program Files\OpenVPN Connect\agent.log»

Mon Dec 27 08:09:30 2021 proxy_auto_config_url
Mon Dec 27 08:09:31 2021 TUN SETUP
TAP ADAPTERS:
guid='{25EE4A55-BE90-45A0-88A1-8FA8FEF24C42}' index=22 name='Local Area Connection'
Open TAP device "Local Area Connection" PATH="\\.\Global\{25EE4A55-BE90-45A0-88A1-8FA8FEF24C42}.tap" SUCCEEDED
TAP-Windows Driver Version 9.24
ActionDeleteAllRoutesOnInterface iface_index=22
netsh interface ip set interface 22 metric=1
Ok.
netsh interface ip set address 22 static 10.24.1.6 255.255.255.252 gateway=10.24.1.5 store=active
IPHelper: add route 10.24.1.1/32 22 10.24.1.5 metric=-1

Клиент успешно подключится к OpenVPN серверу и получил IP адрес 10.24.1.6.

Проверьте теперь лог на сервере («C:\Program Files\OpenVPN\log\openvpn.log»). Здесь также видно, что клиент с сертификатом kbuldogov успешно подключится к вашему серверу.

2021-12-27 08:09:35 192.168.13.202:55648 [kbuldogov] Peer Connection Initiated with [AF_INET6]::ffff:192.168.13.202:55648
2021-12-27 08:09:35 kbuldogov/192.168.13.202:55648 MULTI_sva: pool returned IPv4=10.24.1.6, IPv6=(Not enabled)
2021-12-27 08:09:35 kbuldogov/192.168.13.202:55648 MULTI: Learn: 10.24.1.6 -> kbuldogov/192.168.13.202:55648
2021-12-27 08:09:35 kbuldogov/192.168.13.202:55648 MULTI: primary virtual IP for kbuldogov/192.168.13.202:55648: 10.24.1.6

  • Как создать том на новом жестком диске windows 10
  • Как создать системный диск для установки windows 10
  • Как создать словарь для брута в windows
  • Как создать свой dns сервер на windows 10
  • Как создать том на жестком диске windows 10 через командную строку