Иногда нам хочется, чтобы интерфейс роутера участвовал в процессе маршрутизации EIGRP, но без отправки Hello сообщений EIGRP с этого интерфейса. Именно об этом мы и поговорим в этой статье.
Ранее мы говорили о команде Network net-id wildcard-mask, вводимой в режиме конфигурации роутера EIGRP. Эта команда вызывает два основных действия:
- Отправляет EIGRP Hello multicast сообщения с любого интерфейса, чей IP-адрес попадает в сетевое адресное пространство, указанное командой network.
- Объявляет подсеть любого интерфейса, IP-адрес которого попадает в сетевое адресное пространство, заданное командой network.
Однако в некоторых случаях нам нет необходимости в том, чтобы команда network выполняла перовое действие, указанное выше. Например, если интерфейс подключается к хостам в локальной сети, а не к другим EIGRP-спикер роутерам. В этом случае нет необходимости отправлять Hello сообщения с этого интерфейса. К счастью, мы можем выборочно отключать отправку приветствий с интерфейса, все еще объявляя подсеть этого интерфейса нашим соседям EIGRP. Это стало возможным благодаря функции пассивного интерфейса.
Рассмотрим топологию ниже:
Обратите внимание, что каждый роутер имеет интерфейс, указывающий на сегмент локальной сети (то есть интерфейс, подключенный к коммутатору). Мы действительно хотим, чтобы подсети этих интерфейсов объявлялись через EIGRP, но нам не надо отправлять Hello сообщения c этого интерфейса (поскольку они не подключаются ни к каким другим EIGRP - спикер роутерам). Это делает эти интерфейсы (то есть интерфейс Gig0/3 на роутерах OFF1, OFF2 и OFF3) отличными кандидатами на роль пассивных интерфейсов. В следующем примере показано, как использовать команду passive-interface interface_id.
OFF1# configurationterminal
Enter configuration commands, one per line. End with CNTL/Z.
OFF1(config) router eigrp 1
OFF1(config-router) passive-interface gig0/3
OFF1(config-router) end
OFF1#
OFF2# configurationterminal
Enter configuration commands, one per line. End with CNTL/Z.
OFF2 (config) router eigrp 1
OFF2 (config-router) passive-interface gig0/3
OFF2 (config-router) end
OFF2#
OFF3# configurationterminal
Enter configuration commands, one per line. End with CNTL/Z.
OFF3 (config) router eigrp 1
OFF3 (config-router) passive-interface default
OFF3 (config-router) no passive-interface gig0/1
OFF3 (config-router) no passive-interface gig0/2
OFF3 (config-router) end
OFF3
В приведенном примере команда passive-interface gig0/3 была введена на роутерах OFF1 и OFF2, чтобы сообщить, что эти роутеры должны блокировать отправку Hello сообщений со своих интерфейсов Gig0/3 (то есть интерфейсов, соединяющихся с сегментами локальной сети). Однако конфигурация на роутере OFF3 использует несколько иной подход. Вместо указания интерфейсов, которые должны быть пассивными, дается команда passive-interface default, которая делает все интерфейсы пассивными. Затем были даны команды no passive-interface gig 0/1 и no passive-interface gig 0/2, чтобы выборочно сообщить, что эти интерфейсы не должны быть пассивными (так как эти интерфейсы используются для подключения к соседям EIGRP). Этот подход может быть полезен на роутерах с несколькими интерфейсами LAN и только несколькими интерфейсами, соединяющимися с соседями EIGRP.
Как только мы выполняем команду passive-interface interface_id для определенного интерфейса, этот интерфейс больше не появляется в выходных данных команды show ip eigrp interfaces, как показано в примере ниже. Обратите внимание, что интерфейс Gig0/3, который был настроен как пассивный интерфейс, не отображается в списке. Однако EIGRP все еще объявляет подсеть, к которой принадлежит интерфейс Gig0/3.
Мы можем определить, какие интерфейсы на роутере действуют в качестве пассивных интерфейсов, выполнив команду show ip protocols. В отображаемых данных этой команды, как видно в примере ниже, обратите внимание, что интерфейс Gig0/3 на роутере OFF2 является пассивным интерфейсом, в то время как его подсеть (198.51.100.0/24) объявляется EIGRP.