В данной статье мы разберем способы активации/деактивации EIGRP на интерфейсах, а также научимся настраивать таймеры протокола EIGRP.

Топология сети:

Hello и Hold-интервалы

EIGRP использует пакеты приветствия в напрямую подключенных каналах для обнаружения маршрутизаторов с включенной поддержкой EIGRP. Пакеты приветствия используются маршрутизаторами для создания отношений смежности между устройствами EIGRP.

Hello-пакеты отправляются как групповые рассылки для IPv4, использую в качестве адреса назначения адрес групповой рассылки 224.0.0.10.
В EIGRP пакеты приветствия также используются для поддержания установленных отношений смежности. EIGRP-роутер считает, что пока поступают hello-пакеты от соседнего маршрутизатора, соседний роутер и его маршруты остаются работоспособными.

Протокол EIGRP использует таймер удержания (hold-интервал), чтобы определить максимальное время ожидания роутером получения следующего пакета приветствия, прежде чем соседний маршрутизатор будет считаться недоступным. По умолчанию hold-таймер втрое больше hello-интервала. В большинстве сетей стандартными значениями для таймера приветствия и удержания считаются 5 и 15 секунд соответственно. По истечении времени удержания EIGRP объявляет маршрут неактивным и алгоритм DUAL выполняет поиск нового пути, отправляя соответствующие запросы.

Для того, чтобы изменить стандартные значения таймеров, нужно в режиме конфигурации интерфейса выполнить:

Router(config-if)#ip hello-interval eigrp as-number seconds
Router(config-if)#ip hold-time eigrp as-number seconds

Значения seconds для обоих интервалов может быть в промежутке от 1 до 65535 секунд.

Выставим между R1 и R2 таймеры 1 и 3, а между R2 и R3 10 и 30:

R1:

R1#conf t
Enter configuration commands, one per line.  End with CNTL/Z.
R1(config)#int s1/0
R1(config-if)#ip hello-interval eigrp 100 1
R1(config-if)#ip hold-time eigrp 100 3
R1(config-if)#end

R2:

R2#conf t
R2(config)#int s1/0
R2(config-if)#ip hello-interval eigrp 100 1
R2(config-if)#ip hold-time eigrp 100 3
R2(config)#int s1/1
R2(config-if)#ip hello-interval eigrp 100 10
R2(config-if)#ip hold-time eigrp 100 30
R2(config-if)#end

R3:

R2(config)#int s1/1
R2(config-if)#ip hello-interval eigrp 100 10
R2(config-if)#ip hold-time eigrp 100 30
R2(config-if)#end

Проверить настройки таймеров можно, используя команду show ip eigrp interfaces detail в привилегированном режиме:

R1:

R1#show ip eigrp interfaces detail 
EIGRP-IPv4 Interfaces for AS(100)
                              Xmit Queue   PeerQ        Mean   Pacing Time   Multicast    Pending
Interface              Peers  Un/Reliable  Un/Reliable  SRTT   Un/Reliable   Flow Timer   Routes
Se1/0                    1        0/0       0/0          19       0/16          96           0
  Hello-interval is 1, Hold-time is 3
  Split-horizon is enabled
  Next xmit serial 
  Packetized sent/expedited: 7/1
  Hello's sent/expedited: 534/2
  Un/reliable mcasts: 0/0  Un/reliable ucasts: 6/8
  Mcast exceptions: 0  CR packets: 0  ACKs suppressed: 0
  Retransmissions sent: 0  Out-of-sequence rcvd: 0
  Topology-ids on interface - 0 
  Authentication mode is not set
Et0/0                    0        0/0       0/0           0       0/0            0           0
  Hello-interval is 5, Hold-time is 15
  Split-horizon is enabled
  Next xmit serial 
  Packetized sent/expedited: 0/0
  Hello's sent/expedited: 140/1
  Un/reliable mcasts: 0/0  Un/reliable ucasts: 0/0
  Mcast exceptions: 0  CR packets: 0  ACKs suppressed: 0
  Retransmissions sent: 0  Out-of-sequence rcvd: 0
  Topology-ids on interface - 0 

R2:

R2#sh ip eigrp interfaces detail
EIGRP-IPv4 Interfaces for AS(100)
                              Xmit Queue   PeerQ        Mean   Pacing Time   Multicast    Pending
Interface              Peers  Un/Reliable  Un/Reliable  SRTT   Un/Reliable   Flow Timer   Routes
Se1/0                    1        0/0       0/0          14       0/16          80           0
  Hello-interval is 1, Hold-time is 3
  Split-horizon is enabled
  Next xmit serial 
  Packetized sent/expedited: 6/0
  Hello's sent/expedited: 518/2
  Un/reliable mcasts: 0/0  Un/reliable ucasts: 8/7
  Mcast exceptions: 0  CR packets: 0  ACKs suppressed: 0
  Retransmissions sent: 0  Out-of-sequence rcvd: 0
  Topology-ids on interface - 0
  Authentication mode is not set
Se1/1                    1        0/0       0/0          25       0/15         123           0
  Hello-interval is 10, Hold-time is 30
  Split-horizon is enabled
  Next xmit serial 
  Packetized sent/expedited: 10/0
  Hello's sent/expedited: 110/3
  Un/reliable mcasts: 0/0  Un/reliable ucasts: 6/11
  Mcast exceptions: 0  CR packets: 0  ACKs suppressed: 1
  Retransmissions sent: 0  Out-of-sequence rcvd: 0
  Topology-ids on interface - 0
  Authentication mode is not set
Et0/0                    0        0/0       0/0           0       0/0            0           0
  Hello-interval is 5, Hold-time is 15
  Split-horizon is enabled
  Next xmit serial 
  Packetized sent/expedited: 0/0
  Hello's sent/expedited: 152/1
  Un/reliable mcasts: 0/0  Un/reliable ucasts: 0/0
  Mcast exceptions: 0  CR packets: 0  ACKs suppressed: 0
  Retransmissions sent: 0  Out-of-sequence rcvd: 0
  Topology-ids on interface - 0
  Authentication mode is not set

Аналогичная ситуация на R3.

EIGRP-интерфейсы и команда passive-interface

Как видно выше, кроме интерфейсов, напрямую смотрящих в сторону EIGRP-соседа, также указаны интерфейсы, смотрящие в сторону локальной сети. А это означает, что hello-пакеты также анонсируются в эту сторону. Оставлять конфигурацию сети в таком виде крайне нежелательно, поскольку потенциальный злоумышленник может воспользоваться этим изъяном, и, используя подложного EIGRP-соседа в локальной сети, направить некорректные маршруты в нашу сеть.
Для того, чтобы избежать этого, нужно на всех роутерах отметить интерфейсы, смотрящие в сторону локальной сети, как пассивные. Делается это при помощи команды passive-interface в режиме конфигурации EIGRP.

Есть 2 способа настройки пассивных интерфейсов:

Способ 1: Объявить все интерфейсы пассивными по умолчанию, включив нужные интерфейсы. Сделаем это на примере R2:

R2#conf t
Enter configuration commands, one per line.  End with CNTL/Z.
R2(config)#router eigrp 100
R2(config-router)#passive-interface default
*Nov 30 18:32:35.681: %DUAL-5-NBRCHANGE: EIGRP-IPv4 100: Neighbor 1.1.1.1 (Serial1/0) is down: interface passive
*Nov 30 18:32:35.681: %DUAL-5-NBRCHANGE: EIGRP-IPv4 100: Neighbor 2.2.2.2 (Serial1/1) is down: interface passivea
R2(config-router)#no passive-interface s1/0
R2(config-router)#no passive-interface s1/1
*Nov 30 18:32:42.338: %DUAL-5-NBRCHANGE: EIGRP-IPv4 100: Neighbor 1.1.1.1 (Serial1/0) is up: new adjacency
*Nov 30 18:32:43.881: %DUAL-5-NBRCHANGE: EIGRP-IPv4 100: Neighbor 2.2.2.2 (Serial1/1) is up: new adjacency
R2(config-router)#end

Как видим выше, после ввода команды passive-interface default существующие eigrp-соседства оказались разрушенными по причине деактивации интерфейсов. Но, после того, как мы активировали каждый интерфейс по отдельности (используя no passive-interface interface), отношения смежности снова установились. Проверим активные EIGRP-интерфейсы:

R2#sh ip eigrp interfaces detail 
EIGRP-IPv4 Interfaces for AS(100)
                              Xmit Queue   PeerQ        Mean   Pacing Time   Multicast    Pending
Interface              Peers  Un/Reliable  Un/Reliable  SRTT   Un/Reliable   Flow Timer   Routes
Se1/0                    1        0/0       0/0          29       0/15         143           0
  Hello-interval is 1, Hold-time is 3
  Split-horizon is enabled
  Next xmit serial 
  Packetized sent/expedited: 10/1
  Hello's sent/expedited: 1159/3
  Un/reliable mcasts: 0/0  Un/reliable ucasts: 11/11
  Mcast exceptions: 0  CR packets: 0  ACKs suppressed: 0
  Retransmissions sent: 0  Out-of-sequence rcvd: 0
  Topology-ids on interface - 0 
  Authentication mode is not set
Se1/1                    1        0/0       0/0          31       0/15         147           0
  Hello-interval is 10, Hold-time is 30
  Split-horizon is enabled
  Next xmit serial 
  Packetized sent/expedited: 13/0
  Hello's sent/expedited: 175/4
  Un/reliable mcasts: 0/0  Un/reliable ucasts: 7/14
  Mcast exceptions: 0  CR packets: 0  ACKs suppressed: 2
  Retransmissions sent: 0  Out-of-sequence rcvd: 0
  Topology-ids on interface - 0 
  Authentication mode is not set

Отлично, теперь hello-пакеты в сторону локальной сети не отправляются.

Способ 2: принудительно деактивировать интерфейсы, на которых не предусмотрено установление EIGRP-соседства:

После ввода в режиме настройки eigrp команды network network_number wildcard, интерфейс, на котором терминируется сеть network_number, становится активным, рассылая hello-пакеты через этот порт. В случае с интерфейсом E0/0 на R1, нужно просто принудительно этот интерфейс сделать пассивным:

R1#conf t
Enter configuration commands, one per line.  End with CNTL/Z.
R1(config)#router eigrp 100
R1(config-router)#passive-interface e0/0
R1(config-router)#end

Проверим активные интерфейсы:

R1#show ip eigrp interfaces detail 
EIGRP-IPv4 Interfaces for AS(100)
                              Xmit Queue   PeerQ        Mean   Pacing Time   Multicast    Pending
Interface              Peers  Un/Reliable  Un/Reliable  SRTT   Un/Reliable   Flow Timer   Routes
Se1/0                    1        0/0       0/0          26       0/15         131           0
  Hello-interval is 1, Hold-time is 3
  Split-horizon is enabled
  Next xmit serial 
  Packetized sent/expedited: 10/1
  Hello's sent/expedited: 1675/3
  Un/reliable mcasts: 0/0  Un/reliable ucasts: 10/12
  Mcast exceptions: 0  CR packets: 0  ACKs suppressed: 0
  Retransmissions sent: 0  Out-of-sequence rcvd: 0
  Topology-ids on interface - 0 
  Authentication mode is not set

Как видно, оба способа прекрасно работают. В крупных сетях чаще применяется первый вариант, поскольку он точно не позволит лишнему трафику уходить через «левые» интерфейсы, пресекая возможность перехвата EIGRP-пакетов злоумышленниками.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.