Различия

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


Предыдущая версия
l2tp [2025/07/06 12:39] (текущий) – внешнее изменение 127.0.0.1
Строка 1: Строка 1:
 +====== Что такое L2TP ======
 +~~Title: Установка и настройка L2TP / IPsec VPN-сервера ~~
  
 +
 +**L2TP** (Layer 2 Tunneling Protocol, протокол туннелирования второго уровня) - Поддержка встроена в Windows. Для создания защищённой VPN его используют совместно с IPSec.
 +
 +Протокол туннелирования второго уровня создан на основе [[PPTP]] и проприетарного протокола L2F, разработанного Cisco. В отличие от [[PPTP]], в L2TP не используется выделенный канал управления. Все управляющие сообщения посылаются через туннель. Проблема PPTP и иже с ними, связанная с переходом через [[NAT|NAT]], ввиду отсутствия в GRE портов, решена в L2TP инкапсулированием туннелируемых данных в UDP (порт 1701). В результате пользовательские данные обернуты как в капусте целой кучей заголовков, да плюс еще PPP-прицепчик.
 +
 +Реализация протокола мультисвязи [[mpd|MPD]] имеет унифицированную поддержку следующих типов связи: L2TP, [[PPTP|PPTP]] и другие.
 +===== Установка и настройка L2TP VPN-сервера на Ubuntu Server =====
 +Данный метод подойдет даже новичкам в системном администрировании, для начала можно ознакомиться с информацией от разработчика скрипта IPsec VPN Server Auto Setup Scripts на ресурсе [[https://github.com/hwdsl2/setup-ipsec-vpn|GitHub]]. В скрипте используются протоколы [[IPsec|IPsec]] (Libreswan) и L2TP (xl2tpd). Данный скрипт проверен на работоспособность для Ubuntu 20.04 (Focal), Ubuntu 22.
 +<file bash>
 +apt update
 +wget https://get.vpnsetup.net -O vpn.sh && sudo sh vpn.sh
 +</file>
 +Если вы хотите выполнить скрипт со своими учетными данными для доступа к VPN-серверу, то запустите команду и затем отредактируйте файл vpnsetup.sh в редакторе Nano. Вместо этих переменных впишите свои данные: YOUR_IPSEC_PSK, YOUR_USERNAME and YOUR_PASSWORD.<file bash>
 +wget https://get.vpnsetup.net -O vpn.sh
 +nano -w vpn.sh
 +</file>
 +
 +В автоматическом режиме скрипт создаст готовый L2TP VPN-server, а также сгенерирует учетные данные для доступа к серверу VPN, примерно так:
 +<file bash>
 +IPsec VPN server is now ready for use!
 +
 +Connect to your new VPN with these details:
 +
 +Server IP: xxx.xxx.xxx.xxx
 +IPsec PSK: djsXsLpgShVENZY3WRS
 +Username: vpnuser
 +Password: 7Vjjuo5l6Wzke4x
 +
 +Write these down. Youll need them to connect!
 +
 +IKEv2 setup successful. Details for IKEv2 mode:
 +
 +VPN server address: xxx.xxx.xxx.xxx
 +VPN client name: vpnclient
 +
 +Client configuration is available at:
 +/root/vpnclient.p12 (for Windows & Linux)
 +/root/vpnclient.sswan (for Android)
 +/root/vpnclient.mobileconfig (for iOS & macOS)
 +</file>
 +Работы на сервере завершены, учетные данные для входа получены, осталось настроить VPN клиент на своем компьютере (или смартфоне) для получения доступа к нашему серверу ВПН.
 +
 +===== Настройка клиента L2TP/IPsec в Windows 11 =====
 +  - Выберите Пуск  > Параметры  > Сеть & Интернет > VPN > Добавить VPN.
 +  - В разделе Добавление VPN-подключения выполните следующие действия.
 +      - В поле Поставщик услуг VPN выберите Windows (встроенный).
 +      - В поле Имя подключения введите понятное вам имя (например, "Мой личный VPN"). Это имя подключения VPN, которое будет нужно искать для подключения.
 +      - В поле Имя или адрес сервера введите адрес для сервера VPN.
 +      - Выберите тип VPN-подключения из списка «L2TP/IPsec с общим ключом».
 +      - Общий ключ — вводим наш IPsec PSK
 +      - Тип данных для входа — выберем «имя пользователя и пароль».
 +      - Имя пользователя и пароль — заполняем эти пункты.
 +  - Нажмите Сохранить.
 +
 +Попытавшись подключиться скорей всего вы получите ошибку: "Не удалось установить связь по сети между компьютером и VPN-сервером, так как удаленный сервер не отвечает. Возможная причина: одно из сетевых устройств (таких как брандмауэры, NAT, маршрутизаторы и т.п.) между компьютером и удаленным сервером не настроено для разрешения VPN-подключений. Чтобы определить, какое устройство вызывает эту проблему, обратитесь к администратору или поставщику услуг."
 +
 +Для ее решения, если VPN сервер L2TP/IPsec находится за NAT, то для корректного подключения внешних клиентов через NAT необходимо как на сервере, так и на клиенте Windows внести изменение в реестр, разрешающее UDP инкапсуляцию пакетов для L2TP и поддержку (NAT-T) для IPsec. И даже если сервер не находится за NAT все равно сделайте как указано ниже - это ж Windows:)
 +
 +  - Откройте редактор реестра regedit.exe и перейдите в ветку для Windows 10,8.1,7 и Windows Server 2016,2012R2,2008R2 — HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\PolicyAgent
 +  - Создайте DWORD параметр с именем AssumeUDPEncapsulationContextOnSendRule и значением 2
 +{{ ::assumeudpencapsulationcontextonsendrule.jpg?nolink |}}
 +
 +Возможные значения параметра AssumeUDPEncapsulationContextOnSendRule:
 +  * 0 – (значение по-умолчанию), предполагается, что VPN сервер подключен к интернету без NAT;
 +  * 1 – VPN сервер находится за NAT;
 +  * 2 — и VPN сервер и клиент находятся за NAT.
 +Осталось перезагрузить компьютер и убедиться, что VPN туннель успешно создается.

📌 Удобный подбор VPS по параметрам доступен на DIEGfinder.com - официальном инструменте проекта DIEG. Это часть единой экосистемы, созданной для того, чтобы помочь быстро найти подходящий VPS/VDS сервер для любых задач хостинга.

📌 Для тестирования скриптов, установщиков VPN и Python-ботов рекомендуем использовать надежные VPS на короткий срок. Подробнее о быстрой аренде VPS для экспериментов - читайте здесь.

💥 Подпишись в Телеграм 💥 и задай вопрос по сайтам и хостингам бесплатно!