Layer 2 Tunneling Protocol
Layer 2 Tunneling Protocol (L2TP) — это протокол туннелирования, используемый в компьютерных сетях для поддержки виртуальных частных сетей (VPN). Он не обеспечивает сам по себе шифрования или конфиденциальности, а полагается на протокол аутентификации и шифрования (такой как IPsec) для создания защищённого канала связи. L2TP работает на канальном уровне модели OSI (уровень 2), что позволяет инкапсулировать кадры различных протоколов (например, Ethernet, PPP) для передачи через сети с пакетной коммутацией, такие как IP, Frame Relay или ATM.
История
Разработка L2TP началась в конце 1990-х годов как объединение двух существовавших на тот момент протоколов: Layer 2 Forwarding (L2F) от компании Cisco Systems и Point-to-Point Tunneling Protocol (PPTP) от Microsoft. Целью было создание единого стандарта, лишённого недостатков обоих предшественников. Первая спецификация была опубликована в 1999 году как RFC 2661. Впоследствии протокол был расширен и уточнён в ряде дополнительных RFC, в частности RFC 3931 (2005 год), который определил L2TPv3 — версию, поддерживающую передачу не только PPP-кадров, но и других протоколов канального уровня (например, Ethernet, Frame Relay).
Архитектура и принцип работы
L2TP основан на модели «клиент-сервер» или «клиент-концентратор». В типичной конфигурации используются два основных компонента:
- L2TP Access Concentrator (LAC) — концентратор доступа, который инициирует или принимает туннельные соединения. LAC обычно располагается на стороне провайдера или на сетевом шлюзе.
- L2TP Network Server (LNS) — сетевой сервер, который обрабатывает входящие туннелированные сессии. LNS является точкой окончания туннеля и часто выполняет функции аутентификации и назначения IP-адресов.
Процесс установления соединения включает два этапа:
- Установление управляющего канала (Control Connection) — между LAC и LNS устанавливается TCP-соединение (по умолчанию порт 1701) для обмена управляющими сообщениями (запросы на установление, разрыв туннеля, проверка состояния).
- Установление сессии (Session) — внутри управляющего канала создаётся одна или несколько сессий, каждая из которых соответствует отдельному пользовательскому соединению. Для передачи данных используется протокол UDP (порт 1701), а сами данные инкапсулируются в L2TP-пакеты.
L2TP инкапсулирует кадры протокола Point-to-Point Protocol (PPP), который, в свою очередь, может нести в себе IP-пакеты, а также данные других протоколов. Это позволяет организовать удалённый доступ к сети, при котором клиент получает IP-адрес из пула LNS, как если бы он был напрямую подключён к локальной сети.
L2TPv3
Версия L2TPv3 (RFC 3931) значительно расширила возможности протокола. В отличие от L2TPv2, который работал исключительно с PPP, L2TPv3 позволяет инкапсулировать кадры любых протоколов канального уровня, включая Ethernet, 802.1Q (VLAN), Frame Relay и ATM. Это делает L2TPv3 более универсальным инструментом для построения Layer 2 VPN (L2VPN), например, для организации связи между удалёнными офисами на уровне Ethernet.
Безопасность и L2TP/IPsec
Стандартный L2TP не предоставляет средств шифрования и аутентификации данных. Вся передаваемая информация передаётся в открытом виде, что делает протокол уязвимым для перехвата и подмены. Для обеспечения безопасности L2TP практически всегда используется в комбинации с IPsec (Internet Protocol Security). Такая связка получила название L2TP/IPsec.
В схеме L2TP/IPsec сначала устанавливается защищённый IPsec-туннель (обычно с использованием протокола IKE для обмена ключами и аутентификации). Затем внутри этого туннеля запускается L2TP-соединение. Таким образом, все L2TP-пакеты (как управляющие, так и данные) шифруются и аутентифицируются IPsec. Это обеспечивает конфиденциальность, целостность и аутентификацию передаваемых данных.
Применение
L2TP и L2TP/IPsec широко применяются в следующих сценариях:
- Удалённый доступ (Remote Access VPN): подключение отдельных сотрудников или пользователей к корпоративной сети через интернет. Клиентское программное обеспечение (например, встроенный VPN-клиент Windows, macOS, Linux, iOS, Android) поддерживает L2TP/IPsec.
- Соединение «сеть-сеть» (Site-to-Site VPN): организация связи между двумя или более локальными сетями, например, между главным офисом и филиалами. L2TPv3 часто используется для прозрачного объединения сетей на канальном уровне.
- Транспорт для PPPoE: у провайдеров интернет-услуг L2TP может использоваться для агрегации PPPoE-сессий от абонентов на центральном сервере (BRAS/BNG).
- VPN на базе сетей операторов (Provider-Provisioned VPN): L2TPv3 применяется для предоставления услуг L2VPN корпоративным клиентам.
Критика и ограничения
Несмотря на широкое распространение, L2TP имеет ряд недостатков:
- Сложность настройки: по сравнению с более современными протоколами, такими как OpenVPN или WireGuard, настройка L2TP/IPsec требует больше усилий, особенно при необходимости обеспечения совместимости с различными брандмауэрами и NAT (Network Address Translation). Для корректной работы L2TP/IPsec через NAT требуется поддержка протокола NAT-T (NAT Traversal).
- Производительность: двойная инкапсуляция (L2TP поверх IPsec) приводит к дополнительным накладным расходам и увеличению размера пакетов, что может снижать пропускную способность, особенно на медленных каналах.
- Уязвимости в реализации: хотя сам протокол L2TP/IPsec считается достаточно безопасным, в прошлом были обнаружены уязвимости в конкретных реализациях (например, в клиентах для некоторых операционных систем). Кроме того, существуют атаки на протокол MS-CHAPv2, который часто используется для аутентификации PPP внутри L2TP.
- Ограниченная гибкость: L2TP жёстко привязан к модели «клиент-сервер» и не поддерживает некоторые современные функции, такие как мультиплексирование нескольких туннелей через одно соединение или динамическое изменение параметров туннеля без его разрыва.
Сравнение с другими протоколами
| Протокол | Уровень OSI | Шифрование | Аутентификация | Основное применение |
|---|---|---|---|---|
| PPTP | Канальный (2) | Встроенное (MPPE) | MS-CHAPv2, PAP, CHAP | Устаревший, небезопасный удалённый доступ |
| L2TP/IPsec | Канальный (2) | Через IPsec (AES, 3DES) | Через IPsec (IKE) + PPP | Удалённый доступ, site-to-site VPN |
| OpenVPN | Прикладной (5-7) | Встроенное (OpenSSL) | Сертификаты, логин/пароль | Гибкий, безопасный удалённый доступ |
| WireGuard | Сетевой (3) | Встроенное (Noise) | Ключи Ed25519 | Современный, высокопроизводительный VPN |
| IPsec | Сетевой (3) | Встроенное (ESP/AH) | IKE | Site-to-site VPN, защита трафика |
Стандарты и спецификации
Основные документы, определяющие L2TP:
- RFC 2661 — Layer Two Tunneling Protocol "L2TP" (1999, L2TPv2)
- RFC 3931 — Layer Two Tunneling Protocol - Version 3 (2005, L2TPv3)
- RFC 3193 — Securing L2TP using IPsec (2001)
- RFC 2888 — Secure Remote Access with L2TP (2000)
- RFC 3438 — Layer Two Tunneling Protocol (L2TP) Internet Assigned Numbers Authority (IANA) Considerations (2003)
Примечания
- Протокол L2TP не следует путать с L2F (Layer 2 Forwarding) — его предшественником от Cisco.
- В операционных системах семейства Windows, начиная с Windows 2000, встроен клиент L2TP/IPsec. В Windows 10 и 11 поддержка протокола сохраняется, но Microsoft рекомендует использовать более современные протоколы, такие как IKEv2.
- Для корректной работы L2TP/IPsec через NAT необходимо, чтобы маршрутизатор поддерживал NAT-T (NAT Traversal) и UDP-инкапсуляцию IPsec-пакетов.
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →