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

В инструкции описывается, как создать VPN сервер встроенными средствами Windows 7, 8 и 8.1, а также рассказывается о том, какие дополнительные действия могут потребоваться для подключения к данному серверу через Интернет с других устройств.

Как создать 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. Это бесплатно.

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

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-----

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

Для этого в конфиг сервера вписываем:
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 автоматически. Спасибо за внимание!

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 FilesOpenVPN.

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

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

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

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

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

cd C:Program FilesOpenVPNeasy-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 FilesOpenVPNeasy-rsapkica.crt»
  • Ключ центра сертификации «C:Program FilesOpenVPNeasy-rsapkiprivateca.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 FilesOpenVPNeasy-rsapkiissuedserver.crt»)

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

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

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

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

cd C:Program FilesOpenVPNbin
openvpn --genkey secret ta.key

Должен появиться файл «C:Program FilesOpenVPNbinta.key». Переместите его в каталог C:Program FilesOpenVPNeasy-rsapki

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

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

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

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

Данный ключ («C:Program FilesOpenVPNeasy-rsapkiprivatekbuldogov.key») нужно передать клиенту и сообщить пароль. Клиент может снять защиту паролем для ключа:

openssl rsa -in "C:Program FilesOpenVPNeasy-rsapkiprivatekbuldogov.key"-out "C:Program FilesOpenVPNeasy-rsapkiprivatekbuldogov_use.key"

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

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

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

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

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

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

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

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

copy "C:Program FilesOpenVPNsample-configserver.ovpn" "C:Program FilesOpenVPNconfig-autoserver.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 FilesOpenVPNlogserver.log»

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

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

Options error: In C:Program FilesOpenVPNconfig-autoserver.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 «HKLMSYSTEMCurrentControlSetServicesTcpipParameters» /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 FilesOpenVPN Connectagent.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 FilesOpenVPNlogopenvpn.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

Пошаговая инструкция-тред от программиста и автора блога о финансах 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:vpnvpnclient.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 [email protected]вашего-сервера

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

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

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

Пишем: scp [email protected]вашего-сервера:/root/vpnclient.mobileconfig ~/Desktop/

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

Для работы проектов iXBT.com нужны файлы cookie и сервисы аналитики.
Продолжая посещать сайты проектов вы соглашаетесь с нашей
Политикой в отношении файлов cookie

Судя по последним новостям, 11 июля Роскомнадзор заблокирует в России ещё семь VPN-сервисов, в том числе Windscribe, Proton VPN и VPN Proxy Master. Это очень популярные публичные сервисы, которые, увы, в ближайшее время работать не будут.

Чтобы иметь доступ к необходимым для вас сайтам, расскажу о простом способе настройки собственного VPN-сервера на базе OpenVPN при помощи всего одной команды. А всего шагов — 9.

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

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

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

  • Putty (для SSH-подключения на старых версиях Windows. На десятки, на macOS и Linux можно использовать встроенный терминал)
  • OpenVPN Connect (для установки соединения ваших устройств с вашим сервером)
  • FileZilla (программа понадобится для загрузки полученных VPN-ключей для их последующей установки)

После этого переходим к следующему, пожалуй, самому важному шагу.

Сделать это вы можете где угодно, но имейте ввиду, что большинство платформ, вроде Amazon Web Services, Digitalocean и Google Cloud для граждан России не работают, так как не принимают оплату банковскими картами, выпущенными в РФ.

Поэтому я могу посоветовать провайдера VDSina. Стоимость аренды составит порядка 200 рублей в месяц. Два года уже арендую у них сервера не только для VPN, но и для веб-проектов, и никаких проблем не было.

VDSina принимает российские банковские карты, криптовалюты и электронные кошельки, вроде WebMoney и QIWI. Но вы можете воспользоваться и другим хостингом.

Настраивайте сервер по следующим параметрам:

  • В качестве операционной системы выберите Ubuntu 20.04
  • Тип сервера: стандартный
  • Тариф: 6,6 рублей в день (около 200 рублей в месяц, это хватит для VPN)
  • Локация: Амстердам

Опционально можете включить резервное копирование, оно стоит сверху еще 6 рублей в день, но позволяет в случае возникновения неполадок откатить всю программную начинку сервера к рабочему состоянию. В таком случае аренда обойдётся вам 300 рублей в месяц.

На этом все, переходим к следующему этапу

Для этого открываем терминал или Putty и вводим следующие команды. После ввода каждой команды нужно нажимать Enter:

1. ssh root@ip-адрес сервера (его можно найти в Поддержка/Тикеты)

2. Согласитесь с подключением — yes

3. После введите пароль сервера (его также можно найти в тикете)

4. После вводим комманду wget https://git.io/vpn -O openvpn-install.sh && bash openvpn-install.sh (исходный код опубликован на GitHub)

5. Выберите протокол подключения UDP — введите цифру 1

6. Согласитесь со стандартным портом. Просто нажмите enter

7. Выберите стандартные настройки сервера для DNS, введя цифру 1

8. Введите имя ключа клиента

9. Нажмите Enter

После того как ключ будет создан, открывайте FileZilla.

В строке хост введите IP-адрес сервера

Имя пользователя: root

Пароль тот же, что вы получили в тикете

Порт: 22 (если не подключается, тогда 21)

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

В ней вы найдете файл с расширением «.ovpn». Он нам и нужен, просто нажимаем на него правой кнопкой мыши и выбираем «Скачать». После этого файл вы можете передать на другое устройство и открыть его в приложении OpenVPN.

Ключ-файл вы можете использовать на всех своих устройствах. При желании можно предоставить его и другим пользователям.

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

Крупные VPN-сервисы первыми попадают под блокировку. Поэтому, у нас два варианта:

  • Пользоваться услугами компаний-середнячков.
  • Научиться ставить VPN и прокси самостоятельно.

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

На сайтах-агрегаторах VPN:

  • vpnpro.com
  • vpnreports.com
  • vpnmentor.com
  • vpntesting.com с таблицей ТОП-50 VPN.

Таблица доступных в РФ VPN-сервисов:

Хочу сделать все своими руками. С чего начать?

Для начала, нужно купить зарубежный сервер VPS/VDS. В среднем сервер стоит 1.5-3$ в месяц.

Где искать зарубежные серверы?

На сайтах-агрегаторах VPS/VDS:

  • serverhunter.com
  • exoticvm.com
  • vpschecker.com
  • vpsbenchmarks.com/screener
  • en.metadedi.net

Когда сервер куплен, можно приступать к установке VPN/прокси.

1. OpenVPN и Pritunl

Pritunl – свободное ПО, предоставляющее веб-интерфейс для управления OpenVPN и Wireguard.

Простая видеоинструкция по установке OpenVPN (Pritunl) на Ubuntu:

1.1. Установка Pritunl

Обновим список пакетов и систему (в статье используется Ubuntu 20):

        sudo apt update && sudo apt upgrade
    

Добавим Pritunl в репозиторий:

        sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com --recv 7568D9BB55FF9E5287D586017AE645C0CF8E292A

sudo tee /etc/apt/sources.list.d/pritunl.list << EOF
deb https://repo.pritunl.com/stable/apt focal main
EOF
    

Установим Pritunl:

        sudo apt update
sudo apt install pritunl
    

Запустим и активируем Pritunl:

        sudo systemctl start pritunl
sudo systemctl enable pritunl
    

Проверим, запущен ли Prtinul:

        sudo systemctl status pritunl
    

Если все работает, то увидим следующую запись:

        ● pritunl.service - Pritunl Daemon
     Loaded: loaded (/etc/systemd/system/pritunl.service; enabled; vendor preset: enabled)
     Active: active (running) since Tue 2021-10-26 15:35:10 EEST; 15s ago
   Main PID: 3716 (pritunl)
      Tasks: 19 (limit: 2282)
     Memory: 283.7M
     CGroup: /system.slice/pritunl.service
             ├─3716 /usr/lib/pritunl/bin/python /usr/lib/pritunl/bin/pritunl start
             └─3792 pritunl-web
    

Добавим MongoDB в репозиторий:

        sudo tee /etc/apt/sources.list.d/mongodb-org-4.4.list << EOF
deb https://repo.mongodb.org/apt/ubuntu focal/mongodb-org/4.4 multiverse
EOF

wget -qO - https://www.mongodb.org/static/pgp/server-4.4.asc | sudo apt-key add -
    

Установим MongoDB:

        sudo apt update
sudo apt-get install mongodb-org
    

Запустим MongoDB:

        sudo systemctl start mongod
sudo systemctl enable mongod
    

Проверим, запущен ли MongoDB:

        sudo systemctl status mongod
    

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

        ● mongod.service - MongoDB Database Server
     Loaded: loaded (/lib/systemd/system/mongod.service; enabled; vendor preset: enabled)
     Active: active (running) since Tue 2021-10-26 15:59:20 EEST; 54s ago
       Docs: https://docs.mongodb.org/manual
   Main PID: 68587 (mongod)
     Memory: 64.1M
     CGroup: /system.slice/mongod.service
             └─68587 /usr/bin/mongod --config /etc/mongod.conf
    

Зайдем на сервер по IP-адресу https://IP-address.

🛠 Как за 3 простых шага создать свой VPN и прокси-сервер

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

        sudo pritunl setup-key
    

Установка Pritunl

Установка Pritunl

Сгенерируем пару логин/пароль:

        sudo pritunl default-password
    

Зайдем еще раз на сервер по IP:

Вход в веб-интерфейс Pritunl

Вход в веб-интерфейс Pritunl

1.2. Настройка Pritunl

Чтобы начать пользоваться Pritunl нужно:

  1. Создать сервер Pritunl.
  2. Создать организацию и прикрепить ее к серверу.
  3. Создать пользователя и прикрепить его к организации.

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

Чтобы создать сервер, перейдем во вкладку ServersAdd Server и активируем вкладку Advanced:

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

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

Добавим сервер.

Создание организации

Перейдем во вкладку UsersAdd Organization и добавим новую организацию:

Создание организации в Pritunl

Создание организации в Pritunl

Прикрепим организацию к серверу. Для этого перейдем во вкладку ServersAttach Organization:

Прикрепление организации к серверу в Pritunl

Прикрепление организации к серверу в Pritunl

Нажмем на кнопку Start для запуска сервера.

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

Чтобы создать пользователя, перейдем во вкладку UsersAdd User:

Создание пользователя в Pritunl

Создание пользователя в Pritunl

1.3. Раздаем ключи

Чтобы подключиться к VPN, скачаем и установим клиент для своей ОС pritunl.com/platforms. Вернемся к серверу и перейдем во вкладку UsersAdd User, и кликнем по значку цепочки:

Раздача ключей в Pritunl

Раздача ключей в Pritunl

Скопируем URI-ссылку:

Раздача ключей в Pritunl

Раздача ключей в Pritunl

Вставим URI-ссылку в клиент и подключимся к VPN:

Соединение с сервером Pritunl

Соединение с сервером Pritunl

Мы подключились к серверу.

2. Shadowsocks и Outline

Outline создан стартапом Jigsaw, примкнувшим к компании Google. Под капотом у Outline находится протокол Shadowsocks, который маскирует данные под HTTPS-трафик.

Для установки Outline потребуется Docker.

2.1. Установка Docker

Обновим список пакетов и систему:

        sudo apt update && sudo apt upgrade
    

Установим пакеты, которые позволят apt устанавливать пакеты через HTTPS:

        sudo apt install apt-transport-https ca-certificates curl software-properties-common
    

Добавим ключ GPG для репозитория Docker в систему:

        curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
    

Добавим репозиторий Docker в систему:

        sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu focal stable"
    

Обновим список пакетов:

        sudo apt update
    

Установим Docker:

        sudo apt install docker-ce
    

2.2. Установка менеджера Outline

C помощью менеджера Outline можно добавлять и удалять сервера и раздавать ключи. Скачаем менеджер по ссылке getoutline.org/ru/get-started:

Установка менеджера Outline

Установка менеджера Outline

Выберем Настройте Outline где угодно:

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

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

Чтобы установить Outline, введем на сервере команду из пункта 1:

Команда для установки Outline на сервер

Команда для установки Outline на сервер

После установки Outline мы получим строчку с инфой о нашем Outline-сервере в формате JSON:

🛠 Как за 3 простых шага создать свой VPN и прокси-сервер

Скопируем JSON-строку, вставим ее во второе поле Менеджера Outline и нажмем Готово.

🛠 Как за 3 простых шага создать свой VPN и прокси-сервер

Теперь мы можем поделиться ключом доступа с кем угодно:

Менеджер Outline

Менеджер Outline

2.3. Раздаем ключи

Скачаем и установим клиент Outline:

Установка клиента Outline

Установка клиента Outline

Откроем менеджер Outline и скопируем ключ в клиент Outlline:

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

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

Связь установлена:

🛠 Как за 3 простых шага создать свой VPN и прокси-сервер

Если в Windows 10 клиент Outline не подключается к серверу, то нужно отключить Hyper V. Для этого откроем PowerShell от имени администратора и введем:

        Disable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V-Hypervisor
    

***

В этой статье мы научились:

  • создавать VPN-соединение с помощью Pritunl;
  • создавать прокси-сервер, используя Outline;
  • раздавать VPN и прокси другим пользователям.

Материалы по теме

  • Как поставить Joomla 4 на выделенный сервер VDS/VPS?
  • Как работает прокси-сервер: максимально простое объяснение
  • Что такое кибербезопасность и почему за этой профессией будущее?
  • Зашифрованный трафик тоже можно вскрыть: рассказываем, как сделать это безопасно
  • GPG и все-все-все: настраиваем шифрование переписки за 10 минут по методу Кристофера Робина

PPTP-L2TP-VPN-Windows-RRAS-000.pngПлатформа Windows Server остается одной из наиболее популярных серверных платформ, в том числе и для реализации решений удаленного доступа. Служба маршрутизации и удаленного доступа (RRAS) позволяет быстро и достаточно просто развернуть VPN-сервер практически для любых нужд. Сегодня мы еще раз вернемся к этому вопросу и рассмотрим, как создать на базе Windows Server PPTP или L2TP сервер для удаленного доступа, как наиболее востребованный сценарий на сегодняшний день.

Научиться настраивать MikroTik с нуля или систематизировать уже имеющиеся знания можно на углубленном курсе по администрированию MikroTik. Автор курса, сертифицированный тренер MikroTik Дмитрий Скоромнов, лично проверяет лабораторные работы и контролирует прогресс каждого своего студента. В три раза больше информации, чем в вендорской программе MTCNA, более 20 часов практики и доступ навсегда.

Почему именно эти типы подключения? Потому что они наиболее просты в реализации и поддерживаются широким спектром клиентов что называется «из коробки». Однако следует помнить, что PPTP не является на сегодняшний день безопасным и имеет слабые алгоритмы шифрования, но при этом он наиболее производительный из VPN-протоколов и имеет минимальные накладные расходы. Кроме того, его поддержка исключена из операционных систем Apple.

Оптимальным вариантом будет использование L2TP/IPsec подключения, которое сочетает в себе простоту, поддержку практически любыми клиентскими ОС и устройствами вместе с неплохим уровнем безопасности, обеспечиваемым IPsec. А так как настройка сервера для этих видов подключений практически идентична, то мы решили объединить их в одну статью.

Установка и настройка службы маршрутизации и удаленного доступа

Для начала работы с VPN в среде Windows Server вам потребуется установить роль Удаленный доступ, это делается стандартными средствами и не должно вызвать затруднений.

PPTP-L2TP-VPN-Windows-RRAS-001.pngВ Службах ролей выбираем Маршрутизация, роль DirectAccess и VPN (RAS) будет добавлена автоматически.

PPTP-L2TP-VPN-Windows-RRAS-002.pngПосле установки роли Удаленный доступ ее следует настроить, проще всего это сделать, нажав на значок с желтым треугольником в Диспетчере серверов и выбрать в появившемся списке пункт Запуск мастера начальной настройки.

PPTP-L2TP-VPN-Windows-RRAS-003.pngВ появившемся окне выбираем пункт Развернуть только VPN.

PPTP-L2TP-VPN-Windows-RRAS-004.png

Затем в оснастке Маршрутизация и удаленный доступ щелкаем правой кнопкой мыши по строке с сервером и выбираем в выпадающем меню Настроить и включить маршрутизацию и удаленный доступ.

PPTP-L2TP-VPN-Windows-RRAS-005.pngПосле чего появится хорошо знакомое окно мастера настройки, предлагающее сразу несколько типовых конфигураций, однако у него есть свои особенности, например, если у вашего сервера всего один сетевой интерфейс, то настроить вариант Удаленный доступ (VPN или модем) мастер вам не даст. Поэтому выбираем самый нижний пункт — Особая конфигурация.

PPTP-L2TP-VPN-Windows-RRAS-006.pngВ следующем окне достаточно поставить галочку Доступ к виртуальной частной сети (VPN) и завершить работу мастера.

PPTP-L2TP-VPN-Windows-RRAS-007.pngПосле завершения работы мастера служба Маршрутизации и удаленного доступа будет запущена и можно приступить к настройке сервера удаленного доступа. Если же данная служба у вас уже установлена и настроена в иной конфигурации, то щелкните правой кнопкой по строке сервера и выберите Свойства, в открывшемся окне на закладке Общие установите опции: IPv4-маршрутизатор локальной сети и вызова по требованию и IPv4-сервер удаленного доступа.

PPTP-L2TP-VPN-Windows-RRAS-008.pngНастройка PPTP и/или L2TP сервера удаленного доступа

Откроем оснастку Маршрутизация и удаленный доступ и перейдем к свойствам сервера через одноименный пункт в меню правой кнопки мыши, прежде всего убедимся, что настройки на закладке Общие соответствуют приведенным на скриншоте выше. Затем переключимся на закладку Безопасность и убедимся, что в качестве Поставщика службы проверки подлинности стоит Windows — проверка подлинности, а Поставщик учетаWindows-учет, еще ниже установим флаг Разрешить пользовательские политики IPsec для L2TP- и IKEv2-подключения и в поле Общий ключ укажите парольную фразу для предварительного ключа.

PPTP-L2TP-VPN-Windows-RRAS-009.pngНажав на кнопку Методы проверки подлинности откроем окно, в котором выберем только Протокол EAP и Шифрованная проверка (Microsoft, версия 2, MS-CHAP v2), остальные протоколы не являются безопасными и должны быть отключены.

PPTP-L2TP-VPN-Windows-RRAS-010.pngНа закладке IPv4 укажем опцию Назначение IPv4-адресовСтатический пул адресов и добавим новый пул для выдачи адресов из него удаленным клиентам. Количество адресов должно быть не менее количества клиентов плюс один адрес, так как первый адрес из пула присваивается серверу. Что касается самого диапазона адресов, то его выбор зависит от конфигурации сети, если вы будете использовать маршрутизацию, то он не должен пересекаться с локальной сетью, если же хотите использовать ProxyARP, то наоборот, должны выделить принадлежащий локальной сети диапазон. В нашем случае используется второй вариант.

PPTP-L2TP-VPN-Windows-RRAS-011.png

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

PPTP-L2TP-VPN-Windows-RRAS-012.pngТакже не забудьте проверить настройки брандмауэра, чтобы убедиться, что правила Маршрутизация и удаленный доступ GRE-входящий, PPTP-входящий (для PPTP) и L2TP-входящий (для L2TP) включены.

PPTP-L2TP-VPN-Windows-RRAS-013.pngProxy ARP

Сетевое взаимодействие в пределах одной IP-сети осуществляется на канальном (L2) уровне, в сетях Ethernet для этого используются MAC-адреса устройств. Для того, чтобы выяснить MAC-адрес узла по его IP применяется протокол ARP (Address Resolution Protocol), использующий широковещательные запросы, на которые отвечает только обладатель указанного IP-адреса. Выдавая удаленным клиентам адреса из диапазона основной сети мы как бы помещаем их в общую IP-сеть, но так как VPN — это соединение точка-точка, ARP-запросы от удаленных клиентов в сеть попадать не будут, единственный узел который их получит — сам VPN-сервер.

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

VPN-сервер за NAT

Так как мы используем Windows Server, то с большой долей вероятности он будет находиться внутри сетевого периметра и нам понадобится настроить проброс портов на маршрутизаторе. Для этого нужно четко понимать, как работает VPN-соединение и какие порты и протоколы следует передавать.

Начнем с PPTP, прежде всего клиент устанавливает управляющее TCP-соединение на порт 1723, затем, после успешной аутентификации создается соединение для передачи данных с использованием протокола GRE.

Таким образом для работы PPTP-сервера за NAT нужно:

  • пробросить порт 1723 TCP
  • разрешить прохождение GRE-трафика

С первым понятно, а вот с GRE могут возникнуть затруднения. Если вы используете маршрутизатор на базе Linux, то обратитесь к следующей нашей статье, если оборудование Mikrotik, настроенное по нашей инструкции, то достаточно пробросить только 1723 TCP, прохождение GRE будет разрешено конфигурацией брандмауэра, в остальных случаях следует обратиться к документации на свою модель маршрутизатора.

С L2TP сложнее, точнее не с ним самим, а с IPsec, который не поддерживает NAT. Для обхода этих ограничений используется протокол NAT-T, который инкапсулирует пакеты IPsec в UDP, позволяя успешно проходить через NAT. Поддержка данного протокола включена по умолчанию практически во всех ОС, кроме Windows. Для включения поддержки NAT-T следует внести изменения в реестр, найдите ветку:

HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesPolicyAgent

И создайте в ней параметр DWORD c именем AssumeUDPEncapsulationContextOnSendRule и значением 2.

Это можно быстро сделать при помощи PowerShell:

Set-ItemProperty -Path "HKLM:SYSTEMCurrentControlSetServicesPolicyAgent" -Name "AssumeUDPEncapsulationContextOnSendRule" -Type DWORD -Value 2 -Force

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

При установлении L2TP/IPsec соединения между узлами прежде всего создается зашифрованный IPsec-канал, для этого используется протокол обмена ключами IKE (порт 500 UDP) и протокол NAT-T (порт 4500 UDP), затем уже внутри безопасного IPsec-соединения поднимается L2TP-туннель на порт 1701 UDP и происходит аутентификация пользователя.

Обратите внимание, аутентификация пользователя в L2TP, в отличии от PPTP, происходит внутри защищенного IPsec-канала, что делает данный тип соединения более безопасным.

Таким образом для работы L2TP/IPsec сервера за NAT нужно:

  • пробросить порт 500 UDP
  • пробросить порт 4500 UDP
  • внести изменения в реестр для включения NAT-T как на сервере, так и на клиенте (только для Windows)

Вопреки распространенному заблуждению порт 1701 UDP пробрасывать не нужно.

Настройка VPN-подключения в Windows

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

PPTP-L2TP-VPN-Windows-RRAS-014.pngПоэтому после того, как вы создадите в нем подключение, следует перейти к его свойствам и на закладке Параметры — Параметры PPP установить в открывшемся окне все флажки. Это позволит использовать все возможности протокола PPP и получить оптимальное качество связи. Обратите внимание, что данные опции должны также поддерживаться со стороны сервера, в противном случае их использование в одностороннем порядке может привести к ошибкам при установлении связи.

PPTP-L2TP-VPN-Windows-RRAS-015.pngЗатем на закладке Безопасность установите в Шифрование данных обязательное, а в пункте Проверка подлинности выберите Протокол расширенной проверки подлинности (EAP).

PPTP-L2TP-VPN-Windows-RRAS-016.pngИ наконец на закладке Сеть перейдите в свойства протокола IP версии 4 (TCP/IP 4) и нажмите Дополнительно, в открывшемся окне снимите флаг Использовать основной шлюз в удаленной сети, в противном случае весь исходящий трафик будет направлен в туннель.

PPTP-L2TP-VPN-Windows-RRAS-017.pngПосле чего можем подключаться и пробовать получить доступ к ресурсам удаленной сети, если вы все сделали правильно, то проблем возникнуть не должно.

Настройка VPN-подключения в Linux

В данной части нашего материала мы будем рассматривать настройку клиентских Linux-систем при помощи графического окружения и Network Manager, настройка серверных систем выходит за рамки текущей статьи. В качестве примера мы будем использовать Ubuntu, но все сказанное будет справедливо для любых основанных на Debian систем, а с некоторыми уточнениями — для любых дистрибутивов.

Поддержка PPTP присутствует практически в любом дистрибутиве по умолчанию. Достаточно перейти в Настройки — Сеть и добавить новое VPN-подключение.

PPTP-L2TP-VPN-Windows-RRAS-018.pngЗаполняем основные настройки: адрес сервера, имя и пароль пользователя.

PPTP-L2TP-VPN-Windows-RRAS-019.pngЗатем нажимаем кнопку Дополнительно и в открывшемся окне в разделе Аутентификация оставляем только MSCHAPv2, обязательно включаем Использовать шифрование MPPE и выбираем ниже 128 бит (наиболее защищенное), также устанавливаем флаг Включить Stateful Encryption для уменьшения накладных расходов на шифрование. Флаги сжатия оставляем включенными.

PPTP-L2TP-VPN-Windows-RRAS-020.png

Закрываем данное окно с сохранением данных и переходим на закладку IPv4, где в разделе Маршрутизация устанавливаем флаг Использовать это подключение только для ресурсов этой сети, в противном случае в туннель пойдет весь трафик узла.

PPTP-L2TP-VPN-Windows-RRAS-024.png

На этом настройка подключения завершена, можно подключаться.

Для работы с L2TP потребуется установить дополнительные пакеты:

apt install network-manager-l2tp-gnome

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

PPTP-L2TP-VPN-Windows-RRAS-021.pngЗатем откроем Настройки PPP, в разделе Аутентификация также выберем только MSCHAPv2, а вот опции шифрования оставляем выключенными, так как чистый L2TP шифрования не использует, для защиты канала здесь применяется IPsec. Флаги сжатия также оставляем установленными по умолчанию.

PPTP-L2TP-VPN-Windows-RRAS-022.pngЗатем переходим в Настройки IPsec, это наиболее сложная и ответственная часть настроек, так как от них напрямую зависит безопасность соединения. В поле Pre-shared key введите Общий ключ, а ниже потребуется указать используемые шифры. Большинство материалов в сети интернет копируют друг у друга откровенно старые и слабые наборы шифров, что не соответствует реалиям сегодняшнего дня, хотя соединение с такими значениями будет работать. Мы же будем использовать максимально безопасные значения, для этого в поле Phase1 Algorithms укажите aes256-sha1-ecp384, а в поле Phase2 Algorithmsaes256-sha1.

Также имеет смысл установка флага Enforce UDP Encapsulation, который принудительно включает NAT-T, в случае если вы точно знаете, что ваш сервер находится за NAT, без этой опции протокол включается автоматически при обнаружении первого устройства с NAT.

PPTP-L2TP-VPN-Windows-RRAS-023.png

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

PPTP-L2TP-VPN-Windows-RRAS-025.pngНа этом настройка закончена, можно подключаться.

Научиться настраивать MikroTik с нуля или систематизировать уже имеющиеся знания можно на углубленном курсе по администрированию MikroTik. Автор курса, сертифицированный тренер MikroTik Дмитрий Скоромнов, лично проверяет лабораторные работы и контролирует прогресс каждого своего студента. В три раза больше информации, чем в вендорской программе MTCNA, более 20 часов практики и доступ навсегда.

Windows имеет встроенную возможность функционировать в качестве сервера VPN с использованием протокола туннелирования точка-точка (PPTP), хотя эта опция несколько скрыта. Вот как его найти и настроить VPN-сервер.


СВЯЗАННЫЕ С:



Что такое VPN и зачем он мне нужен?

Настройка VPN-сервера может быть полезна для подключения к вашей домашней сети в дороге, игры с кем-то в игры по локальной сети или обеспечения безопасности просмотра веб-страниц через общедоступное соединение Wi-Fi — некоторые из многих

причины, по которым вы можете захотеть использовать VPN

. Этот трюк работает в Windows 7, 8 и 10. Сервер использует протокол туннелирования точка-точка (PPTP).

Примечание. У некоторых людей, обновившихся до Windows 10 Creators Update, возникает проблема, когда создание VPN-сервера не удается из-за того, что не запускается служба маршрутизации и удаленного доступа. Это известная проблема, которую еще не исправили с помощью обновлений. Однако, если вам удобно редактировать пару ключей реестра, есть

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

. Мы будем обновлять этот пост, если проблема будет официально решена.

Ограничения

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

  • Вам понадобится умение

    перенаправить порты с вашего роутера

    .
  • Вы должны предоставить Windows и порт для PPTP VPN-сервера напрямую в Интернет, что не идеально с точки зрения безопасности. Вам следует использовать надежный пароль и подумать об использовании порта, который не является портом по умолчанию.
  • Это не так просто настроить и использовать, как такие программы, как

    LogMeIn Hamachi

    а также

    TeamViewer

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


СВЯЗАННЫЕ С:



Как использовать LogMeIn Hamachi для доступа к файлам из любого места

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

Чтобы создать VPN-сервер в Windows, вам сначала нужно открыть окно «Сетевые подключения». Самый быстрый способ сделать это — нажать «Пуск», ввести «ncpa.cpl» и затем щелкнуть результат (или нажать Enter).

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

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

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

На следующей странице выберите


Опция «Через Интернет», чтобы разрешить VPN-соединения через Интернет. Скорее всего, это единственный вариант, который вы здесь увидите, но вы также можете разрешить входящие соединения через модем удаленного доступа, если у вас есть оборудование для удаленного доступа.

Затем вы можете выбрать сетевые протоколы, которые должны быть включены для входящих подключений. Например, если вы не хотите, чтобы люди, подключенные к VPN, имели доступ к общим файлам и принтерам в вашей локальной сети, вы можете отключить параметр «Общий доступ к файлам и принтерам для сетей Microsoft».

Когда все будет готово, нажмите кнопку «Разрешить доступ».

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

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

Настройка маршрутизатора

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

Войдите на страницу настройки вашего роутера.

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

как перенаправить порты на вашем роутере

.


СВЯЗАННЫЕ С:



Как получить доступ к маршрутизатору, если вы забыли пароль

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

Вы также можете рассмотреть возможность использования маршрутизатора или брандмауэра, чтобы разрешать входящие соединения только с определенных IP-адресов.


СВЯЗАННЫЕ С:



Как легко получить доступ к вашей домашней сети из любого места с помощью динамического DNS

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

настроить службу динамического DNS, такую ​​как DynDNS, на вашем маршрутизаторе

.

Подключение к вашему VPN-серверу


СВЯЗАННЫЕ С:




Как найти свой частный и публичный IP-адреса


Для подключения к VPN-серверу вам понадобится

общедоступный IP-адрес вашего компьютера

(IP-адрес вашей сети в Интернете) или ее динамический DNS-адрес, если вы настроили динамическую службу DNS.

В какой бы версии Windows вы ни использовали на компьютере, выполняющем подключение, вы можете просто нажать «Пуск», ввести «vpn» и затем выбрать появившийся вариант. В Windows 10 он будет называться «Изменить виртуальные частные сети (VPN)». В Windows 7 это называется «Настройка подключения к виртуальной частной сети (VPN).

При запросе укажите имя для подключения (подойдет все) и Интернет-адрес (это может быть доменное имя или IP-адрес).


СВЯЗАННЫЕ С:



Как подключиться к VPN в Windows

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

как подключиться к VPN в Windows

.

How To Create A VPN Server On Your Windows Computer Without Installing Any Software

How To Create Your Own VPN SERVER On Windows 7 Computer

How To Create A VPN Server On A Windows Computer And Connect To It From Another Computer 💻↔️🖥️

How To Add Free VPN For Windows Without Any Software

Free VPN — For Windows Without Any Software

How To Make Your Own VPN In Windows 10 | Without Any Software |

How To Setup And Manage FTP Server In Windows 10 Without Any Software

How To Configure VPN For Blocked Sites Without Any Software In Windows 10

How To Connect VPN On PC Without Any Software

Free VPN For Windows 7,8,10 Without Any Software | Setup Lifetime Free VPN For Windows | No Ads

Free VPN Setup | Windows 7 & 10 | Without Software

How To Add Free VPN On Windows 10 Without Any Software [2020 Update]

Best Free VPN Setup Windows 7 & 10 Without Any Software Bangla

Use VPN On Windows 10 PC Without Any Software (Within 4 Minutes)

How To Setup A VPN — Build Your Own VPN Server On Windows 10 For Free

How To Setup A VPN Server And Connect Through It

Create Your Own Secure VPN!

How To Add FREE VPN On WINDOWS 10

How To Setup An FTP Server On Windows 10

Понравилась статья? Поделить с друзьями:
  • Как создать смешную ошибку windows 10
  • Как создать терминальный сервер windows server 2019
  • Как создать службу в windows server 2012 r2
  • Как создать терминальный сервер windows server 2016
  • Как создать теневую копию в windows 10