При настройке динамической маршрутизации на оборудовании Cisco, необходимо указать, какие интерфейсы входят в процесс маршрутизации. Этот общий принцип, не зависящий от того, какой именно протокол маршрутизации мы используем: RIP, OSPF, EIGRP.
Выбор таких интерфейсов выполняется по-разному для IPv4 и IPv6. В случае использования протокола для IPv4 нужно зайти в раздел настройки маршрутизатора и написать там команду network с указанием сети, подключенной к данному маршрутизатору. Например, для OSPF:
R1(config)#router ospf 1
R1(config-router)#network 192.168.0.0 0.0.0.255 area 0
Для EIGRP:
R1(config)#router eigrp 1
R1(config-router)#network 192.168.0.0 0.0.0.255
Этим действием мы указываем на два момента:
Информация об этой сети начинает передаваться другим маршрутизаторам (при условии, что на маршрутизаторе есть рабочий интерфейс в данной сети)
Через интерфейс, находящийся в этой сети маршрутизатор начинает общаться с соседями.
В случае использования протокола маршрутизации для IPv6, процедура выглядит иначе, мы не включаем сети с помощью команды network, а заходим в каждый интерфейс, который должен участвовать в процессе и добавляем его.
Например, для RIPng это выглядит так:
R1(config)#interface fa0/0
R1(config-if)#ipv6 rip MYRIP enable
То есть, мы зашли в интерфейс и добавили его в процесс MYRIP. Для OSPFv3 аналогичная процедура выглядит так:
R1(config)#interface fa0/0
R1(config-if)#ipv6 ospf 1 area 0
Логика аналогичная. Каким бы способом мы ни добавляли интерфейс, какой бы протокол маршрутизации мы ни использовали, добавление некоторого интерфейса приводит к указанным выше двум вещам. Однако, часто бывает ситуация, когда мы хотим рассказывать другим маршрутизаторам про некоторую сеть, но в неё мы не хотим слать апдейты, то есть, первый пункт нас устраивает, а второй – нет. Это обычно происходит в случае, когда сеть является тупиковой, за ней нет других маршрутизаторов – только пользователи и нам не хочется чтобы они видели апдейты от маршрутизаторов, так как это потенциально может привести к проблемам безопасности. Кроме того, если не настроена аутентификация, то пользователь может отправлять нам фиктивные апдейты из своей сети и повлиять на работу маршрутизации.
Мы не можем решить эту проблему просто убрав соответствующую сеть (в IPv4) или убрать соответствующий интерфейс в (IPv6), так как в этом случае маршрутизатор перестанет рассказывать остальным про эту сеть и маршруты в неё исчезнут (то есть, вместе с пунктом два мы убираем и пункт один).
В качестве решения применяется команда passive-interface. Она запрещает слать апдейты протокола маршрутизации через некоторый интерфейс. Команда работает со всеми протоколами маршрутизации. То есть, мы включаем интерфейс, смотрящий в пользовательскую сеть в процесс маршрутизации, но запрещаем слать на него апдейты командой passive-interface. Например, если на маршрутизаторе есть сеть 192.168.0.0/24, на интерфейсе Fastethernet0/0, в которой нет других маршрутизаторов, а располагаются только конечные устройства пользователей, то для OSPF настройка будет выглядеть так:
R1(config-router)#network 192.168.0.0 0.0.0.255 area 0
R1(config-router)#passive-interface FastEthernet 0/0
Аналогично проблема решается для EIGRP:
R1(config)#router eigrp 1
R1(config-router)#network 192.168.0.0 0.0.0.255
R1(config-router)#passive-interface FastEthernet 0/0
Команда так же работает и для IPv6. Например, если на Fastethernet0/0 настроен адрес ABCD::/64 с eui-64, то конфигурация для OSPF будет выглядеть так:
R1(config)#interface fa0/0
R1(config-if)#ipv6 address ABCD::/64 eui-64
R1(config-if)#ipv6 ospf 100 area 0
R1(config)#ipv6 router ospf 100
R1(config-rtr)#passive-interface Fa0/0
То есть мы сначала добавили интерфейс и его сеть в OSPF, а затем запретили слать в него OSPF пакеты.
И есть еще такая вещь, как passive-interface default. Это очень удобная команда, она делает чтобы все интерфейсы стали пассивными по умолчанию. То есть от логики «все активные, надо выбирать пассивные», мы переключаемся к логике «все пассивные, надо по одному включать активные». После ввода этой команды, надо активные интерфейсы включать командой no passive-interface имя_интерфейса. Очень удобно на коммутаторе L3, когда есть кучас SVI интерфейсов и только один из них используется для роутинга, а все остальные — существующие и будущие должны быть пассивными. Делаем
R1(config-router)#passive-interface default
R1(config-router)#no passive-interface vlan100
После этого сколько бы мы SVI не добавляли, активным останется только SVI Vlan100, по которому в этом воображаемом примере происходит скажем OSPF обмен.
В протоколах большинства маршрутов команда passive-interface ограничивает только исходящие объявления. Однако при использовании протокола EIGRP (Усовершенствованный внутренний протокол маршрутизации шлюзов) результат немного отличается. В этом документе показано, как команда passive-interface на EIGRP подавляет обмен hello-пакетами между двумя маршрутизаторами, что приводит к прекращению отношений соседства между ними. Это действие не только останавливает выдачу объявлений об обновлениях маршрутов, но также подавляет входящие обновления маршрутов. В этом документе также рассматривается конфигурация, необходимая для разрешения подавления исходящих обновлений маршрутизации, а также для возможности получения входящих обновлений маршрутизации от соседей. Данные для этого документа были получены при тестировании указанных устройств в специально созданных лабораторных условиях. Все устройства, описанные в данном документе, обладают ненастроенной (заданной по умолчанию) конфигурацией. При работе в действующей сети необходимо изучить все возможные последствия каждой команды.