Upload
wirt
View
123
Download
0
Embed Size (px)
DESCRIPTION
VPN на основе технологии MPLS. Технология BGP / MPLS VPN (RFC 2547 ). Хорошее приближение предлагаемых сервисов к свойствам сервисов частной сети: Безопасность на уровне сетей с виртуальными каналами Пропускная способность может быть гарантирована на основе QoS - PowerPoint PPT Presentation
Citation preview
VPN VPN на основе на основе технологии технологии MPLSMPLS
Технология BGP/MPLS VPN (RFC 2547)
Хорошее приближение предлагаемых сервисов к свойствам сервисов частной сети:
Безопасность на уровне сетей с виртуальными каналамиПропускная способность может быть гарантирована на основе QoSВозможность оказания дополнительных услуг на уровне IP-сетей
Легко внедряется и обслуживаетсяОтличная масштабируемость
Безопасность MPLS VPN
Вопросы, требующие ответа:
Как сделать раздельной адресацию?
Как сделать маршрутизацию раздельной?
Как скрыть сетевую магистраль?
Как устранить уязвимость к атакам типа DoS и вторжениям в сеть?
MPLS VPN
CE клиента A
PE (LER)
Домен MPLS
PE (LER)
CE клиента B
CE клиента B
CE клиента A
P (LSR)
Site 1 клиента А
Site 3 клиента А
Site 2 клиента А
Site 3
клиента B
Site 4
клиента B
Site 1
клиента B
Site 2
клиента B
ТерминологияCE (Customer Edge) router – пограничный маршрутизатор клиента, часть его VPNPE (Provider Edge) router – пограничный маршрутизатор провайдера, реализующий интерфейс с CE
PE = edge LSR, LERP router – маршрутизатор магистральной сети провайдера, ничего не знающий о VPN
P = LSR На маршрутизаторах P протокол BGP не выполняется, они
ничего не знают о VPN
Терминология
• Сайт• Набор сетей, являющихся частью VPN клиента и
расположенных географически рядом друг с другом
• Сайт соединен с магистральной сетью VPN одной или более связями PE/CE
• Сайт может быть частью разных VPN
• поддержка MPLS• маршрутизаторы P, являющиеся частью сети
провайдера
• внутренние интерфейсы пограничнх маршрутизаторов PE
поддержка VPN Только PE «знают» о существовании VPN
Поэтому маршрутизаторы PE являются функционально более сложными, чем P
Компоненты MPLS VPN
P
PE6
Сайт 1 VPNB
Сайт 1 VPNA
Сайт 1 VPNC
CE
Сети клиента
Сеть провайдера
Сайт 2 VPNA
Сайт 2 VPNB
Сайт 3 VPNB
Сайт 3 VPNA
Сайт 4 VPNA
Сайт 2 VPNC
PE1PE2
PE3
PE5PE4
CE
CE
CE
CECE
CE
CE
CE
P
P
P
P
P
P
P
P
Пограничный маршрутизатор клиента
- Пограничный маршрутизатор провайдера
Парадокс обеспечения абсолютной изолированности при сохранении полной связности.
При создании VPN на базе IP-сети сложно проблема состоит в достижении изолированности
Решение:
Для изоляции - автоматическая фильтрация маршрутных объявлений
Для связности - применение туннелей для передачи клиентского трафика по внутренней сети провайдера.
Сети клиентов
Сеть провайдера
Изоляция сетей клиентов и использование туннелей
BGP
BGP
BGP
BGP
IGP
IGP
Туннели для трафика данных
Маршрутные объявления
Разделение маршрутов в MPLS VPN
Маршруты BGP не распространяются внутри домена MPLS
Пограничные маршрутизаторы провайдера PE для каждого подключенного к ним сайта имеют независимые таблицы маршрутизации и продвижения VRF (VPN Routing and Forwarding)
VPN_A
VPN_A
VPN_B
10.3.0.0
10.1.0.0
11.5.0.0
P P
PPPE
PE CE
CE
CE
VPN_A
VPN_B
VPN_B
10.1.0.0
10.2.0.0
11.6.0.0
CE
PE
PECE
CE
VPN_A
10.2.0.0
CE
iBGP sessions
PE обмениваются между собой маршрутной информацией по протоколу MP-BGP
P и PE используют общий протокол IGP
PE и CE обмениваются маршрутной информацией по протоколам: OSPF, RIPv2, статические записи
PE - виртуальный маршрутизатор
IGP
IGP
IGP
P
P
P
Сайт A
Сайт B
CE
CE
PE
Глобальная таблица маршрутизацииVRF A
VRF B Сеть провайдера
BGP
• Несколько сайтов, относящихся к одной VPN и подключенных к одному PE могут иметь общую VRF
PE
CE
CE
Site-2
Site-1
• Маршруты, получаемые PE от некоторого CE о сетях сайта, заносятся в соответствующую VRF. VRF также пополняется протоколом MP-BGP – об адресах сетей других сайтов данной VPN
• Маршруты, которые PE получает из магистральной сети по протоколу IGP , заносятся в глобальную таблицу
PE
CE
CE
Site-2
Site-1
VPN Backbone IGP
EBGP,OSPF, RIPv2,Static
Глобальная таблица
VRF
VRF Таблица коммутации MPLS
PE
VPN Backbone IGP
iBGP session
PE
P P
P P
(1) Обмен маршрутной информацией между PE идет по протоколу MP-BGP
Независимость адресных пространств
Адресные пространства каждой VPN включают
•уникальные глобальные адреса Интернет
•либо частные (private) адреса (RFC 1819)
Вопрос:
почему не сделать выбор адресов в пределах VPN совершенно произвольным, ограниченным только общими правилами адресации стека TCP/IP?
Независимость адресных пространств
Важно:
адреса узлов в разных сайтах одной и той же VPN, не должны совпадать
но
адреса в разных VPN могут совпадать
3 VPN
Разделяемая магистральная сеть
CE Router10.2.2.2
CE Router10.2.2.3
CE Router10.2.2.4
CE Router 10.2.2.2
CE Router3.3.3.3
•Использование отдельных VRF позволяет ограничиться требованием уникальности адресных пространств на уровне VPN
Проблема совпадения адресов
BGP изначально был рассчитан на использование глобально уникальных адресов IPv4
Проблема: при совпадении адресов в объявлениях в таблицу VRF заносится только один «кратчайший» маршрут.
Решение - вместо потенциально неоднозначных адресов IPv4 используются расширенные однозначные адреса VPN-IPv4
Различитель адресов
Используются модифицированные адреса VPN-IPv4
к каждому маршруту IPv4 добавлен 64-битный признак маршрута (route distinguisher, RD), один и тот же для всех маршрутов сайта
Для обмена через ядро MPLS этими новыми адресами VPN-IPv4 используется MP-BGP
96 бит VPN-IPv4
64 бит RD 32 бит IPv4
Type = 0 - в поле Administrator IP-адрес (4 байта)
Type=1 - в поле Administrator NAS (2 байта)
Assigned number (AN) – уникальное число выбираемое провайдером
Administrator ANANType
Структура различителя маршрутов Структура различителя маршрутов RDRD
CE2
CE1
PE1
BGP BGP
PE2
Сайт 1 VPNA
BGP
PE3
CE4
CE3
CE5
Сайт 2 VPNA
Сайт 3 VPNA
VRF1А
VRF1В
VRF2А
VRF3А
Маршрутные объявления MP-BGP
IP=123.45.67.89
Сайт 1 VPNB
Сайт 2 VPNB
VRF2В
Адрес VPN-IPv4=123.45.67.89:1:10.1.0.0
Next Hop=123.45.67.89
Метка Lvpn=7
RT=Green
Адрес IPv4=10.1.0.0
Объявление BGP
RD=123.45.67.89:2
Int7
IP=123.45. 7.5
RD=123.45.67.89:1
Export = GREEN
Import = GREEN
RD=123.43.15.3:1
Export = GREEN
Import = GREEN
IP=123.43.15.3
RD=123.43.15.3:2
Export = RED
Import = RED
RD=123.43.25.3:1
Export = GREEN
Import = GREEN
•Адреса 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.
PE
VPN Backbone IGP
iBGP session
PE
P P
P P
Передается информация о маршрутах в сайтах заказчика. В сообщении содержатся следующие данные:
VPN-IPv4 addresses, Next hop, Label, Extended Community Attributes
Содержимое обновлений BGP
VPN-IPV4 addressVPN-IPV4 address= RD (64) и IPv4 address(32)
RD конфигурируется для каждой VRF
Содержимое обновлений BGP
Next Hop Next Hop
в формате VPN-IPV4, где RD =0
Содержимое обновлений BGP
Метка Метка VPNVPN:
Метка второго уровня (exterior label), распределяется протоколом BGP
Указывает на VPN -интерфейс выходного маршрутизатора PE и в конечном счете на VPN
Метка может быть назначена только тем маршрутизатором, адрес которого указан в качестве Next-Hop атрибута (Downstream Unsolicited)
Содержимое обновлений BGP
•Extended Community attributeExtended 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
CE2
CE1
PE1
BGP BGP
PE2
Сайт 1 VPNA
BGP
PE3
CE4
CE3
CE5
Сайт 2 VPNA
Сайт 3 VPNA
VRF1А
VRF1В
VRF2А
VRF3А
Маршрутные объявления MP-BGP
IP=123.45.67.89
Сайт 1 VPNB
Сайт 2 VPNB
VRF2В
Адрес VPN-IPv4=123.45.67.89:1:10.1.0.0
Next Hop=123.45.67.89
Метка Lvpn=7
RT=Green
Адрес IPv4=10.1.0.0
Объявление BGP
RD=123.45.67.89:2
Int7
IP=123.45. 7.5
RD=123.45.67.89:1
Export = GREEN
Import = GREEN
RD=123.43.15.3:1
Export = GREEN
Import = GREEN
IP=123.43.15.3
RD=123.43.15.3:2
Export = RED
Import = RED
RD=123.43.25.3:1
Export = GREEN
Import = GREEN
• (1) PE маршрутизатор получает из сайта заказчика обновление IPv4 EBGP, RIPv2, Static
PE-1
VPN Backbone IGP
PE-2
P P
P P
BGP,OSPF,RIPv2
update
Net1,
Next-Hop=CE-1
CE-1
Site-2
Site-1
CE-2
Трансляция маршрутных обновлений на границе домена MPLS
1
(2) PE транслирует это обновление в формат VPN-IPv4, для этого
• Добавляет к адресу сети RD• Назначает SOO и RT• Переписывает значение поля Next-Hop• Назначает метку, жестко связанную с VRF• Посылает сообщение MP-iBGP всем соседям
PE-1
VPN Backbone IGP
PE-2
P P
P P
BGP,OSPF,RIPv2
update Net1,
Next-Hop=CE-1
VPN-IPv4 update:RD:Net1, SOO=Site1, RT=Green, Next-hop=PE-1 Label=(intCE1)
CE-1
Site-2
Site-1
CE-2
2
PE-1
VPN Backbone IGP
PE-2
P P
P P
BGP,RIPv2 update Net1, Next-Hop=CE-1
VPN-IPv4 update:RD:Net1, Next-hop=PE-1SOO=Site1, RT=Green, Label=(intCE1)
CE-1
Site-2
IPv4 update
Net1
Site-1
CE-2
(3) Все PE-получатели MP-BGP-сообщений: - транслируют полученное обновление в формат IPv4 - помещают маршрут в таблицы VRF, связанные с
сайтами, указанными атрибутом RT
3
Обработка сообщения BGP
Сообщение о маршруте принимается всеми PE и запись о нем (адрес и метка) заносится в соответствующие VRF в зависимости от указаний в атрибутах Extended Community.
Использование данного сообщения при продвижении пакета
Каждый раз, когда из сайта заказчика в сеть MPLS отправляется пакет с данным адресом назначения, по таблице VRF определяется метка, вставляется в заголовок MPLS пакета для отправки по нужному пути второго уровня иерархии.
PE
VPN Backbone IGP
iBGP session
PE
P P
P P
LSP
Для передачи информации между PE используется LSP первого уровня иерархии
Для передачи данных между сайтами заказчика используется LSP второго уровня иерархии
Site-1
VRFдля site-1
N1,NH=CE1N2,NH=PE2N3,NH=PE3
PE1
PE3
PE2
N1
Site-3
N3
N2
Обновления 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
IntCE1
IntCE3
N1NH=CE1
Routing Table для CE1
N1, LocalN2, PE1N3, PE1
EBGP/RIP/Static
VRFдля site-3
N1,NH=PE1N2,NH=PE2N3,NH=CE3
Routing Table для CE3
N1, PE3N2, PE3N3, Local
N3NH=CE3
EBGP/RIP/Static
Site-2
IntCE2
Routing Table для CE2
N1,NH=PE2N2,LocalN3,NH=PE2
N2,NH=CE2
EBGP/RIP/Static
VRFдля site-2
N1,NH=PE1N2,NH=CE2N3,NH=PE3
Обмен маршрутами между сайтами одной VPN
PE2
PE1
CE1
CE2
P1 P2
IGP Label(PE2)VPN Label
IPpacket
•PE1 получает IP-пакет
•Просматривает VRF данного сайта
•Находит маршрут BGP c меткой второго уровня (VPN label)
•Извлекает из VRF Next-Hop (PE2)
•По таблице коммутации PE1 определяет для адреса PE2 метку первого уровня (IGP label).
Предпоследний (Penultimate Hop)
маршрутизатор P2 удаляет метку первого уровня
VPN Label
IPpacket
IPpacket
PE2 получает пакеты с меткой, указывающей на выходной интерфейс (VRF)
IPpacket
CE3
IPpacket
Промежуточный маршрутизатор P1 (и остальные) коммутирует пакеты на основе метки первого уровня IGP label (она находится наверху стека)
IGP Label(PE2)VPN Label
Сокрытие магистрали провайдераMPLS VPN
Интерфейс между VPN осуществляет BGP, не требуется раскрывать никакой информации о магистрали
Информация требуется только когда протокол маршрутизации работает между CE и PE
Если требуется этого избежать, то можно занести маршруты вручную
Функция traceroute отключена
Что видит клиент MPLS VPN?
CE Routerклиента A
LERMPLS-домен
LER
CE Routerклиента B
CE Routerклиента B
CE RouterCustomer A
Адресацию глобальных связей междуCE клиента и PE провайдера видят только
клиенты, относящиеся к этой же VPN
Устойчивость MPLS VPN к атакам
Имеется возможность задать объект атаки в сети провайдера - IP-адрес глобальной связи (WAN link)
Главная цель – обеспечить защищенность каждой VPN от атак из других VPN.
Из VPN, подключенной к тому же самому PE
Через магистральную сеть
Клиент ACE
Клиент ACE
Клиент BCE
Клиент BCE
Атака маршрутизатора провайдера через сеть
LER LERLSR
Атака из соседней VPN
CE знает адрес
PE
Устойчивость MPLS VPN к атакам
Два возможных пути атаки в MPLS VPN
1. Атака на PE
2. Атака на сигнальный механизм MPLS (на внутренние LSR)
Атаки на PE
DoS-атака на PE. Затопление обновлениями таблиц маршрутизацииНесанкционированный доступ к PE
Могут быть проведены такие же атаки как и на маршрутизаторы ISP. Используются те же методы предотвращения.
Предотвращение атак на PE Несанкционированный доступ к PE
В access-list заносятся записи, запрещающие доступ к PE по telnet из CE.
Затопление маршрутными обновлениямиИспользование аутентификации в протоколах маршрутизацииНастроить access-list так, чтобы сообщения других протоколов маршрутизации не пропускалисьОграничения общего количества маршрутов в VRFОграничения общего количество маршрутов, которые могут быть приняты BGP во время одной сессии
Атака на систему сигнализации MPLS VPN
Пакеты передаются по магистральной сети на основании меток
Метки назначаются протоколами продвижения меток LDP/RSVP
Возможно ли подменить метку (аналогично IP-спуфингу)?
Спуфинг меток в MPLS Связь между CE и PE является IP интерфейсом, не использующим меткиPE router ни при каких обстоятельствах не принимает по этому интерфейсу пакетов с меткойПри получении пакета с меткой по интерфейсу с CE маршрутизатор PE отбрасывает егоПротокол LDP может использовать аутентификацию на основе MD-5
MPLS обеспечивает безопасные коммуникации для создания экономичных
корпоративных сетей