5. Манипуляция и классификация
Задачи и инструменты
Часто приходится применять определенные действия к некоторому подмножеству объектов (пакетов, маршрутов)
Классификация позволяет принять решение о применении действия
Манипуляции при принятии решения позволяют изменить объект
Инструменты: ACL, Prefix List, Route Map
Access Control List
Простейший классификатор, не выполняет манипуляцию
Анализирует объекты и выносит вердикт permit/deny:
IP-пакеты: адреса источника\назначения, порты TCP\UDP, тип содержимого
IP-маршруты: адрес и маска сети\адрес шлюза
Кадры Ethernet: MAC источника\назначения, LLC/SPAN вложения
Разновидности:
По способу конфигурирования:
Нумерованные
Именованные
По возможностям анализа (только для IPv4):
Стандартные
Расширенные
По типу классифицируемых объектов:
IPv4
IPv6
IEEE 802
MPLS
DECnet
Вся остальная информация по ACL в CCNA!
Prefix List
Классификатор, адаптированный под анализ маршрутов
Функционально не отличается от ACL
Анализирует IP-адрес (не попадание в эталонную сеть) и длину префикса
Router(config)#ip prefix-list PFL permit 10.10.11.0/24
Router(config)#ip prefix-list PFL seq 5 deny 10.10.12.0/24
Для анализа длины префикса используются операторы ge и le
Если ни один оператор не задан, требуется точное совпадение длины префикса с маской эталонной сети (частая ошибка настройки)
Router(config)#ip prefix-list EXACT1 permit 10.10.11.0/24
Router(config)#ip prefix-list EXACT2 permit 10.10.11.0/24 ge 24 le 24
Router(config)#ip prefix-list RANGE permit 10.10.11.0/24 ge 26 le 28
Router(config)#ip prefix-list LONGER permit 10.10.11.0/24 ge 25
Router(config)#ip prefix-list ORLONGER permit 10.10.11.0/24 ge 24
Router(config)#ip prefix-list UPTO permit 10.10.11.0/24 le 28
Router(config)#ip prefix-list DEFAULT permit 0.0.0.0/0
Router(config)#ip prefix-list ANY-ROUTE permit 0.0.0.0/0 le 32
Cвязь ACL и PFL
Префикс-листы удобно использовать для классификации маршрутов
Любой префикс-лист можно записать в форме ACL
Standard ACL для префикс-листов без операторов
Extended ACL для префикс-листов с операторами для анализа маски
Исключение - применение с distribute-list в EIGRP и BGP
Route Map
Продвинутый инструмент, позволяет:
Анализировать различные по природе свойства объекта
Выполнять сложные сравнения И\ИЛИ
Выполнять манипуляции с анализируемым объектом
Как и ACL, имеет упорядоченную структуру блоков и выполнение сравнения в блоках до вынесения явного или неявного вердикта
Блоки Route Map
Блоки пронумерованы и выполняются последовательно (сверху вниз)
Если в блоке обнаружено совпадение (match), то:
Выносится вердикт (permit/deny)
Выполняются манипуляции (set)
Несколько match-условий в разных строках - разная природа, логика И
Несколько match-условий в одной строке - одинаковая природа, логика ИЛИ
route-map MYROUTEMAP permit 10
match {statement 1}
match {statement 2}
set {set statement 1}
set {set statement 2}
route-map MYROUTEMAP deny 20
match {match statement 4}
match {match statement 5}
route-map MYROUTEMAP permit 30
match {match statement 6} {match statement 7}
set {set statement 3}
Route-map Match-условия
Route-map может анализировать разные типы объектов, механизм позволяет заказывать сравнение самых разных свойств и объектов
Ответственность за разумность сравнения лежит на операторе
Match
Описание
match ip address [prefix-list]
IP-адрес источника\получателя для пакетов, адрес сети и длина префиксов для маршрутов
match ip next-hop [prefix-list]
IP-адрес шлюза для маршрута
match ip route-source
IP-адрес источника маршрута
match ipv6 address [prefix-list]
IPv6-адреса источника\получателя для пакетов, адрес сети и длина префиксов для маршрутов
match metric
Метрика маршрута
match route-type {external|internal|nssa-external|local}
Тип маршрута
match tag
Метка маршрута для RIP/OSPF/EIGRP/BGP
Route-map Set-манипуляции
Route-Map может анализировать разные типы объектов, механизм позволяет манипулировать самыми разными свойствами объектов
Ответственность за корректность манипуляции лежит на операторе
Match
Описание
set ip next-hop
Задание шлюза для маршрута или для пакета
set ipv6 next-hop
Задание шлюза для маршрута или для пакета IPv6
set metric-type
Задание типа метрики маршрута EIGRP/OSPF
set metric
Задание метрики маршрута
set origin
Задание атрибута BGP
set community
Задание атрибута BGP
set as-path
Задание атрибута BGP
set tag
Задание метки маршрута RIP/EIGRP/OSPF
Конфигурация Route Map
Порядок блоков важен, как и в ACL
Router(config)#route-map SET_METRIC_RM permit
Router(config-route-map)#match ip address VIP_USERS_ACL
Router(config-route-map)#set metric 100
Router(config-route-map)#route-map SET_METRIC_RM deny 5
Router(config-route-map)#match ip address TROUBLEMAKERS_ACL
Router(config-route-map)#route-map SET_METRIC_RM
Router#show route-map SET_METRIC_RM
Использование Route Map
Policy-Based Routing
Редистрибуция между протоколами динамической маршрутизации
Фильтрация маршрутов в BGP и манипуляции с ними
В IOS нормально работать с BGP можно только с использованием Route Map
Использование PBR
PBR позволяет отойти от традиционной табличной маршрутизации
Маршрутизация в зависимости от адреса источника
Маршрутизация в зависимости от сетевого приложения
Загрузка нескольких каналов в Интернет
Настройка PBR
Конфигурация Route Map
Отбираем нужный трафик условиями match
Переопределяем next-hop
set ip next-hop - задается connected-адрес next-hop
set ip next-hop recursive - задается резолвящийся адрес next-hop
set ip default next-hop - PBR срабатывает между специфичным маршрутом и 0.0.0.0/0
set interface - задается connected-интерфейс
set default interface - аналогично set ip default next-hop
Необработанные пакеты отправятся по таблице маршрутизации
Применяем Route Map для маршрутизации по политике
В контексте входящего интерфейса для транзитного трафика
В глобальном контексте для локального трафика
Настраиваем динамический контроль PBR
Объекты отслеживания (IP SLA, маршруты, интерфейсы, споки)
CDP (если не задан объект отслеживания)
Конфигурация PBR Route Map
Необработанные пакеты отправляются по таблице маршрутизации
Router(config)#ip route 0.0.0.0 0.0.0.0 1.1.1.1
Router(config)#route-map PBR_RM permit
Router(config-route-map)#match ip address LAPTOP
Router(config-route-map)#set ip next hop 2.2.2.2
Route Map применяется для транзитного и локального трафика
Router(config)#ip local policy route-map PBR_RM !для локального трафика
Router(config)#interface gi0/0 !входящий интерфейс для трафика PBR
Router(config-if)#ip policy route-map PBR_RM
Диагностика PBR
Обычная трассировка с устройств
Дебаг политик
Router#debug ip policy
Nov 12 20:00:01.302: IP: s=192.168.100.2 (FastEthernet0/1), d=8.8.8.8, len 48, FIB policy match
Nov 12 20:00:01.302: IP: s=192.168.100.2 (FastEthernet0/1), d=8.8.8.8, g=2.2.2.2, len 48, FIB policy routed
Nov 12 20:00:01.503: IP: s=192.168.100.1 (FastEthernet0/1), d=8.8.8.8, len 48, policy rejected -- normal forwarding
Динамический контроль PBR
Требуется отслеживать доступность Next Hop
Next Hop в connected-маршруте Ethernet будет жив, пока жива запись ARP
Можно использовать ICMP-зонд IP SLA или CDP
Router(config)#route-map PBR_RM permit 10
Router(config-route-map)#set ip next-hop 2.2.2.2 !используется cdp
Router(config-route-map)#set ip next-hop verify-availability !Проверка 2.2.2.2 на доступность через CDP
Router(config)#ip sla 1
Router(config-ip-sla)#icmp-echo 2.2.2.2 source-interface gi0/1
Router(config-ip-sla-echo)#frequency 10
Router(config)#ip sla schedule 1 start-time now life forever
Router(config)#track 10 ip sla 1
Router(config-route-map)#set ip next-hop verify-availability 2.2.2.2 10 track 1
Router(config-route-map)#set ip next-hop verify-availability 3.3.3.3 20 track 2
Last updated