550 likes | 978 Views
VPN на основе технологии MPLS. Технология BGP / MPLS VPN (RFC 2547 ). Хорошее приближение предлагаемых сервисов к свойствам сервисов частной сети: Безопасность на уровне сетей с виртуальными каналами Пропускная способность может быть гарантирована на основе QoS
E N D
Технология BGP/MPLS VPN (RFC 2547) • Хорошее приближение предлагаемых сервисов к свойствам сервисов частной сети: • Безопасность на уровне сетей с виртуальными каналами • Пропускная способность может быть гарантирована на основе QoS • Возможность оказания дополнительных услуг на уровне IP-сетей • Легко внедряется и обслуживается • Отличная масштабируемость
Безопасность MPLS VPN Вопросы, требующие ответа: • Как сделать раздельной адресацию? • Как сделать маршрутизацию раздельной? • Как скрыть сетевую магистраль? • Как устранить уязвимость к атакам типа DoS и вторжениям в сеть?
MPLS VPN Site 1 клиента А Site 2клиента А Site 1 клиента B PE(LER) CE клиента A CE клиента B PE (LER) CE клиента B P (LSR) CE клиента A Домен MPLS Site 2 клиента B Site 3 клиента B Site 4 клиента B Site 3клиента А
Терминология • CE (CustomerEdge) router – пограничный маршрутизатор клиента, часть его VPN • PE (Provider Edge)router–пограничный маршрутизатор провайдера, реализующий интерфейс с CE PE = edge LSR, LER • P router – маршрутизатор магистральной сети провайдера, ничего не знающий о VPN P = LSR На маршрутизаторах P протокол BGP не выполняется, они ничего не знают о VPN
Терминология • Сайт • Набор сетей, являющихся частью VPN клиента и расположенных географически рядом друг с другом • Сайт соединен с магистральной сетью VPN одной или более связями PE/CE • Сайт может быть частью разных VPN
поддержка MPLS • маршрутизаторы P, являющиеся частью сети провайдера • внутренние интерфейсы пограничнх маршрутизаторов PE • поддержка VPN Только PE «знают» о существовании VPN Поэтому маршрутизаторы PE являются функционально более сложными, чем P
Сайт 1 VPNA Сети клиента Сайт 2 VPNA CE CE Сайт 1 VPNB PE2 Сайт 2 VPNB PE1 Сеть провайдера CE CE P P P PE6 P PE3 P Сайт 3VPNA Сайт 1 VPNC P CE CE P P P Сайт 3VPNB PE4 CE PE5 - Пограничный маршрутизатор провайдера CE CE Сайт 4VPNA Пограничный маршрутизатор клиента Сайт 2VPNC Компоненты MPLS VPN
Парадокс обеспечения абсолютной изолированности при сохранении полной связности. При создании VPN на базе IP-сети сложно проблема состоит в достижении изолированности Решение: Для изоляции - автоматическая фильтрация маршрутных объявлений Для связности - применение туннелей для передачи клиентского трафика по внутренней сети провайдера.
Маршрутные объявления Сети клиентов BGP IGP IGP BGP Туннели для трафика данных BGP Сеть провайдера BGP Изоляция сетей клиентов и использование туннелей
Разделение маршрутов вMPLS VPN • Маршруты BGP не распространяются внутри домена MPLS • Пограничные маршрутизаторы провайдера PE для каждого подключенного к ним сайта имеют независимые таблицы маршрутизации и продвижения VRF (VPN Routing and Forwarding)
PE обмениваются между собой маршрутной информацией по протоколу MP-BGP VPN_A 10.2.0.0 CE VPN_B 10.2.0.0 PE CE VPN_A 11.6.0.0 CE PE VPN_B CE 10.1.0.0 PE и CE обмениваются маршрутной информацией по протоколам:OSPF, RIPv2, статические записи iBGP sessions VPN_A 11.5.0.0 CE VPN_A 10.1.0.0 P P PE CE P P VPN_B PE CE 10.3.0.0 P и PE используют общий протокол IGP
PE - виртуальный маршрутизатор Глобальная таблица маршрутизации Сайт A VRF A P CE IGP BGP IGP P IGP P PE Сайт B CE Сеть провайдера VRF B
CE PE Site-1 Site-2 CE • Несколько сайтов, относящихся к одной VPN и подключенных к одному PEмогут иметь общую VRF
VRF CE PE Site-1 Site-2 • VPN Backbone IGP CE • EBGP,OSPF, RIPv2,Static Глобальная таблица VRF Таблица коммутации MPLS • Маршруты, получаемые PE от некоторого CE о сетях сайта, заносятся в соответствующую VRF. VRF также пополняется протоколом MP-BGP – об адресах сетей других сайтов данной VPN • Маршруты, которые PE получает из магистральной сети по протоколу IGP , заносятся в глобальную таблицу
Обмен маршрутной информацией между PE идет по протоколу MP-BGP P P PE PE • VPN Backbone IGP P P iBGP session
Независимость адресных пространств • Адресные пространствакаждой VPN включают • уникальные глобальные адреса Интернет • либо частные (private) адреса (RFC 1819) Вопрос: почему не сделать выбор адресов в пределах VPN совершенно произвольным, ограниченным только общими правилами адресации стека TCP/IP?
Независимость адресных пространств Важно: адреса узлов в разных сайтах одной и той же VPN,не должны совпадать но адреса в разных VPN могут совпадать
3 VPN CE Router 10.2.2.2 CE Router 10.2.2.2 Разделяемая магистральная сеть CE Router 3.3.3.3 • Использование отдельных VRF позволяет ограничиться требованием уникальности адресных пространств на уровне VPN CE Router 10.2.2.3 CE Router 10.2.2.4
Проблема совпадения адресов BGP изначально был рассчитан на использование глобально уникальных адресов IPv4 Проблема: при совпадении адресов в объявлениях в таблицу VRF заносится только один «кратчайший» маршрут. Решение - вместо потенциально неоднозначных адресов IPv4 используются расширенные однозначные адреса VPN-IPv4
96 бит VPN-IPv4 Различитель адресов • Используются модифицированные адреса VPN-IPv4 • к каждому маршруту IPv4 добавлен 64-битныйпризнак маршрута (route distinguisher, RD), один и тот же для всех маршрутов сайта • Для обмена через ядро MPLS этими новыми адресами VPN-IPv4 используется MP-BGP 64 бит RD 32 бит IPv4
Administrator AN AN Структура различителя маршрутов RD Type Type = 0 - в поле Administrator IP-адрес (4 байта) Type=1 - в поле Administrator NAS (2 байта) Assigned number (AN) – уникальное число выбираемое провайдером
Адрес VPN-IPv4=123.45.67.89:1:10.1.0.0 Next Hop=123.45.67.89 Метка Lvpn=7 RT=Green Объявление BGP Сайт 1 VPNA RD=123.43.15.3:1 Export = GREEN Import = GREEN RD=123.45.67.89:1 Export = GREEN Import = GREEN Адрес IPv4=10.1.0.0 Сайт 2VPNA CE3 CE1 VRF1А VRF2А IP=123.43.15.3 Int7 IP=123.45.67.89 BGP BGP Сайт 2VPNB PE2 PE1 IP=123.45. 7.5 RD=123.43.15.3:2 Export = RED Import = RED CE4 VRF1В CE2 VRF2В RD=123.45.67.89:2 BGP Сайт 1 VPNB RD=123.43.25.3:1 Export = GREEN Import = GREEN VRF3А PE3 CE5 Сайт 3VPNA Маршрутные объявления MP-BGP
Адреса VPN-IPv4 используются только в объявлениях MP-BGP • В таблицах VRF –только адреса IPv4 • RFC 2547bis не требует, чтобы все маршруты внутри одной VPN индексировались одним и тем же значением RD • Принципиально важно, чтобы RD разных VPN не совпадали.
Маршрутное объявление MP-BGP • Адрес сети назначения в формате VPN-IPv4 • Адрес следующего маршрутизатора (BGP next hop) • . • Метка (label VPN) – уникально определяет внешний интерфейс маршрутизатора PE • Расширенные атрибуты сообщества (Extended community attributes
Расширенные атрибуты сообщества (Extended community attributes), -Route-target, RT –идентифицирует набор сайтов, входящих в данную VPN, которым PE должен посылать маршруты. Значение route-target в объявлении export target policy, заданной при конфигурированиитаблицы VRF Формат атрибута route-target аналогичен формату различителя маршрутов RD, что обеспечивает его уникальность в пределах всех VPN.
VPN-IPv4 addresses, Next hop, Label,Extended CommunityAttributes P P PE PE • VPN Backbone IGP P P iBGP session Передается информация о маршрутах в сайтах заказчика. В сообщении содержатся следующие данные:
Содержимое обновлений BGP • VPN-IPV4 address= RD (64) и IPv4 address(32) • RD конфигурируется для каждой VRF
Содержимое обновлений BGP Next Hop в формате VPN-IPV4, где RD =0
Содержимое обновлений BGP • Метка VPN: • Метка второго уровня (exterior label), распределяется протоколом BGP • Указывает на VPN -интерфейсвыходного маршрутизатора PE и в конечном счете на VPN • Метка может быть назначена толькотем маршрутизатором, адрес которого указан в качестве Next-Hop атрибута (Downstream Unsolicited)
Содержимое обновлений BGP • Extended Community attribute (64) • Site of Origin (SOO): идентифицирует сайт- источник маршрута • Route-target (RT): идентифицирует набор сайтов, которым должен быть передан данный маршрут (соответствует всем сайтам одной VPN)
Трансляция объявлений о маршрутах В VRF имеется запись о маршруте: Net = 10.1.0.0,Next-Hop=CE1 На PE происходит трансляция: VPN-IPv4: 123.45.67.89:1:10.1.0.0 Next-hop=123.45.7.5 Lvpn=7 RT=Green
Адрес VPN-IPv4=123.45.67.89:1:10.1.0.0 Next Hop=123.45.67.89 Метка Lvpn=7 RT=Green Объявление BGP Сайт 1 VPNA RD=123.43.15.3:1 Export = GREEN Import = GREEN RD=123.45.67.89:1 Export = GREEN Import = GREEN Адрес IPv4=10.1.0.0 Сайт 2VPNA CE3 CE1 VRF1А VRF2А IP=123.43.15.3 Int7 IP=123.45.67.89 BGP BGP Сайт 2VPNB PE2 PE1 IP=123.45. 7.5 RD=123.43.15.3:2 Export = RED Import = RED CE4 VRF1В CE2 VRF2В RD=123.45.67.89:2 BGP Сайт 1 VPNB RD=123.43.25.3:1 Export = GREEN Import = GREEN VRF3А PE3 CE5 Сайт 3VPNA Маршрутные объявления MP-BGP
1 Site-2 Site-1 Трансляция маршрутных обновлений на границе домена MPLS P P BGP,OSPF,RIPv2 update Net1, Next-Hop=CE-1 PE-2 PE-1 CE-2 • VPN Backbone IGP P P CE-1 • (1) PE маршрутизаторполучает из сайта заказчика обновление IPv4 EBGP, RIPv2, Static
2 Site-2 Site-1 BGP,OSPF,RIPv2 update Net1, Next-Hop=CE-1 P P PE-2 PE-1 CE-2 • VPN Backbone IGP P P VPN-IPv4 update:RD:Net1, SOO=Site1, RT=Green, Next-hop=PE-1 Label=(intCE1) CE-1 (2) PE транслирует это обновление в формат VPN-IPv4, для этого • Добавляет к адресу сети RD • Назначает SOO и RT • Переписывает значениеполя Next-Hop • Назначает метку, жестко связанную с VRF • Посылает сообщение MP-iBGP всем соседям
3 Site-2 Site-1 P P IPv4 update Net1 PE-2 PE-1 BGP,RIPv2 update Net1, Next-Hop=CE-1 CE-2 • VPN Backbone IGP P P VPN-IPv4 update:RD:Net1, Next-hop=PE-1SOO=Site1, RT=Green, Label=(intCE1) CE-1 (3) Все PE-получатели MP-BGP-сообщений: - транслируют полученное обновление в формат IPv4 - помещают маршрут в таблицы VRF, связанные с сайтами, указанными атрибутом RT
Обработка сообщения BGP Сообщение о маршруте принимается всеми PE и запись о нем (адрес и метка) заносится в соответствующие VRF в зависимости от указаний в атрибутах Extended Community. Использование данного сообщения при продвижении пакета Каждый раз, когда из сайта заказчика в сеть MPLS отправляется пакет с данным адресом назначения, по таблице VRF определяется метка, вставляется в заголовок MPLS пакета для отправки по нужному пути второго уровня иерархии.
LSP Для передачи информации между PE используется LSP первого уровня иерархии Для передачи данных между сайтами заказчика используется LSP второго уровня иерархии P P PE PE • VPN Backbone IGP P P iBGP session
Site-3 N3 Site-1 EBGP/RIP/Static N2,NH=CE2 Обмен маршрутами между сайтами одной VPN EBGP/RIP/Static N3NH=CE3 Routing Table для CE3 N1, PE3N2, PE3N3, Local VRFдля site-3 N1,NH=PE1N2,NH=PE2N3,NH=CE3 IntCE3 PE3 Обновления VPN-IPv4 между PE RD:N1, NH=PE1,Label=IntCE1, RT=BlueRD:N2, NH=PE2,Label=IntCE2, RT=BlueRD:N3, NH=PE3,Label=IntCE3, RT=Blue VRFдля site-1 N1,NH=CE1N2,NH=PE2N3,NH=PE3 PE1 IntCE2 VRFдля site-2 N1,NH=PE1N2,NH=CE2N3,NH=PE3 Site-2 PE2 N2 IntCE1 Routing Table для CE2 N1,NH=PE2N2,LocalN3,NH=PE2 Routing Table для CE1 N1, LocalN2, PE1N3, PE1 EBGP/RIP/Static N1NH=CE1 N1
Промежуточный маршрутизатор P1 (и остальные)коммутирует пакеты на основе метки первогоуровня IGP label (она находится наверху стека) Предпоследний (Penultimate Hop) маршрутизатор P2 удаляет метку первого уровня PE2 получает пакеты с меткой, указывающей на выходной интерфейс (VRF) IP packet IP packet VPN Label IP packet IP packet IGP Label(PE2)VPN Label CE1 PE1 CE2 IP packet IGP Label(PE2)VPN Label P1 P2 PE2 • PE1 получает IP-пакет • Просматривает VRF данного сайта • Находит маршрут BGPc меткой второго уровня (VPN label) • Извлекает из VRF Next-Hop (PE2) • По таблице коммутации PE1 определяет для адреса PE2 метку первого уровня (IGP label). CE3
Сокрытие магистрали провайдераMPLS VPN • Интерфейс между VPN осуществляет BGP, не требуется раскрывать никакой информации о магистрали • Информация требуется только когда протокол маршрутизации работает между CE и PE • Если требуется этого избежать, то можно занести маршруты вручную • Функция traceroute отключена
Что видит клиент MPLS VPN? Адресацию глобальных связей между CE клиента и PE провайдера видят только клиенты, относящиеся к этой же VPN CE Router Customer A CE Router клиента B LER LER CE Router клиента B MPLS-домен CE Router клиента A
Устойчивость MPLS VPN к атакам • Имеется возможность задать объект атаки в сети провайдера - IP-адресглобальной связи (WAN link) • Главная цель – обеспечить защищенность каждой VPN от атак из других VPN. • Из VPN, подключеннойк тому же самому PE • Через магистральную сеть
Атака маршрутизатора провайдера через сеть Клиент ACE Клиент B CE CE знает адрес PE Атака из соседней VPN LER LER LSR Клиент ACE Клиент B CE
Устойчивость MPLS VPN к атакам • Два возможных пути атакив MPLSVPN • Атакана PE • Атака на сигнальный механизм MPLS (на внутренние LSR)
Атакина PE • DoS-атака на PE.Затопление обновлениями таблиц маршрутизации • Несанкционированный доступ к PE • Могут быть проведены такие же атаки как и на маршрутизаторы ISP. Используются те же методы предотвращения.
Предотвращение атак на PE • Несанкционированный доступ к PE • В access-list заносятся записи, запрещающие доступ к PE по telnet из CE. • Затопление маршрутными обновлениями • Использование аутентификации в протоколах маршрутизации • Настроить access-list так, чтобы сообщения других протоколов маршрутизации не пропускались • Ограничения общего количества маршрутов в VRF • Ограничения общего количество маршрутов, которые могут быть приняты BGP во время одной сессии
Атака на систему сигнализации MPLS VPN • Пакеты передаются по магистральной сети на основании меток • Метки назначаются протоколами продвижения меток LDP/RSVP • Возможно ли подменить метку (аналогично IP-спуфингу)?