Русский
Русский
English
Статистика
Реклама

L2tp

L2TP amp IPsec with pre shared key vs MITM

31.05.2021 12:16:05 | Автор: admin

В статье рассмотрены основные vpn протоколы, которые на текущий момент применимы в бизнес процессах, а также углубленно освещен вопрос использования L2TP в связке с IPsec в режиме pre shared key. На практике разобраны подходы к организации виртуальных сетей на оборудовании MikroTik и выполнен практический аудит безопасности передачи данных с позиции анализа третьими лицами исходящего трафика при возможности MITM атаки.

Vpn технологии прочно вошли не только в корпоративную среду, но и в повседневную жизнь многих IT и других специалистов в реализации рабочих и личных проектов. Если перед вторыми вопрос безопасности может вставать исключительно с исследовательским интересом, то для бизнеса важно понимать риски, связанные с эксплуатацией различных информационных процессов в задействованной инфраструктуре, слабые и сильные места, а также экономическое обоснование применяемых решений. Безопасность стоит денег, но не всегда стоит подходить к этому вопросу, как к неприступной крепости, при условии правильной оценки складывающейся ситуации.

Для начала разберем, в каких случаях бизнесу нужен vpn:
при подключении удаленных сотрудников к сетевым ресурсам компании (site-to-client vpn) и
при объединении территориально разнесенных сетевых элементов (site-to-site vpn). Самих протоколов vpn сейчас много: GRE , PPTP, SSTP, OVPN, L2TP, Wireguard и т.д.

Здесь важно не путать протоколы с сервисами vpn, которых еще больше: ExpressVPN, CyberGhost, NordVPN и т.д. Вторые по сути являются провайдерами услуг, обеспечивая доступ клиентов к собственным ресурсам с целью обхода блокировок со стороны ISP, а также анонимности серфинга в интернете. Про них сейчас речь не идет.

С вариацией протоколов определились, какой же выбрать?
Во-первых, в зависимости от того, что строим site-to-client или site-to-site, потому что GRE для первого случая не подойдет.

Во-вторых, Wireguard хоть молодой, простой и очень перспективный, но на офисном маршрутизаторе Cisco или MikroTik его не поднять, вендоры даже не планируют внедрять. PPTP очень легок в настройке, однако будет либо не шифрованным, либо шифрованным протоколом MPPE, который не имеет аппаратной разгрузки, в следствие чего, многопользовательскую сеть замедлит в работе. SSTP отличный протокол, работает по TLS в UDP на 443 порту, пролезет через любой Firewall, а может даже и IDS. У некоторых вендоров, например, MikroTik, может работать по pre shared key вместо сертификата, запускается на Windows клиентах из коробки.
Из минусов: определенные танцы с бубном при настройке Linux клиентов (протокол все-таки от Microsoft) и отсутствие поддержки со стороны вендоров в аппаратной разгрузке. OpenVPN всем хорош, особенно высокой гибкостью. Можно туннелировать на L2, можно на L3, всего не перечислить. Не даром он open soft. Роутер MikroTik скоро научится работать с ним по UDP (ожидается в следующем поколении RouterOS), так как смысла в TCP нет, ведь соединение все равно проверяется во вложенном туннеле. Однако, скорее всего ваша офисная Cisco не умеет с ним работать, поэтому vpn сервер из нее не организовать.

Фактически, стандартом де-факто в корпоративной среде является протокол L2TP. Он работает на UDP, порт по умолчанию 1701. С шифрованием все хорошо, особенно наличие возможности аппаратной разгрузки IPsec. Есть вероятность, что ваш корпоративный MikroTik (несмотря на то, что он софтовый маршрутизатор) умеет шифровать IPsec на железе (смотри таблицу Hardware acceleration на сайте производителя ). У Cisco в этом вопросе дела обстоят еще лучше. Даже если ваш офисный роутер не умеет шифровать железом, никто кроме вас это знать не должен не будет.

Итак, подведем промежуточный итог: vpn технологии бизнесу нужны, использовать лучше всего L2TP. Закончив с затянувшейся вводной частью, перейдем непосредственно к теме статьи. Рассмотрим на примере оборудования MikroTik безопасность передачи данных в туннеле при возможности MITM атаки со стороны третьих лиц. Этот вопрос возникает в следствие того, что почти всегда в корпоративной среде используют L2TP в связке с IPsec в туннельном режиме и общим ключем для всей сети, вместо создания PKI и задействования сертификатов. Это удобно, сеть быстро разворачивается и легко обслуживается. Безопасно ли это в условиях компрометации pre shared key? Разберем на практике.

Начнем с того, что L2TP может быть не шифрованным:

/ppp profile name=test use-encryption=no


с интегрированным в протокол шифрованием MPPE:

/ppp profile name=test use-encryption=yes (или require, при этом IPsec отключен)



с качественным внешним шифрованием от IPsec, вроде AES:

/ppp profile name=test use-encryption=yes (или require, при этом IPsec включен)



Настройка L2TP сервера осуществляется достаточно просто, активируем его и указываем тип аутентификации:

/interface l2tp-server server set authentication=mschap2 default-profile=test enabled=yes


Здесь же появляется возможность сразу активировать IPsec и настроить pre shared key. Если это сделать, то общий ключ будет закреплен за всей vpn сетью и передан всем ее участникам в качестве настроечной информации. Один и тот же на всех. На самом деле, если активировать IPsec таким образом, то RouterOS автоматически создает необходимые настройки в соответствующем разделе /ip ipsec сразу после установления L2TP соединения.

Конкретно речь идет:

  • IPsec Policy с указанными протоколом UDP и портом подключения 1701;
  • IPsec Peer c IP адресами сервера и клиента;
  • IPsec Identity с указанным ранее pre shared key.

Автоматически созданные настройки IPsec

Очень удобно. Особенно, когда IP адреса динамические и вообще натированные. Клиентам не нужно выполнять лишние процедуры по отслеживанию их текущих значений. В RouterOS в разделе L2TP есть дополнительная настройка, определяющая общий секрет при конфигурировании в сетях Virtual Private DialUp Network протяженных соединений точка-точка между удаленным сервером PPPOE и L2TP сетью, но это к теме статьи не относиться, поэтому просто ее упомянем всуе:

/ppp l2tp-secret add address=0.0.0.0/0 secret=

Допустим, мы не хотим простого счастья и дополнительно желаем, чтобы у каждого клиента был индивидуальный сертификат вместо общего ключа (возможно, для этого в компании уже все готово). Звучит очень круто и безопасно. Нет технически не преодолимых проблем, кроме танцев с бубнами: создаем все вышеперечисленное в ручном режиме, не забываем про корректно заданные IP адреса, как со стороны сервера, так и со стороны клиентов.

/ip ipsec peer add address=IP local-address=IP name=peer1/ip ipsec identity add peer=peer1 auth-method=digital-signature certificate=u01.crt_0/ip ipsec policy add dst-address=IP dst-port=1701 peer=peer1 protocol=udp src-address=IP src-port=1701

Здесь нас поджидает кропотливая работа, ведь, скорее всего, адреса у клиентов меняются (и достаточно часто), кроме этого клиенты сидят за провайдорским NAT. Все это можно накрутить кастомными скриптами на RouterOS, и все будет отлично работать. Нужно ли это? Cмоделируем ситуацию, когда общий для всех pre shared key стал известен злоумышленнику, который целенаправленно хочет нам навредить. Или клиент vpn нам больше не клиент. Сразу баним его учетную запись, и теперь аутентификацию mschap2 (или какая у вас там выбрана) он не пройдет и доступ не получит:

/ppp secret disable bad_user

Если каким-то чудом у него есть возможность MITM, то есть пропускать трафик через себя, то толку в этом ровно никакого нет. Весь трафик зашифрован. Выдать себя за vpn сервер другим участникам корпоративной сети тоже не удастся. В подобном нереальном сценарии аутентификацию mschap2 клиенты не пройдут, ведь их секрет известен только им и вам, разумеется:

/ppp secret add name=good_user password=12345 service=l2tp

Шифрованный трафик L2TP туннеля

Исследовательский интерес нас ведет дальше. Может все-таки что-то можно сделать с трафиком? И в результате извлечь передаваемую информацию? Попробуем дешифровать трафик в лабораторных условиях. MikroTik позволяет нам выполнить debug соединения и увидеть подробную информацию об установленной IPsec сессии:

/ip ipsec installed-sa print

Как видно, сессия установилась на 30 минут, имеются разные ключи аутентификации и шифрования. Применим их в Wireshark, после приведения шестнадцатеричных значений к корректному формату: SPI 0x0ada181b, вместо MikroTik-овского 0xADA181B, ключи начинаются со значения 0x. Если все сделано правильно, тогда трафик откроется.

Ввод данных сессии для дешифрования IPsec

Дешифрованный IPsec

Подведем результаты

Насколько безопасно использовать L2TP c общим секретом? Абсолютно безоапасно. По сути IPsec с помощью pre shared key выполняет функцию аутентификации, но в нашем случае процедура аутентификации выполняется ранее при установлении L2TP соединения. Нет практической необходимости выполнять аутентификацию повторно. По сути MikroTik, введя возможность настройки IPsec в разделе создания L2TP сервера, автоматизирует рутинные задачи по настройке шифрованного туннеля в ручном режиме (история про танцы с бубном). Это еще один плюс в сторону использования не дорогостоящего, но качественного оборудования MikroTik. Конечно, в ручном режиме гораздо больше вариаций на тему шифрования, но по умолчанию задаются, по авторскому мнению, идеальные значения: aes256 и sha1.


Как рекомендации для бизнеса, смело можно использовать L2TP с IPsec pre shared key. При планировании политик информационной безопасности, нет необходимости в задании сложных значений для pre shared key. Важно выставить не угадываемые и не словарно подбираемые значения для аутентификации L2TP (/ppp secret). Удобно, безопасно и качественно, админ доволен, клиенты не замучены.


Подробнее..

VPN ещё раз просто о сложном

21.12.2020 16:08:05 | Автор: admin

Вы сталкивались с ошибкой Это видео не доступно для просмотра в Вашей стране? Пробовали заходить на LinkedIn? Подобные ограничения можно обойти с помощью включения VPN на своем девайсе. В последнее время огромное количество людей было вынуждено перейти на дистанционный формат работы и многие работодатели обязали своих сотрудников пользоваться VPN для защищенного доступа к корпоративным сервисам. Сегодня мы постараемся разобраться в том, что такое VPN и как это работает.

Disclaimer: я искала на Хабре базовую статью о VPN, но нашла из базы только часть цикла "Сети для самых маленьких". Это очень крутая работа, но она сразу не выпадает. Поэтому я решила обобщить все собранные мной определения, знания и структуры, а в начале дать ссылку на "Сети". Надеюсь, это поможет другим пользователям Хабра.

Ну и немного освежила тему - в нашем 2020 VPN многим пригодился.

Что такое VPN?

VPN Virtual Private Network виртуальная частная сеть.

Это совокупность технологий, позволяющих обеспечить одно или несколько сетевых соединений (логическую сеть) поверх другой сети (например, Интернет).

Расшифровка названия: сеть объединение нескольких устройств каким-либо видом связи, позволяющее обмениваться информацией. Виртуальная неосязаемая, не физическая, то есть не важно, по каким именно каналам связи она проложена. Физическая и логическая топологии могут как совпадать, так и отличаться. Частная в эту сеть не может войти посторонний пользователь, там находятся только те, кому разрешили доступ. В частной сети надо маркировать участников и их трафик, чтобы отличить его от остальной, чужой информации. Также в такой сети обеспечивается защита данных криптографическими средствами, попросту говоря, шифруется.

Приведем еще одно определение: VPN это сервис, позволяющий защитить приватные данные при пользовании Интернетом.

Зачем нужен VPN?

  • Для удаленной работы. Например, вы работаете из дома. По VPN вы можете получить доступ к сервисам и документации своей организации, при этом соединение будет более безопасным, данные будет сложно перехватить и расшифровать.

  • Чтобы объединить разные части одной компании. Офисы могут быть удалены друг от друга на любое расстояние.

  • Внутри компаний для объединения и изоляции отделов.

  • При подключении к Wi-fi в кафе, метро и т.д., чтобы хакеры не могли украсть ваши данные. При пользовании публичной сетью безопасно, разве что просматривать сайты в браузере. А вот если использовать соц.сети, злоумышленник может не только перехватить вашу конфиденциальную информацию, но и использовать ее в своих целях, авторизовавшись в этой самой соц.сети от Вашего имени. Еще хуже, если ему удастся взломать почту. Тогда атаке подвергнутся все приложения, привязанные к этому почтовому ящику. Но самой неприятной может оказаться утечка данных вашей банковской карты, если вы решили перевести кому-то деньги, подключившись к бесплатному Wi-fi.

  • Для получения доступа к сайтам, которые заблокированы на определенной территории. Приведем пример: Teen Spirit снимает передачу Орёл и Решка и продает ее двум телеканалам: российской Пятнице и украинскому Интеру. Обычно телеканалы на следующий день после выхода премьеры по телевидению, выкладывают выпуск на свой ютуб-канал, чтобы те, кто не успел посмотреть передачу по телевизору, имели возможность сделать это в интернете и, конечно же, для того, чтобы заработать дополнительно на встроенной в ютуб рекламе. На Украине выпуски выходят на день раньше, чем в России. Соответственно, Интер выкладывает видео на ютуб, когда по Пятнице передачу еще не показали. Поэтому в России в этот день запрещен доступ к этому видео.

  • Для обеспечения анонимности. Нельзя вычислить, какие сайты вы посещали, каким браузером пользуетесь, где находитесь и т.д. Надобность скрыть свою геолокацию может может возникнуть в путешествиях. Например, в Турции запрещен YouTube и WhatsApp. Значит, просто так зайти в привычные соц.сети не получится, а с VPN это сделать вполне возможно.

  • Чтобы в браузере оставалась история поиска, на основе которой создается таргетированная реклама

  • Чтобы сэкономить, например, при покупке авиабилетов. Авиакомпании устанавливают разные цены на одни и те же билеты для покупателей из разных регионов. А VPN позволяет изменить информацию о геолокации.

Как можно пользоваться VPN?

Итак, мы поняли, что VPN полезный сервис, но как именно можно его включить? Если Вы работаете за компьютером и хотите посетить заблокированный сайт, используя браузер, то можно или установить специальную программу на ПК (так называемый VPN-клиент), или добавить расширение для браузера, или использовать встроенный в Opera VPN. Все эти способы просты в исполнении, но имеют некоторые недостатки. Так, VPN-клиент выдает случайный IP-адрес, то есть нет возможности выбрать страну. Еще один неудобство заключается в необходимости постоянного запуска программы, однако, существуют программы, которые запускаются одновременно с ОС. Теперь рассмотрим следующий способ добавление расширения для браузера через Webstore. Нужно будет зарегистрироваться, после чего одним кликом можно выбрать страну, к VPN-серверу которой Вы хотите подключиться.

Использование VPN на смартфонах и айфонах реализуется через мобильные приложения. Самые популярные из них это OpenVPN для Android и Cloak для iOS.

О плюсах VPN и о том, как его можно установить уже Вы прочитали. Самое время поговорить о минусах.

Чем приходится платить за безопасность в Интернете?

  1. Низкая скорость интернета. На дополнительное шифрование требуется время. Также часто трафик проходит большее расстояние, что связано с удаленностью расположения VPN-сервера.

  2. Периодический разрыв VPN-подключения, внезапный выход трафика в публичную сеть. Часто можно не заметить разрыв подключения и утечку данных, также VPN-соединение может не восстанавливаться автоматически, что не удобно. Во современных ОС на базе Windows предусмотрена функция VPN Reconnect. Если ее нет, то придется использовать особые программы или специальные настройки маршрутизации, которые контролируют VPN-соединение и в случае его разрыва сначала блокируют передаваемую информацию, закрывают приложения, потом обновляют VPN-подключение.

  3. К сожалению, IPv6 почти никогда не поддерживается VPN. Следовательно, когда в публичной сети используется IPv6, и в интернет-ресурсе он также поддерживается, трафик пойдет по умолчанию по открытой IPv6 сети. Чтобы такого не произошло можно просто отключить IPv6 в ОС.

  4. DNS-протечки: на практике часто DNS-запросы обрабатываются DNS-серверами публичной сети (а не виртуальной, защищенной). В случае их некорректного ответа можно получить поддельный адрес запрашиваемого домена. Так, ничего не подозревающие пользователи могут быть перенаправлены, например, на сайты мошеннических онлайн-банков. Также по DNS-серверам можно определить примерную геолокацию и интернет-провайдера пользователя.

  5. Присутствуют также разнообразные юридические аспекты. Во-первых, это отличия в законодательстве разных государств. VPN-клиент и VPN-сервер часто находятся в разных странах. Также трафик может проходить через третью страну транзитом. Таким образом существует возможность сохранить себе копию передаваемых данных для дальнейшей расшифровки и изучения.

Существует не только вопрос что шифровать, но и как. Далеко не все криптографические средства разрешены. Из-за этого производители сетевого оборудования (в том числе для организаций VPN) при экспорте в другие страны вынуждены отключать в своей продукции ряд алгоритмов шифрования, а также уменьшать максимально возможную длину ключа.

Проблема кроется еще и в том, что сами мировые стандарты шифрования могут быть уязвимыми. Так, в 2013 году NIST (The National Institute of Standards and Technology организация, утверждающая стандарты шифрования в США) обвинили в том, что он разрешил включить в новый стандарт уязвимую версию генератора псевдослучайных чисел. Это позволило сильно упростить расшифровку информации, защищенной с применением этого генератора. Более того, составителей стандартов нередко обвиняют в сознательном усложнении описаний стандартов.

А законно ли вообще использовать VPN в России? В России действует закон Яровой, направленный против терроризма и экстремизма. С другой стороны его можно рассматривать как шаг в сторону регулирования и контролирования интернета, потому что этот закон обязует операторов связи хранить всю информацию о деятельности в интернете . Но если провайдер не сохраняет логи, то штрафовать будут его, а не конечных пользователей. Поэтому сейчас существует довольно много VPN-провайдеров, в том числе и бесплатных.

Как работает VPN?

Соединение VPN это, так называемый, туннель между компьютером пользователя и компьютером-сервером. Каждый узел шифрует данные до их попадания в туннель.

Вы подключаетесь к VPN, система идентифицирует вашу сеть и начинает аутентификацию (сравнивает введенный пароль с паролем в своей базе данных).

Далее сервер Вас авторизует, то есть предоставляет право на выполнение определенных действий: чтение почты, интернет-серфинг и т.д. После установления соединения весь трафик передается между вашим ПК и сервером в зашифрованном виде. Ваш ПК имеет IP-адрес, предоставленный интернет-провайдером. Этот IP блокирует доступ к некоторым сайтам. VPN сервер меняет ваш IP на свой. Уже с VPN-сервера все данные передаются к внешним ресурсам, которые вы запрашиваете. Теперь можно просматривать любые ресурсы и не быть отслеженным.

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

Если VPN-провайдер вообще не записывает логи, то передавать третьим лицам просто нечего. А сокрытие факта подключения к серверу уже более редкая услуга. При некорректном подключении или резком разрыве соединения может произойти утечка части данных. Решить проблему поможет технология Multihop VPN, которая предполагает соединение с сайтом сразу через несколько серверов.

Рассмотрим популярные VPN:

PPTP Point-to-Point Tunneling Protocol

+ поддерживается всеми ОС

+ не требует много вычислительных мощностей

- плохая защищенность. Методы шифрования устарели, плохая архитектура, есть ошибки в реализации протокола от Microsoft. Нет шифрования по умолчанию, на взлом требуется менее суток.

Используется, когда защита данных не очень важна или когда нет других вариантов.

L2TP Layer 2 Tunneling Protocol

+ более эффективен для построения виртуальных сетей

- более требователен к вычислительным ресурсам

- не предполагает шифрования по умолчанию

Работает совместно с другими протоколами, чаще всего IPSec.

Используется интернет-провайдерами и корпоративными пользователями.

IPSec Internet Protocol Security группа протоколов и стандартов для безопасных соединений.

+ хорошая архитектура

+ надежность алгоритмов

- сложен в настройке (следовательно, снижение защиты, если настроить неправильно)

- требует много вычислительных ресурсов

+ этот недостаток компенсируется путем аппаратного ускорения алгоритма шифрования АЕС

Часто используется совместно с другими технологиями.

SSL Secure Sockets Layer & TLS Transport Layer Security группа методов, включающая в себя протоколы SSL и TLS и другие методы защиты.

+ беспрепятственно пропускаются большинством публичных сетей

- довольно низкая производительность

- сложность в настройке, необходимость установки дополнительного ПО

используется на веб-сайтах, URL которых начинается с https (там еще виден зеленый замочек)

некоторые реализации: OpenVPN, Microsoft SSTP.

+ OpenVPN имеет открытый код, реализован практически для всех платформ, считается очень надежным.

Заключение

VPN комплекс технологий, позволяющих создать логическую сеть поверх физической. Используется для обеспечения защиты трафика от перехвата злоумышленниками и безопасной деятельности в интернете. VPN открывает доступ к заблокированным ресурсам, так что многие готовы мириться с более низкой скоростью интернета и возможными логами программ. Хотя VPN использует довольно надежные алгоритмы шифрования, включение VPN-клиента на вашем ПК не гарантирует 100% сохранности конфиденциальной информации, поэтому следует внимательно отнестись к выбору VPN-провайдера.

Ссылки:

https://blog.themarfa.name/kak-rabotaiet-vpn-i-pochiemu-eto-luchshie-tor-ili-proxy/

https://help-wifi.com/poleznoe-i-interesnoe/chto-takoe-vpn-dlya-chego-on-nuzhen-i-kak-polzovatsya/

https://www.kaspersky.ru/blog/vpn-hardships/11622/

https://www.kaspersky.ru/blog/vpn-implementations/11156/

https://www.kaspersky.ru/blog/vpn-explained/10635/

https://ru.wikipedia.org/wiki/VPN

https://pcsecrets.ru/internet/dlya-chego-nuzhen-vpn-i-kak-on-rabotaet-plyusy-i-minusy.html

https://www.youtube.com/watch?v=VDJXSrS8TCc

Подробнее..

Еще немного про использование VPN в Билайн

17.03.2021 16:04:48 | Автор: admin

Привет! В этой статье я расскажу о ещё двух вариантах VPN, используемых нами для включения клиентов с помощью Мультисим Резервирования, это L2TP иL2-VPN. Первый используется для включения сервисов Интернет, второй для включения каналов L2 MPLS.

Самый первый L2TP

Исторически этот вариант был самым первым внедренным вариантом для предоставления сервиса Интернет клиентам, именно на нем мы обкатывали все бизнес-процессы включений, набивали первые шишки со сложностью настройки СРЕ, процессами активации Sim-карт и прописывания их в выделенные APN, выбирали наиболее оптимальные варианты настроек и конфигураций СРЕ и РЕ оборудования, суммарно за первые полгода мы подготовили восемь различных версий конфигураций оборудования. Такой итеративный подход позволил найти баланс между потребностями клиентов и нашими возможностями, мы посмотрели, что и как стоит настраивать, как выстроить процессы, а за что лучше не браться вообще.

Архитектурно схема выглядит так:

Описание:

В роутер устанавливаются две Sim-карты, прописываются APN и настраивается радио-интерфейс, плюс настраивается WAN-интерфейс для входящего проводного канала, если он есть. Sim-карты прописываются в типовые APN, все APN разных операторов связи объединены в один VRF и получают стандартизированные приватные IP-адреса из своих APN.

На нашем RADIUS-сервере при подключении создается сессионный аккаунт для клиента, информация о этом аккаунте будет использована BRAS при построении сессии. Роутер начинает строить L2TP-сессию либо через проводной WAN-интерфейс (интернет-канал), либо через радиоинтерфейс, в зависимости от типа работы (Fix+LTE/3G или "чистый" LTE/3G), сессия терминируется на BRAS с типовыми настройками прописанными на RADIUS сервере.

Также на RADIUS-сервере возможна настройка Framed Route с публичной интернет подсетью, которая настраивается на LAN-интерфейсе роутера и транслируется клиенту. Таким образом, каждый клиент имеет один статический IP-адрес на туннеле с приватной адресацией и NAT на трех LAN-интерфейсах, и дополнительно прописанную публичную подсеть (обычно это /31 или /30 подсеть) на одном LAN-интерфейсе.

Так как туннель может строиться через кабельное подключение (интернет-канал) или Sim-карты, а подсеть маршрутизируется за туннель, клиент получает статичные настройки вне зависимости от используемой транспортной сети.

При пропадании кабельного канала роутер за 10-20 секунд перекидывает трафик на радиоинтерфейс и первую Sim-карту, а в случае проблем и с ней производит смену рабочей Sim-карты на резервную, обычно эта смена занимает 60-90 секунд.

За выбор маршрута трафика между кабелем и радиосетью отвечает встроенный инструмент NQA (Network Quality Analysis) и значения preference route:

#nqa test-instance admin inet test-type icmp destination-address ipv4 4.2.2.2 frequency 20 source-interface GigabitEthernet0/0/4 start now##ip route-static 0.0.0.0 0.0.0.0 Virtual-Template1 preference 40ip route-static 4.2.2.2 255.255.255.255 GigabitEthernet0/0/4 dhcpip route-static 85.21.4.234 255.255.255.255 GigabitEthernet0/0/4 dhcp track nqa admin inetip route-static 85.21.4.235 255.255.255.255 GigabitEthernet0/0/4 dhcp track nqa admin inetip route-static 100.64.0.0 255.255.254.0 Cellular0/0/0 preference 70ip route-static 100.64.0.0 255.255.254.0 NULL0 track nqa admin inet#

А за выбор активных Sim-карт отвечает скрипт автопереключения, написанный на Python.

Схема также имеет свои ограничения: cкорость доступа ограничена 30-50 Мбит/с, а MTU=1450.

Дальнейшее направление развития - это реализация этой же схемы с резервированием проводных каналов, но уже с использованием BGP, для анонса LAN-сети либо через кабель, либо через туннель, это позволит использовать роутер в виде резерва на широкополосных каналах в 100-200 Мбит/с и разделением маршрутов трафика по кабелю и по туннелю. Естественно, это будет работать только на проводных каналах от Билайн, для работы через других провайдеров мы отправляем весь трафик через L2TP-туннель.

Самый трудный L2 MPLS

Этот вариант получился самым последним в наших решениях на сегодняшний день, и был самым тяжелым с точки зрения реализации. Используемый протокол для этого типа подключений на Huawei AR129 SVPN L2TPv2, на ответной части стоит Cisco ASR1001-X, которая является ответной частью туннеля и выводит трафик в MEN сеть.

Архитектурно сеть выглядит так:

Настройка такого режима на роутере Huawei AR129 выглядит так:

#interface Tunnel0/0/0tunnel-protocol svpnencapsulation l2tpv3l2tpv3 local session-id 3l2tpv3 remote session-id 4tunnel-source 100.64.16.63tunnel-destination 100.64.0.43#

Самый трудный для нашей реализации ввиду особенностей работы протокола, сессия для L2 MPLS инициируется с IP-адреса Sim-карты, которая активна в конкретный момент для этого туннеля, и к IP-адресу привязываются значения и на CPE и на ответном узловом PE, а в случае проблем с работающей LTE/3G сетью происходит смена IP на Sim-карте.

У нас были следующие варианты выхода из этой ситуации:

  • Использовать GRE-туннель, и уже через этот туннель пускать туннель с L2 MPLS.

  • Назначать одинаковые IP-адреса на Sim-карты при настройке.

  • Сделать так, чтобы конфигурация туннелей менялась в роутере в зависимости от Sim-карты.

Первые два варианта хоть и выглядели оптимальными с точки зрения архитектуры сети (отдельный туннель отдельная пара портов на MEN-сети), но с точки зрения синхронизации процессов и технической поддержки это гораздо большая проблема.

Соответственно, пришлось реализовывать реконфигурацию роутера "на лету. Если учесть, что используемый нами Python-скрипт для автоматического переключения Sim-карт и так уже выполнял большую часть логики, нам осталось его немного дополнить парой функций:

При смене Sim-карт нужно было вызвать процесс изменения в параметрах настройки туннеля remote session-id и tunnel-source, и при обратной смене Sim-карт вернуть эти значения:

def l2_sim2(o, cli):log_syslog(o, ops.CRITICAL, "New parameters applied: " + l2_lses2 + " " + l2_rses2 + " " + l2_vcid2 + " " + l2_src2 + " " + l2_dst2)output, n1, n2 = o.cli.execute(cli, "system-view")  output, n1, n2 = o.cli.execute(cli, "interface Vlanif1")output, n1, n2 = o.cli.execute(cli, "undo link-bridge Tunnel0/0/0")output, n1, n2 = o.cli.execute(cli, "quit")output, n1, n2 = o.cli.execute(cli, "quit")result = o.timedelay(seconds=60, milliseconds=0)output, n1, n2 = o.cli.execute(cli, "system-view")  output, n1, n2 = o.cli.execute(cli, "interface Tunnel0/0/0")output, n1, n2 = o.cli.execute(cli, "tunnel-protocol svpn")output, n1, n2 = o.cli.execute(cli, "encapsulation l2tpv3")output, n1, n2 = o.cli.execute(cli, "interface Tunnel0/0/0")output, n1, n2 = o.cli.execute(cli, "l2tpv3 local session-id " + str(l2_lses2))output, n1, n2 = o.cli.execute(cli, "l2tpv3 remote session-id " + str(l2_rses2))output, n1, n2 = o.cli.execute(cli, "tunnel-source " + str(l2_src2))output, n1, n2 = o.cli.execute(cli, "tunnel-destination " + str(l2_dst2))output, n1, n2 = o.cli.execute(cli, "quit")output, n1, n2 = o.cli.execute(cli, "quit")output, n1, n2 = o.cli.execute(cli, "system-view")  output, n1, n2 = o.cli.execute(cli, "interface Vlanif1")output, n1, n2 = o.cli.execute(cli, "link-bridge Tunnel0/0/0 vc-id " + str(l2_vcid2) + " tagged")output, n1, n2 = o.cli.execute(cli, "quit")output, n1, n2 = o.cli.execute(cli, "quit")output, n1, n2 = o.cli.execute(cli, "save", {"continue": "Y"})def l2_sim1(o, cli):log_syslog(o, ops.CRITICAL, "New parameters applied: " + l2_lses1 + " " + l2_rses1 + " " + l2_vcid1 + " " + l2_src1 + " " + l2_dst1)  output, n1, n2 = o.cli.execute(cli, "system-view")  output, n1, n2 = o.cli.execute(cli, "interface Vlanif1")  output, n1, n2 = o.cli.execute(cli, "undo link-bridge Tunnel0/0/0")  output, n1, n2 = o.cli.execute(cli, "quit")output, n1, n2 = o.cli.execute(cli, "quit")result = o.timedelay(seconds=60, milliseconds=0)  output, n1, n2 = o.cli.execute(cli, "system-view")output, n1, n2 = o.cli.execute(cli, "interface Tunnel0/0/0")output, n1, n2 = o.cli.execute(cli, "tunnel-protocol svpn")output, n1, n2 = o.cli.execute(cli, "encapsulation l2tpv3")output, n1, n2 = o.cli.execute(cli, "l2tpv3 local session-id " + str(l2_lses1))output, n1, n2 = o.cli.execute(cli, "l2tpv3 remote session-id " + str(l2_rses1))output, n1, n2 = o.cli.execute(cli, "tunnel-source " + str(l2_src1))output, n1, n2 = o.cli.execute(cli, "tunnel-destination " + str(l2_dst1))output, n1, n2 = o.cli.execute(cli, "quit")output, n1, n2 = o.cli.execute(cli, "quit")output, n1, n2 = o.cli.execute(cli, "system-view")  output, n1, n2 = o.cli.execute(cli, "interface Vlanif1")output, n1, n2 = o.cli.execute(cli, "link-bridge Tunnel0/0/0 vc-id " + str(l2_vcid1) + " tagged")output, n1, n2 = o.cli.execute(cli, "quit")output, n1, n2 = o.cli.execute(cli, "quit")output, n1, n2 = o.cli.execute(cli, "save", {"continue": "Y"})

Какие плюсы у этой схемы работы в режиме L2 MPLS:

  • Роутер работает только прозрачным Ethernet до нашего РЕ, схему можно применять еще и как для Интернет, так и для IP VPN-включений.

  • MTU стал побольше, чем у варианта с IPSec.

  • Можно проводить легкую бесшовную подмену кабельных каналов при авариях.

Учитывая все варианты предоставления сервисов из предыдущих статей, мы смогли построить универсальную, надежную и масштабируемую инфраструктуру сети доступа с использованием преимуществ VPN, которую собираемся развивать в дальнейшем.

В следующих статьях расскажем про USB Deployment инструмент по простой настройке роутеров, Python-скрипт, который используем для переключения Sim-карт, и интеграцию нашего Мультисим-решения с Облачной АТС (в роутере есть встроенный SIP-клиент и два FXS порта, мы просто не могли не попробовать их использовать).

В одном из комментариев спрашивали про скорости роутера по IPSec.

По результатам наших тестов скорость составляет больше 50 Мбит/с (IPSec в режиме IKEv2, iperf3 - server), то же самое к режиму работы с L2TP-туннелем. Скорости поднимали и выше, но мы и не планировали предлагать клиентам больше 50Мбит/с по нашему решению, т.к. во-первых упираемся в "гигиенический" предел по LTE, во-вторых роутеры планировали использовать вместе с настройкой доп. сервисов типа SIP PBX (расскажем в следующей статье), и в-третьих, на смену Huawei AR129 у нас приходит Huawei AR617, который более производителен, что нам ещё предстоит испытать.

Подробнее..

Категории

Последние комментарии

  • Имя: Макс
    24.08.2022 | 11:28
    Я разраб в IT компании, работаю на арбитражную команду. Мы работаем с приламы и сайтами, при работе замечаются постоянные баны и лаги. Пацаны посоветовали сервис по анализу исходного кода,https://app Подробнее..
  • Имя: 9055410337
    20.08.2022 | 17:41
    поможем пишите в телеграм Подробнее..
  • Имя: sabbat
    17.08.2022 | 20:42
    Охренеть.. это просто шикарная статья, феноменально круто. Большое спасибо за разбор! Надеюсь как-нибудь с тобой связаться для обсуждений чего-либо) Подробнее..
  • Имя: Мария
    09.08.2022 | 14:44
    Добрый день. Если обладаете такой информацией, то подскажите, пожалуйста, где можно найти много-много материала по Yggdrasil и его уязвимостях для написания диплома? Благодарю. Подробнее..
© 2006-2024, personeltest.ru