как создать собственный vpn сервер на windows
VPN-сервер на роутере. Автоподключение VPN в Windows с блокировкой доступа к интернету кроме VPN-соединения
Полный и подробный туториал как поднять VPN-сервер на роутере, реализовать автоподключение к нему в системе Windows и разрешить выход в интернет только через VPN.
Статья написана достаточно подробно, с расчетом даже на тех людей, кто впервые зашел в раздел Windows «Сетевые подключения».
Для чего это может пригодиться:
Содержание:
1. Настройка VPN-сервера на роутере
Сразу хочу сказать, что не все роутеры поддерживают функцию VPN. Буду показывать на примере роутера Tenda. Для других процедура аналогична. Так же необходим статический (белый) IP. Обычно его можно приобрести у вашего провайдера за небольшую плату или вовсе бесплатно.
1. Подключаемся к роутеру. Вводим локальный IP роутера в адресную строку браузера. В моем случае это 192.168.0.1. Посмотреть его можно на наклейке на нижней части роутера, либо в интернете.
2. Вводим логин/пароль. Обычно логин и пароль одинаковы: admin. Если нет, смотрите в инструкции к своему роутеру или в интернете.
3. Переходим во вкладку «VPN/PPTP сервер». На других роутерах это может быть сразу вкладка «VPN-сервер». Если ничего подобного нет, скорее всего, ваш роутер не поддерживает VPN.
4. Включаем сервер PPTP, включаем шифрование. Добавляем Имя пользователя (Логин) и Пароль для подключение к этому серверу. Сохраняем.
Настройка сервера VPN на роутере закончена. Переходим к настройкам Windows.
2. Подключение к VPN через Windows
Настройка будет проводиться на примере чистой Windows 7. На более старших версиях процедура отличается не сильно.
1. Переходим в «Панель управления\Сеть и Интернет\Центр управления сетями и общим доступом». Нажимаем «Настройка нового подключения или сети».
2. Выбираем поочередно «Подключение к рабочему месту/Нет, создать новое сетевое подключение/Использовать мое подключение к интернету (VPN)».
3. В следующем окне в поле «Интернет-адрес» вводим IP нашего VPN-сервера. В поле «Имя местоназначения» указываем любое название на английском без пробелов (например vpn-lab).
Чтобы узнать внешний IP ранее настроенного роутера, нужно зайти с любого устройства, подключенного к роутеру-VPN-серверу, на сайт 2ip.ru. Вписываем указанный там IP в поле.
4. Вводим Логин и Пароль для подключения к сети VPN, которые добавлялись ранее. Нажимаем «Подключиться».
5. Если все сделано правильно, в списке подключений отобразится созданное VPN-подключение. Открываем свойства этого подключения.
6. Настраиваем пункты во вкладках как показано на рисунках ниже. Нажимаем ОК.
7. Проверяем работоспособность. Теперь при проверке внешнего IP (например, через сайт 2ip.ru) должен отображаться IP-адрес роутера-сервера, а не ваш.
3. Автоподключение к VPN при включении ПК
1. Запускаем «Планировщик заданий».
2. Выбираем «Создать простую задачу».
3. В поле «Имя» вводим любое имя (Например AutoVPNConncet).
4. В поле «Триггер» выбираем «При входе в Windows».
5. Действие — «Запустить программу».
6. Далее в поле «Программа или сценарий» вводим «C:\Windows\system32\rasdial.exe». В поле «Добавить аргументы» вводим » » без кавычек. В моем случае это было «vpn-lab TestUser TestPassword».
7. Ставим галочку на «Открыть окно „Свойства“ после нажатия кнопки „Готово“». Нажимаем «Готово».
8. В открывшемся окне ставим галочку на «Выполнить с наивысшими правами». Нажать ОК.
9. Готово. Осталось проверить. Перезагрузите компьютер. После этого проверьте свой IP в сети (например на 2ip.ru). Он должен совпадать с VPN-адресом.
4. Блокировка доступа к интернету кроме VPN-соединения (блокировка интернета без VPN)
1. Переходим в «Панель управления\Сеть и Интернет\Центр управления сетями и общим доступом».
2. VPN-подключение определяем как «Домашняя сеть», сетевое подключение как «Общественная сеть».
3. Открываем «Брандмауэр Windows в режиме повышенной безопасности» и нажимаем на «Свойства брандмауэра Windows».
4. Во вкладке «Общий профиль» блокируем Входящие и Исходящие соединения. В «Защищенные сетевые подключения» выбрать все.
5. Переходим во вкладку «Правила для входящих соединений». Нажимаем «Создать правило».
7. Переходим во вкладку «Правила для исходящих соединений». Нажимаем «Создать правило» и делаем все как в предыдущем пункте.
8. Проверяем работоспособность. Теперь при отключенном VPN должен отсутствовать доступ в интернет.
Буду благодарен всем за конструктивные замечания и предложения.
Гайд: Свой собственный L2TP VPN
Покопавшись по просторам интернета в поисках софта для построения своего собственного VPN, постоянно натываешься на кучу гайдов связанных с неудобным в настройке и использовании OpenVPN, требующим проприетарного клиента Wireguard, только один SoftEther из всего этого цирка отличается адекватной реализацией. Но мы расскажем, так сказать, о нативной для Windows реализации VPN – Routing And Remote Access (RRAS).
По странной причине, никто ни в одном гайде не написал про то, как это все развернуть и как включить на нем NAT, поэтому мы сейчас все исправим и расскажем, как сделать свой собственный VPN на Windows Server.
Ну а уже готовый и преднастроенный VPN можно заказать из нашего маркетплейса, он кстати работает из коробки.
1. Устанавливаем службы
Сначала, нам понадобится Windows Server Desktop Experience. Установка Core нам не подойдет, ибо отсутствует компонент NPA. Если компьютер будет членом домена, можно остановиться и на Server Core, в таком случае все это дело можно уложить в гигабайт ОЗУ.
Нам нужно установить RRAS и NPA (Network Policy Server). Первый нам понадобится для создания туннеля, а второй нужен в случае если сервер не является членом домена.
В выборе компонентов RRAS выбираем Direct access and VPN и Routing.
2. Настраиваем RRAS
После того, как мы установили все компоненты и перезагрузили машину, нужно приступить к настройке. Как на картинке, в пуске, находим диспетчер RRAS.
Через эту оснастку мы можем управлять серверами с установленным RRAS. Жмем правой кнопкой мыши, выбираем настройку и переходим.
Пропустив первую страницу переходим к выбору конфигурации, выбираем свою.
На следующей странице нам предлагается выбрать компоненты, выбираем VPN и NAT.
Далее, далее. Готово.
Теперь нужно включить ipsec и назначить пул адресов, который будет использовать наш NAT. Жмем правой кнопкой мыши по серверу и переходим в свойства.
Первым делом вводим свой пароль для l2TP ipsec.
На вкладке IPv4 обязательно нужно установить выдаваемый клиентам диапазон ip адресов. Без этого NAT не заработает.
Теперь осталось добавить интерфейс за NAT. Переходим в подпункт IPv4, жмем правой кнопкой мыши по пустому месту и добавляем новый интерфейс.
На интерфейсе (тот который не Internal) включаем NAT.
3. Разрешаем правила в брандмауэре
Тут все просто. Нужно найти группу правил Routing and Remote Access и включить их всех.
4. Настраиваем NPS
Ищем в пуске Network Policy Server.
В закладках, где перечислены все политики, нужно включить обе стандартные. Это разрешит всем локальным пользователям подключение к VPN.
5. Подключаемся по VPN
Для демонстрационных целей выберем Windows 10. В меню пуск ищем VPN.
Жмем на кнопку добавления подключения и переходим в настройки.
Имя подключения задавайте какое вам хочется.
IP адрес – это адрес вашего VPN сервера.
Тип VPN – l2TP с предварительным ключом.
Общий ключ – vpn (для нашего образа в маркетплейсе.)
А логин и пароль — это логин и пароль от локального пользователя, то есть от администратора.
Жмем на подключение и готово. Вот и ваш собственный VPN готов.
Надеемся, наш гайд даст еще одну опцию тем, кто хочет сделать свой собственный VPN не связываясь с Linux или просто хочет добавить шлюз в свою AD.
Делаем полностью бесплатный VPN за 30 минут: пошаговая инструкция
VPN не только позволяет обходить региональные ограничения, но и обеспечивает безопасное использование интернета в общественных местах и постоянный доступ к локальной сети. Бесплатные VPN-сервисы ненадёжны, платные слишком уж завышают ценник. Остаётся лишь настроить личный сервер, который выйдет и дешевле, и безопаснее. Это не так сложно, как кажется на первый взгляд.
Содержание
Что для этого потребуется: 3 этапа
Поднятие своего собственного VPN-сервера состоит из нескольких шагов. Это под силу даже неопытному пользователю, достаточно следовать инструкции в статье.
Этап №1. Аренда сервера (выбираем бесплатный)
Поднимать VPN будем на удалённом сервере. Существует огромное количество сервисов, предоставляющих VPS (Virtual Private Server) по адекватным ценам. Ниже представлены популярные поставщики услуг:
Я рассмотрел разные варианты и в итоге остановился на Amazon AWS, так как у него есть бесплатные VPS, и для написания этого материала мне достаточно того, что он предлагает. Также был опробован более выгодный Oracle Cloud, но возникли проблемы с доступом к интернету через развёрнутый там VPN, поэтому пришлось отказаться в пользу AWS. Если предполагаются постоянный просмотр фильмов, видео и загрузка большого количества файлов, программ или игр через VPN, обратите внимание на пропускную способность и лимит трафика. Платные VPS зачастую обеспечивают лучшую скорость и низкую задержку.
После регистрации на сайте и привязки карты (спишется 1 доллар или евро для проверки, вернётся через 3-5 дней), необходимо создать экземпляр виртуальной машины, в которой будем настраивать VPN.
Шаг 1. В окне, открывшемся сразу после регистрации, нажимаем «Открыть Консоль управления AWS».
Шаг 2. Входим как Root-user, вводим данные, указанные при регистрации.
Шаг 3. Определяем регион, в котором будет расположен сервер. Для этого в правом верхнем углу нажимаем на Ohio и из выпадающего списка выбираем любое необходимое расположение сервера. После этого нажимаем Launch a virtual machine.
Шаг 4. Выбираем операционную систему Ubuntu Server 20.04 LTS (x86).
Шаг 5-6. Не требуется настройка, просто нажимаем Next.
Шаг 7. Указываем объём хранилища для работы системы, 20 ГБ будет достаточно.
Шаг 8. Пропускаем, нажимая Next.
Шаг 9. Нужно добавить новое правило. Выбираем тип Custom UDP, в поле порта вписываем 51820, в поле Source — 0.0.0.0/0. Description можно оставить пустым, либо заполнить понятным комментарием. На скриншотах ниже изображено, как должно выглядеть правило. Если всё введено верно, идём дальше и нажимаем Review and Launch.
Шаг 10. Когда нажимаем Launch, появится окно с предложением создать пару ключей, выбираем пункт Create a new key pair, даём любое название и нажимаем Download Key Pair. Загруженный файл понадобится для подключения к серверу. После этого кликаем по Launch Instances и затем по View Instances.
Шаг 11. Далее попадаем в панель управления, где нужно найти столбец Public IPv4 address (не путайте с Public IPv4 DNS) и скопировать IP-адрес оттуда.
Этап №2. Настройка сервера и подключение
Для настройки VDS надо подключиться к нему по SSH-протоколу. Рекомендую использовать для этого программу Termius. Она удобная, простая в использовании и кроссплатформенная.
Скачав её с официального сайта и установив, запускаем и нажимаем кнопку New host. В поле Address вводим IP-адрес выданного сервера — скопировали его ранее на 11 шаге. В строке Username пишем ubuntu, рядом с полем пароля выбираем Keys, далее нажимаем кнопку «+KEY». Рядом со строкой Private key кликаем по надписи File и выбираем загруженный ранее файл с расширением .pem. Сохраняем всё кнопкой Save. Теперь можно подключиться к серверу, дважды кликнув на созданный хост.
Прежде чем выполнять какие-либо действия, я обновляю список доступных к установке пакетов и сами пакеты. Для этого выполняем команду, написав её и нажав Enter:
Настроим пересылку трафика:
Переходим к установке и настройке самого VPN-сервиса.
Этап №3. Конфигурация VPN
На сегодняшний день существует несколько разных протоколов VPN:
Для этой статьи я выбрал WireGuard. При относительно быстрой и лёгкой настройке он предоставляет отличную скорость и высокую безопасность, и, на мой взгляд, является идеально сбалансированным протоколом.
Сгенерируем пару ключей для сервера. server_privatekey — это название файла с приватным ключом сервера, server_publickey — файл с публичным ключом сервера:
wg genkey | tee server_privatekey | wg pubkey > server_publickey
Для каждого клиентского устройства также создадим пару ключей. Это можно сделать и позже, но тогда придётся возвращаться к файлу конфигурации и редактировать его. 1 устройство — 1 выполнение команды ниже и, соответственно, 1 пара ключей. Не забывайте для каждого девайса менять названия файлов в команде. Во всех командах я выделил жирным то, что можно заменить. Например, для второго клиента могут быть client2_privatekey и client2_publickey. Опять же, название можно дать любое, главное, чтобы оно не повторялось и позволяло различить тип ключа и девайс. Я сгенерирую только для одного смартфона:
wg genkey | tee client_privatekey | wg pubkey > client_publickey
Выполним следующую команду для того, чтобы вывести сразу все сгенерированные ключи для сервера и клиента. Если у вас несколько клиентских устройств, то добавьте в конец команды названия всех созданных для них файлов и только потом выполните её. Например, если у вас 3 клиента, напишите cat server_privatekey server_publickey client1_privatekey client1_publickey client2_privatekey client2_publickey client3_privatekey client3_publickey.
Сохраним полученное содержимое в отдельный текстовый файл allKeys.txt на основном компьютере. Каждые две строки — это пара ключей. Первый — приватный, второй — публичный. Соответственно, первая пара — это ключи сервера, другие пары ключей принадлежат клиентам:
cat server_privatekey server_publickey client_privatekey client_publickey
Создадим конфигурационный файл:
Вставим в него следующее содержимое, заменив
— строкой оттуда же, но для клиентского устройства (второй ключ в паре).
Для каждого клиентского устройства надо добавить раздел Peer по подобному принципу, указав IP-адрес, отличающийся четвёртым числом от ранее введённых (например, для второго клиента я введу AllowedIPs = 10.0.0.3/32, для третьего — AllowedIPs = 10.0.0.4/32 и так далее), и добавив его публичный ключ:
[Interface]
Address = 10.0.0.1/24
ListenPort = 51820
PrivateKey =Сохраним файл комбинацией клавиш Ctrl+X, нажмем Y и подтвердим клавишей Enter. Запустим сервис:
Сразу добавим его в автозапуск, чтобы VPN автоматически стартовал после перезагрузки сервера:
sudo systemctl enable wg-quick@wg0.service
Готово, можно подключаться с клиентского устройства.
Подключение к VPN
Подключение настроенного VPN требует установки специального приложения WireGuard на клиентское устройство. Оно доступно на все популярные десктопные и мобильные девайсы.
Android/iOS
Если нужно подключить смартфон, то наиболее удобным вариантом будет создание файла конфигурации прямо на VPS с последующей генерацией и сканированием QR-кода. Для этого введём через всё тот же Termius команду:
Создадим файл конфигурации. Каждому новому устройству — новый файл конфигурации с уникальным именем (к примеру, client2.conf):
sudo nano client.conf
Вставим в файл содержимое, заменив
подставим публичный ключ сервера (server_publickey) из того же файла. В Endpoint заменим на IP-адрес сервера (использовали его для подключения через Termius, нашли на шаге 11). В строке DNS можно указать желаемые DNS-сервера. Я выбрал DNS от Google.
[Interface]
Address = 10.0.0.2/32
PrivateKey =AllowedIPs = 0.0.0.0/0, ::/0
Endpoint = :51820Сохраним файл комбинацией клавиш Ctrl+X, нажмем Y и подтвердим клавишей Enter. Сгенерируем QR-код:
QR-код отсканируем в мобильном приложении, дадим имя туннелю и подключим VPN. Если всё прошло успешно, на любом сайте для проверки IP (например, ipleak.net) будет отображаться адрес удалённого сервера.
![]()
![]()
Windows/macOS
Что касается компьютеров на Windows и macOS, файл конфигурации с расширением .conf лучше создать в любом текстовом редакторе на самом клиенте. Его содержимое будет аналогично тому, что предлагается выше для мобильных устройств. Только пункт с созданием QR-кода можно пропустить. Созданный файл импортируем в приложении WireGuard кнопкой Add Tunnel и активируем.
GNU/Linux
На компьютере с операционной системой GNU/Linux установим WireGuard таким же образом, каким установили его на сервер:
Не забываем настроить пересылку трафика:
И сразу же обновим конфигурацию:
На машине с Ubuntu 20.04 LTS мне пришлось установить дополнительный пакет, так как без него возникала ошибка:
Создадим всё тот же файл конфигурации:
Только в этот раз вставим в него содержимое, которое я указал чуть выше для мобильных устройств. Сохраним файл комбинацией клавиш Ctrl+X, нажмем Y и подтвердим клавишей Enter. Активируем VPN:
Отключить VPN так же просто:
Для экономии времени я советую создать псевдонимы (aliases). Они позволят вместо таких комплексных команд вводить простые: wgon для подключения к VPN и wgoff для отключения. Откроем файл, который определяет конфигурацию терминала при запуске:
Добавим в самый конец несколько строк:
# Aliases for WireGuard
alias wgon=’sudo wg-quick up wg0′
alias wgoff=’sudo wg-quick down wg0′Сохраним файл комбинацией клавиш Ctrl+X, нажмем Y и подтвердим клавишей Enter.