10. EIGRP. IPv6. Манипуляции

EIGRP для IPv6

  • EIGRP - протокол, работающий поверх IP

    • При работе поверх IPv6 используется групповой адрес FF02::A

    • Работает с маршрутами того адресного семейства, поверх которого работает

  • Алгоритм работы для IPv6 не изменился

    • Перед началом работы EIGRP включается на интерфейсах

    • Устанавливается соседство

    • Алгоритм DUAL отправляет обновления с маршрутами, получает обновления от соседей, запоминает их и выбирает лучшее

  • Синтаксис команд похож для IPv4 и IPv6

Базовая настройка EIGRP для IPv6

  • Назначить одинаковый номер AS на всех роутерах

    • Может не совпадать с номером для IPv4

  • Включить EIGRP на интерфейсах

    • Команды network больше нет, есть команда ipv6 eigrp <ASNumber> на интерфейсе

  • EIGRP не запустится без выбранного Router-ID

    • Если нет ни одного адреса IPv4 - нужно задать адрес вручную

Router(config)#ipv6 router eigrp 65001
Router(config-rtr)#eigrp router-id 0.0.0.1
Router(config)#interface range gi0/0, fa0/0-2
Router(config-if-range)#ipv6 eigrp 65001

Диагностика EIGRP

  • Источник маршрутной информации:

Router#show ipv6 protocols
  • Проверка интерфейсов:

    • Интерфейс может отсутствовать в списке, если он выключен, пассивный или в другой AS

Router#show ipv6 eigrp interfaces
  • Проверка соседей:

    • Совпадение номеров AS

    • Совпадение коэффицентов

    • ACL для 88 протокола

Router#show ipv6 eigrp neighbors
  • Проверка топологии:

    • По-умолчанию показывает только маршруты, удовлетворяющие FC, ключ all-links покажет все

Router#show ipv6 eigrp topology
  • Проверка таблицы маршрутизации:

Router#show ipv6 route eigrp
  • Дебаг:

    • Общий для IPv4 и IPv6

    • Чаще всего требуется отслеживать отработку пакетов

Router#debug eigrp packets hello
Router#debug eigrp packets terse

Дополнительные настройки

  • Балансировка, К-коэффиценты, статические соседства, таймеры настраиваются аналогично IPv4

Манипулирование маршрутами

  • EIGRP как DV-протокол, может отправлять только маршруты из RIB

    • Если маршрута в RIB нет - можно его "нарисовать"

    • Не обязательно отправлять полный RIB

    • Короче говоря, можно отправлять все, что угодно - главное, не устроить петлю

  • Над маршрутами можно манипулировать:

    • Фильтровать импорт маршрутов в RIB

    • Фильтровать экспорт маршрутов из RIB

    • Анонсировать "лишние" маршруты, в том числе агрегатные и внешние

    • Подменять метрику

Автосуммирование в EIGRP

  • Выключено по умолчанию, начиная с IOS версии 15.0(1)М

    • На старых IOS включено по умолчанию, вызывает проблемы!

  • Соседу посылается только классовая сеть (но не ее подсети из таблицы топологии), если сосед находится в другой классовой сети

Router(config-router)#auto-summary

Агрегация маршрутов EIGRP

  • Отсылается только агрегатный маршрут, но не его компоненты (можно через leak-map)

    • Хотя бы один компонент должен быть в RIB

    • Метрика агрегата по умолчанию - наименьшая метрика его компонентов

  • В RIB создается виртуальный discard route на интерфейс Null0

    • DV-протоколы не могут анонсировать маршрут, которого нет в RIB

    • Можно задать AD (по умолчанию - 5, для 0.0.0.0/0 можно поставить больше)

Router(config)#interface gi0/0
Router(config-if)#ip summary-address eigrp 100 10.0.0.0 255.255.0.0 250 ! Depricated
Router(config-if)#ipv6 summary-address eigrp 100 2001:DB8::/32
  • Актуальный синтаксис:

Router(config)#interface gi0/0
Router(config-if)#ip summary-address eigrp 100 10.0.0.0 255.255.0.0
Router(config)#router eigrp 100
Router(config)#summary-metric 10.0.0.0/24 ?
  <1-4294967295>  Bandwidth metric in Kbits per second
  distance        Set administrative distance for summary route

Импорт и экспорт маршрутов

  • Таблица топологии EIGRP получает маршруты через:

    • "Импорт" из RIB (редистрибуция или connected-маршруты)

    • Прием Update от соседей

  • Из таблицы топологии маршруты могут быть:

    • Экспортированы в RIB

    • Отправлены в Update (только при успешном экспорте и реимпорте из RIB)

Редистрибуция

  • Процесс импорта маршрутов из RIB в таблицу топологии EIGRP

    • Connected

    • Static

    • Динамические (BGP/OSPF/IS-IS/RIP)

    • Глобальная таблица или VRF

  • Каждому импортируемому префиксу нужно указать seed metric

    • Bandwidth, Delay, Reliability, Load, MTU

    • Из connected, attached static или другой EIGRP AS метрики наследуются

    • Можно назначить метрику явно, неявно или через route-map

    • Префиксы без назначенной метрики получают метрику infinity

Router(config)#router eigrp 65001
Router(config-router)#redistribute connected
Router(config-router)#redistribute static metric 10000 1 255 1 1500
Router(config-router)#redistribute ospf 1 route-map OSPF_TO_EIGRP
Router(config-router)#default-metric 10000 1 255 1 1500

Route-map при редистрибуции в EIGRP

  • C помощью Route-map можно отобрать префиксы для редистрибуции или назначить специальные метрики

R1(config)#ip route 10.0.1.1 255.255.255.255 10.0.0.1 tag 1
R1(config)#ip route 10.0.2.2 255.255.255.255 10.0.0.1 tag 2
R1(config)#ip route 10.0.3.3 255.255.255.255 10.0.0.1 tag 3
R1(config)#route-map STATIC_TO_EIGRP permit 10
R1(config-route-map)#match tag 1
R1(config-route-map)#set metric 10000000 1 255 1 1500
R1(config-route-map)#route-map STATIC_TO_EIGRP permit 20
R1(config-route-map)#match tag 2
R1(config-route-map)#set metric 1 10000 0 255 1500
R1(config)#router eigrp 65001
R1(config-router)#redistribute static route-map STATIC_TO_EIGRP

Distribute-list в EIGRP

  • Позволяет отфильтровать:

    • отправляемые и принимаемые префиксы (в т.ч. на уровне интерфейса)

    • импорт маршрутов других протоколов из RIB при редистрибуции

Router(config-router)#distribute-list ACL_EIGRP_INCOMING in
Router(config-router)#distribute-list prefix PREF_EIGRP_INCOMING gateway PREF_NEIGH in gi0/0
Router(config-router)#distribute-list route-map RM_EIGRP_INCOMING
Router(config-router)#distribute-list ACL_EIGRP_OUTGOING out
Router(config-router)#distribute-list prefix PREF_EIGRP_OUTGOING out gi0/0
Router(config-router)#distribute-list prefix PREF_OSPF_TO_EIGRP out ospf 1 !маршруты из ospf в eigrp

Off-Set List

  • Позволяет быстро изменить метрику на нужный маршрут

  • Фактически меняет значение Delay для расчета Computed Distance (прибавляет выставленное значение к Reported Distance и пересчитывает Delay под метрику)

D        22.22.22.3 [90/409600] via 10.2.113.3, 00:04:47, Ethernet0/3
                    [90/409600] via 10.2.13.3, 00:04:47, Ethernet0/2
R1(config)#ip access-list standard OFFSET
R1(config-std-nacl)#permit 22.22.22.3 0.0.0.0
R1(config-std-nacl)#router eigrp 100
R1(config-router)#offset-list OFFSET in ?
  <0-2147483647>  Offset
R1(config-router)#offset-list OFFSET in 100 e0/2
P 22.22.22.3/32, 1 successors, FD is 409600
        via 10.2.113.3 (409600/128256), Ethernet0/3
        via 10.2.13.3 (409700/128356), Ethernet0/2

Инъекция маршрута по умолчанию

  • EIGRP распространяет маршрут по умолчанию тремя способами:

    • Получив этот маршрут от соседа и установив его в RIB через EIGRP Update

    • Импортировав маршрут по умолчанию из RIB через редистрибуцию

    • Просуммировав в 0.0.0.0/0 некоторые сети из RIB (AD=250, чтобы не мешал)

  • Глючный способ - через ip default-network

    • Классовая (sic!) сеть помечалась как кандидат на маршрут по умолчанию

    • Соответствующий флаг (*) передавался в EIGRP Update

Router(config)#ip default-network 192.168.168.0

Router#show ip route
!!!!!!
Gateway of last resort is 10.0.0.1 to network 192.168.168.0

D*  192.168.168.0/24 [170/307200] via 10.0.0.1, 00:13:51, Gi0/0

EIGRP в DMVPN

  • На хабе необходимо:

    • Для фазы 1 - отключить Split Horizon

    • Для фазы 2 - отключить Next-hop-self

    • Для фазы 3 - агрегировать маршруты и включить NHRP Shortcut/Redirect

Hub(config)#interface Tunnel0
Hub(config-if)#ip nhrp map multicast dynamic
Hub(config-if)#no ip split-horizon eigrp 65001
Hub(config-if)#no ip next-hop-self eigrp 65001
Hub(config-if)#ip summary eigrp 65001 0.0.0.0 0.0.0.0 250
Hub(config-if)#ip nhrp shortcut
Hub(config-if)#ip nhrp redirect
Spoke(config)#interface Tunnel0
Spoke(config-if)#ip nhrp map multicast 192.0.2.1
Spoke(config-if)#ip nhrp shortcut

Манипуляции с AD

  • Можно задать AD префиксам EIGRP в RIB

  • По умолчанию

    • 90 для внутренних маршрутов

    • 170 для внешних

    • 5 для discard route, создаваемого при агрегации

Задать AD:

Router(config-router)#distance eigrp 80 160

Задать AD для отдельных маршрутов:

Router(config-router)#distance 180 0.0.0.0 255.255.255.255 ACL_DISTANCE_180

EIGRP Stub

  • Stub-маршрутизаторы не могут быть транзитными для префиксов

    • Им не отправляют Query (или они немедленно отправляют Reply)

    • Они не отправляют Learned-маршруты в Update

  • Могут отправлять (или не отправлять с recieve-only) маршруты:

    • Connected - анонсировать собственные Internal-маршруты

    • Summary - анонсировать собственные маршруты-агенты

    • Redistributed - анонсировать собственные external маршруты (кроме static)

    • Static - анонсировать собственные external маршруты из redistriburte static

    • По умолчанию connected и summary

Router(config-router)#eigrp stub ?
  connected      Do advertise connected routes
  leak-map       Allow dynamic prefixes based ont the leak-map
  receive-only   Set receive only neighbor
  redistributed  Do advertise redistributed routes
  static         Do advertise static routes
  summary        Do advertise summaru routes
  <cr>

Last updated