L2TP
L2TP (Layer 2 Tunneling Protocol, RFC 2661, 1999) — протокол туннелирования L2-фреймов (PPP) поверх L3-сети. Сам по себе не шифрует, поэтому почти всегда используется в связке с IPsec — сборка называется L2TP/IPsec.
История
Слияние двух старых протоколов:
- L2F (Cisco, 1996) — Layer 2 Forwarding.
- PPTP (Microsoft, 1996) — про который отдельно.
L2TP взял лучшее от обоих. Живёт как операторский протокол в xDSL-агрегации и как клиентский VPN в связке с IPsec.
Как работает
- Клиент устанавливает L2TP-сессию с сервером через UDP порт 1701.
- Внутри L2TP гоняется PPP-сессия (Point-to-Point Protocol).
- Через PPP — аутентификация (PAP, CHAP, MS-CHAP), назначение IP-адреса, IPCP.
- Трафик клиента идёт как PPP-фреймы внутри L2TP-инкапсуляции.
L2TP/IPsec
[IP-пакет клиента]
↓ PPP-фрейм
↓ L2TP-инкапсуляция (UDP 1701)
↓ ESP-шифрование (IPsec, ESP)
↓ UDP 4500 (NAT-T) или прямо ESP
↓ отправка серверу
Порядок: сначала IPsec-туннель поднимается через IKE, потом внутри — L2TP.
Порты и правила файрвола
| Порт | Зачем |
|---|---|
| UDP 500 | IKE (phase 1) |
| UDP 4500 | NAT-T (IPsec-in-UDP) |
| UDP 1701 | L2TP (внутри IPsec) |
| ESP (protocol 50) | Данные IPsec (без NAT-T) |
Плюсы
- Встроен в Windows, macOS, iOS, Android — почти нигде не надо ставить клиент.
- Работает через классический IPsec-стек — интеграция с корпоративным AD/RADIUS.
- Пропускает любой L2-трафик внутри (multicast, non-IP протоколы), если надо.
- Устоявшийся, документированный.
Минусы
- Двойная инкапсуляция. IP → PPP → L2TP → ESP → IP-транспорт. Overhead большой.
- Сложная настройка — надо согласовать IPsec и L2TP отдельно.
- Проблемы через NAT/Firewall. Часто UDP 500/1701/4500 блокируются.
- DPI детектит легко — специфичные IKE-пакеты.
- Медленно — двойная инкапсуляция ест CPU, тем более если нет hardware-acceleration.
- Snowden. Ссылались что NSA умеет ломать L2TP/IPsec с PSK через слабый DH — используй сертификаты или сильные группы DH14+.
Реализация в Linux
# /etc/xl2tpd/xl2tpd.conf
[global]
port = 1701
[lns default]
ip range = 10.10.0.100-10.10.0.200
local ip = 10.10.0.1
require chap = yes
refuse pap = yes
# + strongSwan для IPsec-обёртки
L2TPv3
Расширение L2TP (RFC 3931) — pseudo-wire, гоняет любой L2-трафик (Ethernet, Frame Relay, ATM) поверх IP. Используется операторами для L2VPN-услуг между офисами клиентов.
Когда всё ещё используется
- Legacy корпоративные VPN, iOS/Windows-клиенты которые не хотят ставить сторонний софт (хотя сейчас чаще IKEv2).
- Операторская агрегация xDSL (L2TP-LAC/LNS).
- Домашние роутеры на Mikrotik/Keenetic с встроенной поддержкой.
Не бери для нового VPN
Никаких причин выбирать L2TP/IPsec для нового домашнего или облачного VPN в 2026 — WireGuard в 10 раз быстрее, проще, стабильнее. IKEv2-native без L2TP-обёртки тоже лучший выбор если хочется IPsec.