Настройка EIGRP с использованием команды ip default-route
Топология сети:
IP-адресацию настраиваем заблаговременно, после чего поднимаем EIGRP 100, не анонсируя сеть 30.1.1.1/8 на R3.
R1(config)#router eigrp 100
R1(config-router)#eigrp router-id 1.1.1.1
R1(config-router)#network 1.0.0.0
R1(config-router)#network 10.0.0.0
R1(config-router)#no auto-summary
R2(config)#router eigrp 100
R2(config-router)#eigrp router-id 2.2.2.2
R2(config-router)#network 1.0.0.0
R2(config-router)#network 20.0.0.0
R2(config-router)#no auto-summary
R3(config)#router eigrp 100
R3(config-router)#eigrp router-id 3.3.3.3
R3(config-router)#network 2.0.0.0
R3(config-router)#no auto-summary
Убеждаемся, что соседства между узлами установлены и в таблице маршрутизации появились новые префиксы:
R1:
R1#sh ip eigrp neighbors
EIGRP-IPv4 Neighbors for AS(100)
H Address Interface Hold Uptime SRTT RTO Q Seq
(sec) (ms) Cnt Num
0 1.1.1.2 Se1/0 14 00:05:56 16 100 0 8
R1#sh ip route eigrp | begin Gateway
Gateway of last resort is not set
D 2.0.0.0/8 [90/2681856] via 1.1.1.2, 00:05:58, Serial1/0
D 20.0.0.0/8 [90/2195456] via 1.1.1.2, 00:05:53, Serial1/0
R2:
R2#sh ip eigrp neighbors
EIGRP-IPv4 Neighbors for AS(100)
H Address Interface Hold Uptime SRTT RTO Q Seq
(sec) (ms) Cnt Num
1 1.1.1.1 Se1/0 14 00:05:02 23 138 0 10
0 2.2.2.2 Se1/1 13 00:14:02 20 120 0 5
R2#sh ip route eigrp | begin Gateway
Gateway of last resort is not set
D 10.0.0.0/8 [90/2195456] via 1.1.1.1, 00:05:35, Serial1/0
R3:
R3#sh ip eigrp neighbors
EIGRP-IPv4 Neighbors for AS(100)
H Address Interface Hold Uptime SRTT RTO Q Seq
(sec) (ms) Cnt Num
0 2.2.2.1 Se1/0 14 00:14:06 15 100 0 9
R3#sh ip route eigrp | begin Gateway
Gateway of last resort is not set
D 1.0.0.0/8 [90/2681856] via 2.2.2.1, 00:05:45, Serial1/0
D 10.0.0.0/8 [90/2707456] via 2.2.2.1, 00:05:45, Serial1/0
D 20.0.0.0/8 [90/2195456] via 2.2.2.1, 00:05:41, Serial1/0
Видим, что в таблице маршрутизации на R1 и R2 нет маршрута в сторону сети 30.1.1.1/8 на R3. Но все же попытаемся пингануть его:
R1#ping 30.1.1.1
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 30.1.1.1, timeout is 2 seconds:
.....
Success rate is 0 percent (0/5)
R2#ping 30.1.1.1
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 30.1.1.1, timeout is 2 seconds:
.....
Success rate is 0 percent (0/5)
Ну, это вполне ожидаемо. Сейчас мы это исправим. Для этого будем использовать команду:
R(config)#ip default-network A.B.C.D
Данная команда нужна для того, чтобы добавить в свою таблицу маршрутизации кандидата на дефолтный маршрут.
Теперь идем на R1. Таблица маршрутизации до использования ip default-network:
R1#sh ip route eigrp | begin Gateway
Gateway of last resort is not set
D 2.0.0.0/8 [90/2681856] via 1.1.1.2, 00:18:10, Serial1/0
D 20.0.0.0/8 [90/2195456] via 1.1.1.2, 00:28:59, Serial1/0
Используем сеть 2.0.0.0 в качестве кандидата для маршрута по умолчанию:
R1(config)#ip default-network 2.0.0.0
Смотрим таблицу маршрутизации:
R1#sh ip route eigrp | begin Gateway
Gateway of last resort is 1.1.1.2 to network 2.0.0.0
D* 2.0.0.0/8 [90/2681856] via 1.1.1.2, 00:20:08, Serial1/0
D 20.0.0.0/8 [90/2195456] via 1.1.1.2, 00:30:57, Serial1/0
В таблице маршрутизации видим, что верхняя строка стала помечаться знаком *, это значит, что данный маршрут является кандидатом на маршрут по умолчанию.
Проверяем связность:
R1#ping 30.1.1.1
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 30.1.1.1, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 18/19/20 ms
Работает. Теперь пойдем немножко другим путем.
Использование редистрибьюции статических маршрутов
Удалим кандидата на дефолтный маршрут с R1:
R1(config)#no ip default-network 2.0.0.0
Теперь на R1 сеть 30.0.0.0/8 снова недоступна.
Заходим на R2 и прописываем дефолтный статический маршрут в сторону R3, указав в качестве next-hop адреса адрес s1/0 интерфейса R3:
R2(config)#ip route 0.0.0.0 0.0.0.0 2.2.2.2
Проверяем доступность нужной нам сети:
R2#ping 30.1.1.1
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 30.1.1.1, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 8/9/10 ms
После этого нужно передать этот маршрут в сторону R1, это делается при помощи команды rediscribute static в режиме конфигурации eigrp:
R2(config-router)#redistribute static
Готово, теперь идем на R1, смотрим таблицу маршрутизации и пытаемся пингануть адрес 30.1.1.1:
R1#sh ip route eigrp
Codes: L - local, C - connected, S - static, R - RIP, M - mobile, B - BGP
D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
E1 - OSPF external type 1, E2 - OSPF external type 2
i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2
ia - IS-IS inter area, * - candidate default, U - per-user static route
o - ODR, P - periodic downloaded static route, H - NHRP, l - LISP
a - application route
+ - replicated route, % - next hop override
Gateway of last resort is 1.1.1.2 to network 0.0.0.0
D*EX 0.0.0.0/0 [170/2681856] via 1.1.1.2, 00:00:20, Serial1/0
D 2.0.0.0/8 [90/2681856] via 1.1.1.2, 00:43:32, Serial1/0
D 20.0.0.0/8 [90/2195456] via 1.1.1.2, 00:54:21, Serial1/0
R1#ping 30.1.1.1
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 30.1.1.1, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 19/19/20 ms
Все успешно работает. Как мы видим из таблицы маршрутизации, там появился новый маршрут, помеченный уже известным нам символом «звездочка» с пометкой EX. EX означает, что данный маршрут был принят от устройства, которое получило информацию о данной сети не из запущенного экземпляра EIGRP (путем редистрибьюции из другого протокола маршрутизации/другого экземпляра EIGRP).
Добрый день!
В абзаце «После этого нужно передать этот маршрут в сторону R1, это делается при помощи команды rediscribute static в режиме конфигурации интерфейса:» видимо, имелось в виду «…в режиме конфигурации протокола eigrp», т.к. следующая команда применяется для его конфигурации:
R2(config-router)#redistribute static
И в этой строке у вас «потерялась» «2» в имени роутера и «#» после скобки. Вводит в заблуждение 🙂 Исправьте, пожалуйста.
Кстати, того же результата (что рассматривается в статье) можно можно добиться и без использования ip default-network и перераспределения маршрутов. На R2 прописываем статический маршрут и анонсируем сеть 0.0.0.0 в eigrp 100:
R2(config)#ip route 0.0.0.0 0.0.0.0 serial 1/1
R2(config)#router eigrp 100
R2(config-router)#network 0.0.0.0
R1 пингует 30.1.1.1.
Было бы хорошо, если бы вы еще добавили описание использования route-map и метрик при перераспределении маршрутов.
Спасибо за хорошую статью.
3fc, спасибо за указанную опечатку, поправил 🙂
А вот по поводу редистрибьюции статического маршрута не совсем корректно получается, поскольку в случае, если мы пропишем network 0.0.0.0, у нас будут анонсироваться абсолютно все сети, поскольку по дефолту 0.0.0.0 означает «расскажи все, что знаешь». Что, собственно, роутер и сделает в случае такой настройки 🙂
Например, не будем настраивать статический маршрут, а просто в режиме настройки eigrp пропишем network 0.0.0.0, получим такую картину:
R3#sh run | sec router eigrp 100
router eigrp 100
network 0.0.0.0
eigrp router-id 3.3.3.3
Ради интереса, добавлю на R3 Loopback-интерфейс:
R3(config)#int loopback1
R3(config-if)#ip address 99.0.0.1 255.255.255.0
А вот, как это видит R2:
R2#sh ip route eigrp | i 2.2.2.2
D 30.0.0.0/8 [90/2195456] via 2.2.2.2, 00:11:56, Serial1/1
D 99.0.0.0 [90/2297856] via 2.2.2.2, 00:00:43, Serial1/1
На самом деле, подход очень интересный и идея мне явно понравилась. Спасибо за уделенное время и внимание.
Метриками и route-map планирую заняться, но чуть позже. Пока еще не решил, в каком направлении двигаться дальше.
Если есть пожелания, готов выслушать