[Информационная безопасность, Сетевые технологии, Сетевое оборудование, Сотовая связь] Еще немного про использование VPN в Билайн
Автор
Сообщение
news_bot ®
Стаж: 6 лет 9 месяцев
Сообщений: 27286
Привет! В этой статье я расскажу о ещё двух вариантах 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 40
ip route-static 4.2.2.2 255.255.255.255 GigabitEthernet0/0/4 dhcp
ip route-static 85.21.4.234 255.255.255.255 GigabitEthernet0/0/4 dhcp track nqa admin inet
ip route-static 85.21.4.235 255.255.255.255 GigabitEthernet0/0/4 dhcp track nqa admin inet
ip route-static 100.64.0.0 255.255.254.0 Cellular0/0/0 preference 70
ip 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/0
tunnel-protocol svpn
encapsulation l2tpv3
l2tpv3 local session-id 3
l2tpv3 remote session-id 4
tunnel-source 100.64.16.63
tunnel-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, который более производителен, что нам ещё предстоит испытать.
===========
Источник:
habr.com
===========
Похожие новости:
- [Информационная безопасность, Исследования и прогнозы в IT, Социальные сети и сообщества] «РосКомСвобода» выпустила «Рейтинг соблюдения цифровых прав». «Хабр» снова в топе
- [Патентование, Производство и разработка электроники, Смартфоны, Сотовая связь, IT-компании] Huawei начнет брать с Apple и Samsung лицензионные отчисления за 5G
- [Системное администрирование, Сетевые технологии, Тестирование мобильных приложений] Обзор мобильного приложения Team
- [Информационная безопасность, Социальные сети и сообщества, IT-компании] Instagram вводит ограничения на отправку сообщений несовершеннолетним пользователям
- [Финансы в IT, IT-компании] «Викимедиа» запустит платный проект для компаний
- [Информационная безопасность] Централизованная аутентификация и управление файлами в решениях от One Identity — анонс вебинара
- [Информационная безопасность, Программирование, Разработка под Android] Android — запрещенные приемы
- [Криптография, Законодательство в IT, Финансы в IT, Сотовая связь] Сотовые операторы согласились протестировать Единую биометрическую систему
- [Системное администрирование, Сетевое оборудование] Какие телефоны должны быть в гостиничных номерах?
- [Сетевые технологии, Законодательство в IT, Социальные сети и сообщества, IT-компании] Роскомнадзор грозит Twitter блокировкой без суда через месяц
Теги для поиска: #_informatsionnaja_bezopasnost (Информационная безопасность), #_setevye_tehnologii (Сетевые технологии), #_setevoe_oborudovanie (Сетевое оборудование), #_sotovaja_svjaz (Сотовая связь), #_vpn, #_l2tp, #_l2, #_internet (интернет), #_blog_kompanii_bilajn_biznes (
Блог компании Билайн Бизнес
), #_informatsionnaja_bezopasnost (
Информационная безопасность
), #_setevye_tehnologii (
Сетевые технологии
), #_setevoe_oborudovanie (
Сетевое оборудование
), #_sotovaja_svjaz (
Сотовая связь
)
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Текущее время: 22-Ноя 19:54
Часовой пояс: UTC + 5
Автор | Сообщение |
---|---|
news_bot ®
Стаж: 6 лет 9 месяцев |
|
Привет! В этой статье я расскажу о ещё двух вариантах 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 40 ip route-static 4.2.2.2 255.255.255.255 GigabitEthernet0/0/4 dhcp ip route-static 85.21.4.234 255.255.255.255 GigabitEthernet0/0/4 dhcp track nqa admin inet ip route-static 85.21.4.235 255.255.255.255 GigabitEthernet0/0/4 dhcp track nqa admin inet ip route-static 100.64.0.0 255.255.254.0 Cellular0/0/0 preference 70 ip route-static 100.64.0.0 255.255.254.0 NULL0 track nqa admin inet # Настройка такого режима на роутере Huawei AR129 выглядит так: #
interface Tunnel0/0/0 tunnel-protocol svpn encapsulation l2tpv3 l2tpv3 local session-id 3 l2tpv3 remote session-id 4 tunnel-source 100.64.16.63 tunnel-destination 100.64.0.43 #
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"})
=========== Источник: habr.com =========== Похожие новости:
Блог компании Билайн Бизнес ), #_informatsionnaja_bezopasnost ( Информационная безопасность ), #_setevye_tehnologii ( Сетевые технологии ), #_setevoe_oborudovanie ( Сетевое оборудование ), #_sotovaja_svjaz ( Сотовая связь ) |
|
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Текущее время: 22-Ноя 19:54
Часовой пояс: UTC + 5