Но с появлением RoS 6.38 появилась возможность справиться с ошибкой.
Итак, ошибка появляется в обычной конфигурации клиента L2TP как на картинке:
Основная проблема в том, что политика IPSec, применяемая в такой настройке, прибита гвозьдями и использует ike1. Ike1 в свою очередь, в реализации RoS, имеет проблему при прохождении NAT без проброса портов и как отягчающие обстоятельство: множественные туннели с l2tp тоже не проходят из-а одного NAT (а количество клиентов на модеме огромное).
Решить проблему можно при использование IKE2 (а для кучи клиентов за одним NAT нужно отказаться от авторизации PSK в пользу RSA Signature), который невозможно настроить из меню выше, но можно сделать трюк: заходим в меню IP -> IPSec
Копируем динамически создаваемый пир, и меняем в нем настройки как показано ниже:
А именно меняем Exchange Mode на IKE2, в закладке Encryption настраиваем необходимые параметры шифрования.
Осталось отключить в настройках L2TP/IPSec использование IPSec.
Вот собственно и все, соединение поднимается, шифрование работает.
Комментарии (43)
icCE
22.04.2017 22:43Кстати, кто скажет они починили баг, когда нельзя было поднять больше 1 соединение по l2tp из одной локальной сети за NAT?
MagicGTS
22.04.2017 23:09+1По сути нет, так как проблема в реализации ike1. Если извернуться с ike2, как в этой статье, то должно работать.
icCE
24.04.2017 13:30А можно выложить более подробно с конфигами?
И в такой связки есть подключение с ios и android?
MagicGTS
24.04.2017 14:14У меня в качестве сервера Linux + strongswan, а mikrotik как клиент. Может кто еще поделится? Сервер на mikrotik пока еще не планировали, может в лаборатоном окружении сделаю.
icCE
24.04.2017 15:25Просто в небольшой офис ставится mikrotik и ставить еще linux для l2tp как-то ненужно.
Openvpn конечно спасает, но вот это вечная генерация ключей на разные организации и отсутствие бесплатного PKI для всего этого, делает печальным котиком.MagicGTS
24.04.2017 16:03Думаю это вам сильно поможет: easy-rsa
Не отменяет генерацию сертификатов, но позволяет немного автоматизировать процесс.icCE
24.04.2017 17:57Нет, ну я не полный извините дятел. Но easy-rsa не очень удобен, особенно когда у вас несколько разных организаций и люди далеки от этого, а иногда надо.
Да много вопросов по безопасности сразу, поэтому вариант с l2tp самый оптимальный.MagicGTS
24.04.2017 22:31А как вы представляете работу с PKI. Чего вам не хвмтает в easy-rsa?
icCE
24.04.2017 22:40Мне хватает всего, а вот людям нужен простой gui.
Писать GUI скрипты к скриптам, что-то как то совсем overkill.
mihmig
25.04.2017 10:24В OpenVPN PKI меня немного смущает такоя концепция — для того чтобы отключить пользователя нужно создать сущность (запись в списке отзыва), а не удалить (логин/пароль из базы/конфига).
Т.о. админ перед увольнением может создать себе сколько угодно сертификатов невнося их в реестр выданных.MagicGTS
25.04.2017 10:34Это нормально для PKI с CRL.
Админа увольняют так-же как и нанимают нового юриста: первая задача — уволить предидущего юриста так, чтобы он не подал на компанию в суд.
datsen
24.04.2017 22:30PKI есть прямо в ROS — хорошая статья на эту тему https://habrahabr.ru/post/269679/
icCE
24.04.2017 22:41Да я знаю, только он у них периодически с обновлениями начинает вставать в позу.
И вообще с PKI для SOHO вообще как-то грустно или разворачивать хрен знает чего или вон, скрипты есть и не выпендривайся.
icCE
24.04.2017 18:05Нашел в записях по изменениям
>added support unique policy generation which will allow multiple peers behind the same NAT (cli only)
Но честно говоря, я не понял как это использовать :/icCE
24.04.2017 18:07А потом тут:
One thing here caught my attention: «ROS 7 will remove the restriction for having more than one L2TP/IPSEC user behind the same NATed network».
My understanding is that the router on the client side (road warrior) side of the equation is the one that cannot distinguish the traffic, not the server side router. Therefore, nothing can be done on the server side to remedy the situation.
https://support.microsoft.com/en-us/help/2028625/only-one-of-the-clients-that-are-behind-the-same-nat-device-can-create-l2tp-vpn-connections-to-a-vpn-server-that-is-running-windows-server-2008-r2
В общем пока будем использовать недо openvpn :/
Или использовать только ios и android.
>Mikrotik — No it will not work. We will not focus on l2tp/ipsec since mostly all vendors are switching to ike2 and l2tp/ipsec becomes deprecated.MagicGTS
25.04.2017 09:44Это они зря так.
Я так и не решил вопрос с OSPF при использовании совместно с IPSec Tun (пускай и IKE2). Как анонсировать маршруты? Поэтому варианты туннелей приходится оставлять. Особенно, когда работаешь из-за динамического NAT (тут вариации GRE/IP Tun не прокатыают).
Daimos
23.04.2017 11:09У нас Микротик стоит за НАТ и выступает в качестве сервера VPN — так вот несколько подключений l2tp спокойно поднимаются одновременно клиентами за еще одним НАТ.
MagicGTS
23.04.2017 11:22+1Тут проблема немного иная.
Если несколько клиентов из-за одного и того-же NAT идут к одному и тому-же серверу (mikrotik), тогда и были проблемы. Были исправления к ike1, которые исправляли эту проблему, но не на всех ситуациях оно работало, была большая зависимость от клиента (при использовании xauth вообще не было проблемы).Daimos
23.04.2017 11:32Мы кажется тестировали такой кейс — расшарил инет с телефона и подключил два компа к нему — да, первое соединение отваливалось при подключении второго клиента. Но у нас такой кейс пока в реальности маловероятен, несмотря на 300 сотрудников, VPN ом пользуются немного сотрудников и крайне маловероятно, что два сотрудника из дома с одного НАТа пойдут в VPN на работу :)
Но есть вероятность объединения офисов — но тогда проще поднять один туннель между офисами, чтобы клиентами не пришлось поднимать каждому VPNicCE
24.04.2017 13:31>, VPN ом пользуются немного сотрудников и крайне маловероятно, что два сотрудника из дома с одного НАТа пойдут в VPN на работу :)
Может быть два устройства у одного сотрудника.
J_o_k_e_R
22.04.2017 23:39Смысл статьи одной строчкой: если вас не устраивает генерация параметров IPSec автоматически — задайте их руками. Идея бесспорно здравая, но на статью не тянет имхо.
Ну и по мелочи. IKEv2 появился в ROS в 6.38. Почему Вы ссылаетесь именно на 6.38.1?MagicGTS
22.04.2017 23:55+1- На офф. форуме масса тредов с криками о помощи, ответа готового нет, есть намеки. Статейка в помощь страждущим, проблема + решение. Поэтому и флаг: tutorial.
- По первым упоминаниям в changelog
Meklon
23.04.2017 11:38У меня l2tp без IPsec. MPPE128 stateless encoding используется. Есть варианты из одной серой NAT зоны подключиться нескольким клиентам?
MagicGTS
23.04.2017 12:00Я бы порекомендовал отказаться от mppe, в виду его низкой стойкости.
Не понятно, что значит к нескольким клиентам? Один клиент за NAT без проблем устанавливает несколько соединений с другими серверами.Meklon
23.04.2017 12:37Стойкость некритична. Роутер1-провайдер-провайдер-роутер 2. В середине этой цепочки я как-то в не ожидаю атаки. Лень настраивать было) посмотрю. Насчет клиентов наоборот. У роутера белый IP, а клиенты сидят в одной серой сети с одним внешним адресом.
MagicGTS
23.04.2017 13:57Перехват трафика по середине вполне возможен, так что я бы не пренебригал этим.
Вторая описанная вами ситуация имела место при использовании ike1, сейчас там было много исправлений, и сработает ли он корректно — не знаю. Вот ike2 должен работать, однако тут сложности с настройками пира будут, тут уже политика для локального адреса задается, я такую конфигурацию еще не пробовал.
mihmig
24.04.2017 16:54Пользуясь случаем спрошу:
А в чём смысл общего секрета в IPSec — как это увеличивает безопасность, ведь при увольнении сотрудника его придётся менять и рассылать заново всем, причём уже не через защищённый канал связи…MagicGTS
24.04.2017 17:09-1Легкость настройки и поддержки в малых инсталляциях. Криптостойкойсть не на много хуже сертификатов.
mihmig
25.04.2017 10:29Так если у каждого пользователя свой логин/пароль, зачем ещё общий? Ведь «знают двое — знает и свинья»?
Какой профит-то? Кроме дополнительных проблем с вводом ещё одного пароля?icCE
25.04.2017 12:18-1Могу предположить, что соль/перец в шифровании. Не больше, не меньше.
Сам спеки не смотрел.MagicGTS
25.04.2017 12:37PSK — Работает 1 в 1 как на домашнем WiFi, при желании, и на домашнем WiFi можно замутить WPA2-EAP/TLS, но это не удобно для домашнего использования. Для L2TP/IPSec это тоже имеет место быть, IPSec PSK защищает канал для L2TP от тупой долбежки, и дает приемлемый уровень шифрования (по сути тот-же, так как PSK нужен на первичной стадии, дальше уже сеансовые ключи будут уникальные). «Утечка» PSK не приводит к мгновенной дыре в безопасности, так как нужно еще на L2TP авторизоваться, но позволяет послушать чужой трафик (если перехватить обмен сеансовыми ключами).
icCE
25.04.2017 14:58-1Ну в общем да, для аутентификации удаленной стороны. Можно или ключ слово или сертификат.
WPA2/EAP/TLS можно использовать просто имя и пароль, мне лично дома удобнее так.
Правда надо поднять Radius или Tacacs+ сервер.
Правда я и ethernet шифрую :)
AEP
Поставил минус за то, что в статье нет разбора проблемы на сетевом уровне, или хотя бы ссылки на такой обзор.
MagicGTS
Учел ваше замечание, и дал небольшое разьяснение про причину ошибки. Кто сталкивался с ней, перечитал десяток тредов на форуме разработчиков, где чистого решения нет, хотя идея была.