Введение

Протокол компьютерной сети
В компьютерных сетях протокол Layer 2 Tunneling Protocol (L2TP) — это протокол туннелирования, используемый для поддержки виртуальных частных сетей (VPN) или в качестве части предоставления услуг интернет-провайдерами. Он использует шифрование (для сокрытия информации) только для собственных управляющих сообщений (с использованием необязательного предварительно заданного ключа), и сам по себе не обеспечивает шифрование или конфиденциальность передаваемых данных. Вместо этого он создает туннель для уровня 2 (который может быть зашифрован), а сам туннель может передаваться по протоколу шифрования уровня 3, например, IPsec.

Описание

Весь пакет L2TP, включая полезную нагрузку и заголовок L2TP, отправляется внутри дейтаграммы протокола пользовательских данных (UDP). Преимущество передачи по UDP (а не по TCP) состоит в том, что это позволяет избежать "проблемы блокировки TCP". Обычно сеансы PPP реализуются внутри туннеля L2TP. Сам по себе L2TP не обеспечивает конфиденциальность или надежную аутентификацию. IPsec часто используется для защиты пакетов L2TP, обеспечивая конфиденциальность, аутентификацию и целостность. Комбинация этих двух протоколов обычно известна как L2TP/IPsec (описано ниже). Две конечные точки туннеля L2TP называются концентратором доступа L2TP (LAC) и сетевым сервером L2TP (LNS). LNS ожидает установления новых туннелей. После установления туннеля сетевой трафик между участниками становится двунаправленным. Для использования в сетях через туннель L2TP запускаются протоколы более высокого уровня. Для этого внутри туннеля устанавливается сеанс L2TP для каждого протокола более высокого уровня, например PPP. Инициацию сеансов может осуществлять как LAC, так и LNS. Трафик каждого сеанса изолируется L2TP, что позволяет создать несколько виртуальных сетей через один туннель. Пакеты, передаваемые в туннеле L2TP, классифицируются как управляющие пакеты или пакеты данных. L2TP обеспечивает механизмы надежности для управляющих пакетов, но не для пакетов данных. Надежность, если она требуется, должна обеспечиваться протоколами более высокого уровня, работающими в каждой сессии туннеля L2TP. L2TP позволяет создать виртуальную частную сеть (VPDN) для подключения удаленного клиента к корпоративной сети, используя общую инфраструктуру, такой как Интернет или сеть поставщика услуг.

L2TP/IPsec

Из-за отсутствия конфиденциальности, присущей протоколу L2TP, он часто реализуется совместно с IPsec. Это называется L2TP/IPsec и стандартизировано в IETF RFC 3193. Процесс настройки VPN L2TP/IPsec выглядит следующим образом:

Проведение согласования ассоциации безопасности IPsec (SA), как правило, посредством обмена ключами Интернет (IKE). Это осуществляется через UDP-порт 500 и обычно использует общий пароль (так называемые "предварительно заданные ключи"), открытые ключи или сертификаты X.509 на обеих сторонах, хотя существуют и другие методы формирования ключей. Установление связи с использованием протокола инкапсуляции полезной нагрузки (ESP) в транспортном режиме. Номер протокола IP для ESP – 50 (в сравнении с 6 для TCP и 17 для UDP). На этом этапе безопасный канал установлен, но туннелирование еще не происходит. Согласование и установление L2TP-туннеля между конечными точками SA. Фактическое согласование параметров происходит по защищенному каналу SA в рамках шифрования IPsec. L2TP использует UDP-порт 1701. После завершения процесса пакеты L2TP между конечными точками инкапсулируются IPsec. Поскольку сам пакет L2TP заключен и скрыт внутри пакета IPsec, исходный IP-адрес источника и назначения зашифрован в пакете. Кроме того, нет необходимости открывать UDP-порт 1701 на межсетевых экранах между конечными точками, поскольку внутренние пакеты не обрабатываются до тех пор, пока данные IPsec не будут расшифрованы и удалены заголовки, что происходит только на конечных точках. Потенциальным источником путаницы в L2TP/IPsec является использование терминов "туннель" и "безопасный канал". Термин "туннельный режим" относится к каналу, который позволяет передавать пакеты одной сети без изменений через другую сеть. В случае L2TP/PPP он позволяет передавать пакеты L2TP/PPP через IP. Безопасный канал относится к соединению, в котором гарантирована конфиденциальность всех данных. В L2TP/IPsec сначала IPsec обеспечивает безопасный канал, а затем L2TP – туннель. IPsec также определяет туннельный протокол: он не используется при использовании L2TP-туннеля.

Внедрение Windows

Windows имеет встроенную поддержку (настраиваемую в панели управления) L2TP, начиная с Windows 2000. Windows Vista добавила два дополнительных инструмента: оснастку MMC под названием "Windows Firewall с расширенными возможностями безопасности" (WFwAS) и инструмент командной строки "netsh advfirewall". Ограничением как WFwAS, так и команд netsh является то, что серверы должны указываться по IP-адресу. Windows 10 добавила команды PowerShell "Add-VpnConnection" и "Set-VpnConnectionIPsecConfiguration". Ключ реестра необходимо создать на клиенте и сервере, если сервер находится за устройством NAT-T.

L2TP в сетях провайдеров

L2TP часто используется интернет-провайдерами при перепродаже интернет-услуг, например, ADSL или кабельного доступа. От конечного пользователя пакеты передаются по сети оптового поставщика услуг связи на сервер, называемый широкополосным удаленным сервером доступа (BRAS), который объединяет в себе функции преобразователя протоколов и маршрутизатора. В устаревших сетях путь от абонентского оборудования конечного пользователя до BRAS может проходить через сеть ATM. Далее, по IP-сети, L2TP-туннель устанавливается от BRAS (выступающего в роли LAC) до LNS, являющегося пограничным маршрутизатором на границе IP-сети конечного провайдера.