Что делает команда passive-interface в Cisco

Читать далее

При настройке динамической маршрутизации на оборудовании 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 обмен.

Источник