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