LINUX.ORG.RU
ФорумAdmin

Как работает L2TP/IPSec?

 ,


1

2

Всем привет.

Подскажите пожалуйста простыми словами, как работает связка данных протоколов.

На данный момент для меня это выглядит как-то так

1) UDP-connection
2) ???
3) Profit!!!

буду благодарен :)

Есть несколько вариантов, но в общем случае вот так:

HTTP -> TCP -> IP -> PPP -> L2TP -> UDP -> IP -> IPSec -> Ethernet -> Physical

L2TP может инкапсулировать себя напрямую в IP, минуя UDP. IP -> IPSec часть, очень относительно изображена, там масса нюансов, в зависимости от ряда факторов. Сам по себе ESP заголовок встраивается в IP заголовок, ровно посредине между началом PDU и концом самого IP заголовка.

Если есть более конкретные вопросы, задавайте, обсудим, материала там огромный пласт, по каждому из протоколов.

ZANSWER ()
Последнее исправление: ZANSWER (всего исправлений: 1)
Ответ на: комментарий от ZANSWER

Добрый утро :)

Есть сервер с ipsec (strongswan), l2tp (xl2tpd) и dhcp (dnsmasq). Обслуживать это дело проще, если есть представление, какая именно последовательность действий должна происходить при подключении, а не просто смотреть логи в поисках ошибок и гуглить их :)

То есть сначала подключение принимает xltpd .... или strongswan ...? Кто-то из них точно :) Затем один вызывает другой на предмет энкапсуляции и т.д. Везде ли тут тут используется UDP или присутствует TCP?

noisebringer ()
Ответ на: комментарий от noisebringer

Перед тем, как ваш L2TP клиент (LAC) желающий установить VPN соединение с вашим xL2TP сервером (LNS), сможет это сделать необходимо создать _IPSec туннель_, за это отвечает Strongswan.

1) IPSec это не протокол; 2) IPSec туннель совсем не туннель.

IPSec это фреймворк, позволяющий осуществить защиту передаваемых через IP протокол данных. В случае L2TP over IPSec, речь идёт о ESP протоколе, работающем в транспортном режиме.

Если потребуется я подробнее рассмотрю работу IPSec.

После того, как установлен IPSec туннель, LAC направляет запрос к LNS (xl2tpd) на создание L2TP туннеля. PPP (pppd) туннель будет создан уже внутри L2TP туннеля.

PPP кадры инкапсулируются в L2TP пакеты, L2TP пакеты инкапсулируются в UDP датаграммы, UDP датаграммы инкапсулируются в ESP пакеты (IPSec), которые в свою очередь инкапсулируются в IP пакеты, для дальнейшей передачи.

Если имеет место быть NAT, то ESP пакеты инкапсулируются в UDP и уже после этого в IP.

В случае L2TP over IPSec TCP протокол не используется, только UDP.

А теперь всё выше сказанное очень в сжатой форме:

Strongswan = IPSec
xl2tpd = L2TP
pppd = PPP
Client -> strongswan -> xl2tpd -> pppd
Server -> pppd -> xl2tpd -> strongswan
ZANSWER ()
Последнее исправление: ZANSWER (всего исправлений: 1)