2

Я имею в виду этот вопрос. И чтобы быть ясным: это действительно не о старых дебатах PPTP против L2TP. ;-)

Я успешно настроил racoon в качестве сервера IKE без какой-либо реализации L2TP, и он работает довольно хорошо. Я могу установить туннель от моего ноутбука до сервера VPN и использовать его в качестве интернет-шлюза. Насколько я вижу, все IP-пакеты надежно инкапсулированы. Вуаля, это все, что я хотел. Но, к сожалению, это только OS X/iOS, которые поддерживают этот тип "простого IPSec" VPN из коробки, но мне нужно поддерживать и другие платформы. Все другие ОС, включая Windows и Android, похоже, нуждаются в дополнительном PPP-соединении, которое устанавливается с помощью L2TP с использованием программного обеспечения, такого как xl2tpd. Мне было любопытно, поэтому я снова настроил его с помощью racoon+xl2tpd и создал туннель L2TP/IPSec. И работает точно так же, как и без L2TP.

Так в чем же преимущество использования L2TP? Да, я могу туннелировать другие протоколы, такие как X.25, но подавляющему большинству пользователей редко требуется ничего, кроме IP. Я могу предположить причины, почему MS делает это более сложным, чем должно быть в VPN. Но, по крайней мере, я не могу понять, почему Android все еще нуждается в этом L2TP-слое, который, на мой взгляд, только добавляет сложности и накладных расходов. И да, я знаю, что есть дополнительное клиентское программное обеспечение для преодоления ограничений ОС.

Даже с аутентификацией нет никакой разницы: удаленная аутентификация обычно выполняется с использованием предварительных общих ключей или сертификатов, а аутентификация пользователя выполняется через XAuth или CHAP/PAP. - Джип, я здесь все упрощаю, но ты понимаешь, о чем я.

Кто-нибудь знает, почему L2TP по-прежнему является стандартным способом с IPSec? Я что-то пропустил?

2 ответа2

4

В начале (задолго до того, как реализация BSD IPsec была интегрирована в ядро Linux) было невозможно использовать IPsec VPN через шлюз NAT, поскольку было невозможно использовать NAT IPsec. IPsec был разработан для IPv6, который больше не знает NAT, и использование IPsec для IPv4 всегда было своего рода хаком. Отсутствие NAT для так называемых дорожных воинов, использующих IPv4, было бесполезным. Единственный способ заставить его работать в 90-х годах - использовать L2TP, потому что L2TP работает поверх UDP и NAT возможен. Cisco подобрала это решение и внедрила его в своих VPN-концентраторах. Это время стало стандартом. И для того, чтобы быть совместимым с Cisco, многие другие поставщики реализовали это. Вот почему Apple реализовала это и почему Android также поддерживает это.

Но туннелирование кадров Ethernet уровня 2 через туннель IPsec никогда не было отличной идеей для связи только по IP. В 90-х годах были другие протоколы, которые требовали мостового соединения, такие как IPX, но сегодня все говорят на IP. И для того, чтобы избавиться от накладных расходов кадра уровня 2, RFC 3948 предложил «UDP-инкапсуляцию пакетов ESP IPsec». Это также работает путем помещения протоколов ESP и AH в пакеты UDP, что позволяет использовать этот NAT. Но он избегает любого слоя 2 кадра. Это современное решение, которое все должны попробовать в первую очередь. Использование L2TP является устаревшим способом, который существует только для обратной совместимости.

3

Android начиная с 4.0 поддерживает простой IPsec из коробки. И есть несколько приложений для 4.x, которые предоставляют другие протоколы VPN на неподключенных устройствах (например, IKEv2/IPsec с VPN-клиентом strongSwan).

Начиная с Windows 7 вы можете использовать встроенный клиент IKEv2/IPsec. Предоставленный racoon не поддерживает IKEv2, но есть другие реализации с открытым исходным кодом, которые поддерживают (например, strongSwan или Libreswan).

Кто-нибудь знает, почему L2TP по-прежнему является стандартным способом с IPSec?

Я бы не сказал, что это стандартный способ, как, например, Windows 7 и новее, сначала попробуйте IKEv2, но я согласен, что клиенты все еще предлагают его довольно заметно.

Одной из причин его первоначального успеха было, вероятно, то, что он позволил повторно использовать инфраструктуру PPP, которая существовала для подключений удаленного доступа (будучи более безопасной и стандартизированной, чем PPTP). А поскольку L2TP-установки существовали в течение длительного времени и были развернуты довольно широко, практически любой клиент должен был (и должен) поддерживать его. Это, конечно, облегчает VPN-провайдерам, поскольку они могут уменьшить количество предлагаемых VPN-технологий. Это, однако, уменьшает стимул для реализации других протоколов в клиентах.

Могут также возникнуть проблемы с лицензированием, мешающие использованию других протоколов, например, упомянутые выше реализации IKEv2 имеют лицензию GPL, которую Apple в iOS и Google в Android стремятся избегать в пользу более лицензируемого программного обеспечения, такого как racoon (которое они оба использовать в своей продукции).

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .