Виртуальные частные сети на основе MPLS

реклама
VPN на основе
технологии MPLS
Технология BGP/MPLS VPN
(RFC 2547)
Хорошее приближение предлагаемых сервисов
к свойствам сервисов частной сети:
Безопасность на уровне сетей с виртуальными
каналами
Пропускная способность может быть гарантирована
на основе QoS
Возможность оказания дополнительных услуг на
уровне IP-сетей
Легко внедряется и обслуживается
Отличная масштабируемость
Безопасность MPLS VPN
Вопросы, требующие ответа:
Как сделать раздельной адресацию?
Как сделать маршрутизацию раздельной?
Как скрыть сетевую магистраль?
Как устранить уязвимость к атакам типа
DoS и вторжениям в сеть?
MPLS VPN
Site 1
клиента А
Site 2
клиента А
Site 1
клиента B
PE (LER)
CE клиента B
PE (LER)
CE клиента A
CE клиента B
P (LSR)
CE клиента A
Site 3
клиента А
Домен MPLS
Site 2
клиента B
Site 3
клиента B
Site 4
клиента B
Терминология
CE (Customer Edge) 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
PE1
Сеть провайдера
CE
P
PE6
CE
CE
P
P
Сайт 1 VPNC
Сайт 2 VPNB
P
PE3
P
P
P
Сайт 3 VPNA
CE
P
P
PE4
CE
PE5 - Пограничный
маршрутизатор
провайдера
Сайт 4 VPNA CE
Пограничный
маршрутизатор
клиента
Компоненты MPLS VPN
CE
Сайт 2 VPNC
Сайт 3 VPNB
Парадокс обеспечения абсолютной
изолированности при сохранении полной
связности.
При создании VPN на базе IP-сети сложно проблема
состоит в достижении изолированности
Решение:
Для изоляции - автоматическая фильтрация маршрутных
объявлений
Для связности - применение туннелей для передачи
клиентского трафика по внутренней сети провайдера.
Сети клиентов
Маршрутные
объявления
BGP
IGP
IGP
BGP
Туннели для
трафика данных
BGP
BGP
Сеть провайдера
Изоляция сетей клиентов и использование туннелей
Разделение маршрутов в
MPLS VPN
Маршруты BGP не распространяются
внутри домена MPLS
Пограничные маршрутизаторы провайдера
PE для каждого подключенного к ним сайта
имеют независимые таблицы
маршрутизации и продвижения VRF
(VPN Routing and Forwarding)
PE обмениваются между собой маршрутной
информацией по протоколу MP-BGP
VPN_A
VPN_A
iBGP sessions
11.5.0.0
10.2.0.0
CE
CE
VPN_A
VPN_B
10.2.0.0
CE
P
P
P
P
PE
PE
CE
10.1.0.0
VPN_A
11.6.0.0
CE
VPN_B
PE
PE
CE
10.3.0.0
VPN_B
10.1.0.0
CE
PE и CE обмениваются маршрутной
информацией по протоколам: OSPF,
RIPv2, статические записи
P и PE используют общий
протокол IGP
PE - виртуальный маршрутизатор
Глобальная
таблица
маршрутизации
Сайт A
VRF A
P
CE
IGP
BGP
IGP
P
IGP
PE
Сайт B
CE
VRF B
P
Сеть провайдера
CE
Site-1
PE
CE
Site-2
• Несколько сайтов, относящихся к одной VPN и
подключенных к одному PE могут иметь общую
VRF
CE
VRF
Site-1
Глобальная
таблица
PE
VPN Backbone IGP
CE
Site-2
EBGP,OSPF, RIPv2,Static
VRF
Таблица
коммутации
MPLS
• Маршруты, получаемые PE от некоторого CE о сетях
сайта, заносятся в соответствующую VRF. VRF также
пополняется протоколом MP-BGP – об адресах сетей
других сайтов данной VPN
• Маршруты, которые PE получает из магистральной сети
по протоколу IGP , заносятся в глобальную таблицу
P
P
PE
PE
VPN Backbone IGP
P
P
iBGP session
(1) Обмен маршрутной информацией между PE идет по
протоколу MP-BGP
Независимость адресных пространств
Адресные пространства каждой 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
Различитель адресов
Используются модифицированные адреса
VPN-IPv4
к каждому маршруту IPv4 добавлен 64-битный
признак маршрута (route distinguisher, RD),
один и тот же для всех маршрутов сайта
Для обмена через ядро MPLS этими новыми
адресами VPN-IPv4 используется MP-BGP
96 бит VPN-IPv4
64 бит RD
32 бит IPv4
Структура различителя маршрутов RD
Type
Administrator
AN
AN
Type = 0 - в поле Administrator IP-адрес (4 байта)
Type=1 - в поле Administrator NAS (2 байта)
Assigned number (AN) – уникальное число выбираемое
провайдером
Объявление BGP
Сайт 1 VPNA
Адрес VPN-IPv4=
123.45.67.89:1:10.1.0.0
RD=123.45.67.89:1
Адрес IPv4=10.1.0.0
Export = GREEN
Import = GREEN
CE1
Next Hop=123.45.67.89
RD=123.43.15.3:1
Метка Lvpn=7
Export = GREEN
RT=Green
Import = GREEN
Сайт 2 VPNA
CE3
VRF1А
VRF2А
Int7
IP=123.45.67.89
IP=123.43.15.3
BGP
PE1
BGP
Сайт 2 VPNB
PE2
IP=123.45. 7.5
RD=123.43.15.3:2
CE4
Export = RED
CE2
Import = RED
VRF1В
VRF2В
RD=123.45.67.89:2
BGP
Сайт 1 VPNB
VRF3А
Export = GREEN
PE3
Import = GREEN
CE5
Маршрутные объявления MP-BGP
RD=123.43.25.3:1
Сайт 3 VPNA
•Адреса 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.
P
P
PE
PE
VPN Backbone IGP
P
P
iBGP session
Передается информация о маршрутах в сайтах заказчика.
В сообщении содержатся следующие данные:
VPN-IPv4 addresses, Next hop, Label, Extended Community
Attributes
Содержимое обновлений 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
Объявление BGP
Сайт 1 VPNA
Адрес VPN-IPv4=
123.45.67.89:1:10.1.0.0
RD=123.45.67.89:1
Адрес IPv4=10.1.0.0
Export = GREEN
Import = GREEN
CE1
Next Hop=123.45.67.89
RD=123.43.15.3:1
Метка Lvpn=7
Export = GREEN
RT=Green
Import = GREEN
Сайт 2 VPNA
CE3
VRF1А
VRF2А
Int7
IP=123.45.67.89
IP=123.43.15.3
BGP
PE1
BGP
Сайт 2 VPNB
PE2
IP=123.45. 7.5
RD=123.43.15.3:2
CE4
Export = RED
CE2
Import = RED
VRF1В
VRF2В
RD=123.45.67.89:2
BGP
Сайт 1 VPNB
VRF3А
Export = GREEN
PE3
Import = GREEN
CE5
Маршрутные объявления MP-BGP
RD=123.43.25.3:1
Сайт 3 VPNA
Трансляция маршрутных обновлений на границе домена
MPLS
1
BGP,OSPF,RIPv2
update
Net1,
Next-Hop=CE-1
P
P
PE-2
PE-1
CE-2
VPN Backbone IGP
P
P
CE-1
Site-1
• (1) PE маршрутизатор получает из сайта
заказчика обновление IPv4 EBGP, RIPv2, Static
Site-2
BGP,OSPF,RIPv2
update Net1,
Next-Hop=CE-1
P
P
PE-2
PE-1
CE-2
VPN Backbone IGP
P
CE-1
Site-1
VPN-IPv4 update:
RD:Net1,
SOO=Site1,
RT=Green, Nexthop=PE-1
Label=(intCE1)
P
2
(2) PE транслирует это обновление в формат VPN-IPv4,
для этого
• Добавляет к адресу сети RD
• Назначает SOO и RT
• Переписывает значение поля Next-Hop
• Назначает метку, жестко связанную с VRF
• Посылает сообщение MP-iBGP всем соседям
Site-2
P
BGP,RIPv2
update Net1,
Next-Hop=CE-1
PE-2
PE-1
Site-1
IPv4 update
Net1
CE-2
VPN Backbone IGP
P
CE-1
3
P
P
Site-2
VPN-IPv4
update:
RD:Net1,
Next-hop=PE-1
SOO=Site1,
RT=Green,
Label=(intCE1)
(3) Все PE-получатели MP-BGP-сообщений:
- транслируют полученное обновление в формат IPv4
- помещают маршрут в таблицы VRF, связанные с
сайтами, указанными атрибутом RT
Обработка сообщения BGP
Сообщение о маршруте принимается всеми PE и
запись о нем (адрес и метка) заносится в
соответствующие VRF в зависимости от указаний в
атрибутах Extended Community.
Использование данного сообщения при
продвижении пакета
Каждый раз, когда из сайта заказчика в сеть MPLS
отправляется пакет с данным адресом назначения, по
таблице VRF определяется метка, вставляется в заголовок
MPLS пакета для отправки по нужному пути второго
уровня иерархии.
LSP
P
P
PE
PE
VPN Backbone IGP
P
P
iBGP session
Для передачи информации между PE используется LSP
первого уровня иерархии
Для передачи данных между сайтами заказчика используется
LSP второго уровня иерархии
Обмен маршрутами между сайтами
одной VPN
Site-3
N3
Routing Table для CE3
N1, PE3
N2, PE3
N3, Local
EBGP/RIP/Static
N3
NH=CE3
IntCE3
PE3
VRF
для site-1
N1,NH=CE1
N2,NH=PE2
N3,NH=PE3
Обновления VPN-IPv4 между PE
RD:N1, NH=PE1,Label=IntCE1, RT=Blue
RD:N2, NH=PE2,Label=IntCE2, RT=Blue
RD:N3, NH=PE3,Label=IntCE3, RT=Blue
PE1
IntCE1
Routing Table для
CE1
N1, Local
N2, PE1
N3, PE1
Site-1
N1
VRF
для site-3
N1,NH=PE1
N2,NH=PE2
N3,NH=CE3
EBGP/RIP/Static
N1
NH=CE1
PE2
EBGP/RIP/Static
IntCE2
N2,NH=CE2
VRF
для site-2
N1,NH=PE1
N2,NH=CE2
N3,NH=PE3
Site-2
N2
Routing Table для
CE2
N1,NH=PE2
N2,Local
N3,NH=PE2
CE1
IP
packet
Промежуточный
маршрутизатор P1 (и
остальные) коммутирует
пакеты на основе метки
первого уровня IGP label
(она находится наверху
стека)
Предпоследний
(Penultimate Hop)
маршрутизатор P2
удаляет метку первого
уровня
PE2 получает пакеты с
меткой, указывающей на
выходной интерфейс (VRF)
PE1
CE2
IP
packet
IP
packet
IGP Label(PE2)
VPN Label
VPN Label
P1
•PE1 получает IP-пакет
•Просматривает VRF данного сайта
•Находит маршрут BGP c меткой
второго уровня (VPN label)
•Извлекает из VRF Next-Hop (PE2)
•По таблице коммутации PE1
определяет для адреса PE2 метку
первого уровня (IGP label).
P2
IP
packet
IGP
Label(PE2)
VPN Label
IP
packet
PE2
CE3
Сокрытие магистрали провайдера
MPLS VPN
Интерфейс между VPN осуществляет BGP, не
требуется раскрывать никакой информации о
магистрали
Информация требуется только когда протокол
маршрутизации работает между CE и PE
Если требуется этого избежать, то можно
занести маршруты вручную
Функция traceroute отключена
Что видит клиент MPLS VPN?
Адресацию глобальных связей между
CE клиента и PE провайдера видят только CE Router
клиенты, относящиеся к этой же VPN Customer A
CE Router
клиента B
LER
LER
MPLS-домен
CE Router
клиента A
CE Router
клиента B
Устойчивость MPLS VPN к
атакам
Имеется возможность задать объект атаки в
сети провайдера - IP-адрес глобальной связи
(WAN link)
Главная цель – обеспечить защищенность
каждой VPN от атак из других VPN.
Из VPN, подключенной к тому же самому PE
Через магистральную сеть
Клиент B
CE
Атака маршрутизатора
провайдера через сеть
Клиент A
CE
CE знает
адрес
PE
Атака из
соседней
VPN
LER
Клиент A
CE
LSR
LER
Клиент B
CE
Устойчивость 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 обеспечивает
безопасные коммуникации
для создания экономичных
корпоративных сетей
Скачать