Найти тему
Merion Academy

Ручная фильтрация маршрутов OSPF

Оглавление

В нашей прошлой статье мы рассмотрели, как OSPF может автоматически фильтровать маршруты с помощью специальных областей и типов LSA. Но как насчет вариантов ручной фильтрации маршрутов в OSPF? В этой статье мы рассмотрим методы, которые можно использовать в различных точках топологии.

Предыдущие статьи:

Фильтрация на ASBR

Одним из простых и эффективных методов фильтрации на ASBR является использование распределенного списка. Здесь мы определяем правила идентификации маршрута со списком доступа, а затем ссылаемся на этот список доступа в списке распространения.

 Топология OSPF
Топология OSPF

Рисунок 1. Топология OSPF

В этом примере наша область 1 настроена как нормальная, не являющаяся магистральной областью. Вы можете увидеть это, при просмотре таблицы маршрутизации на ORL.

show ip route

 show ip route
show ip route

Обратите внимание на два префикса (E2) 192.168.10.0 и 192.168.20.0. Давайте отфильтруем 192.168.10.0 на ASBR ATL.

ATL# configuration terminal
Enter configuration commands , one per line . End with CNTL/Z .
ATL(config)access-list 1 deny 192.168.10 .0 0.0.0.255
ATL(config)access-list 1 permit any
ATL(config)router ospf 1
ATL(config-router)distribute-list 1 out eigrp 100
ATL(config-router)end
ATL

Обратите внимание, насколько проста эта конфигурация. Давайте посмотрим, сработало ли это, еще раз изучив таблицу маршрутов ORL:

show ip route

 show ip route
show ip route

Конфигурация работет отлично, и 192.168.10.0 больше не доступен на ORL.

Другой простой метод - использовать команду summary-address на ASBR и использовать ключевое слово not-advertise.

Вот пример из нашей топологии. Обратите внимание, что был удален предыдущий список рассылки из конфигурации ATL до этой настройки здесь:

ATLconf t
Enter configuration commands, one per line. End with CNTL/Z .
ATL(config)router ospf 1
ATL(config-router)summary-address 192 .168.10.0 not-advertise
ATL(config-router)end
ATL

Проверка на ORL доказывает успешную фильтрацию сети 192.168.10.0.

show ip route

 show ip route
show ip route

Нет ничего удивительного в том, что вы можете использовать подход route map для фильтрации в ASBR. Ведь route map невероятно полезны и гибки.

Здесь мы определим правила со списком доступа (еще раз) и используем их в логике route map:

ATLconf t
Enter configuration commands, one per line . End with CNTL/Z .
ATL(config)access-list 1 deny 192.168.10.0 0.0.0.255
ATL(config)access-list 1 permit any
ATL(config)route-map МУМАР permit 10
ATL(config-route-map)match ip address 1
ATL(config-route-map)router ospf 1
ATL(config-router)redistribute eigrp 100 metric 1000 route-map МУМАР subnets
ATL(config-router)end
ATL

Как вы можете догадаться, проверка на ORL показывает отличную работу.

show ip route

 show ip route
show ip route

Фильтрация на ABR

Вы также можете фильтровать на ABR. Наиболее распространенным методом является использование списка префиксов, как показано здесь:

ATL2conf t
Enter configuration commands, one per line. End with CNTL/Z.
ATL2 (config)ip prefix-list 1 deny 192.168.10.0/24
ATL2 (config)ip prefix-list 1 permit 0.0.0.0/0
ATL2 (config)router ospf 1
ATL2 (config-router )area 1 filter-list prefix 1 out
ATL2 (config-router )end
ATL2

show ip route

 show ip route
show ip route

Мы фильтруем префикс 192.168.10.0, но мы делаем это на ABR, и мы фильтруем по Type 3. Это контрастирует с фильтрацией типа 5 (для того же префикса!) Мы уже делали это раньше в ASBR.

Фильтрация в роутере

Имейте в виду, что вы можете легко фильтровать на любом спикере OSPF внутри самого маршрутизатора. Например, вы можете настроить подход к распределению списка и фильтровать входящие сообщения с его помощью.

В этом примере мы еще раз остановимся на 192.168.10.0. Мы заблокируем его в ACL и будем использовать этот ACL в списке рассылки.

Обратите внимание, что мы находимся на ORL:

ORLconf t
Enter configuration commands , one per line . End with CNTL/Z .
ORL(config) access-list 1 deny 192.168.10.0 0.0.0.255
ORL(config) access-list 1 permit any
ORL(config)router ospf 1
ORL(config-router)distribute-list 1 in
ORL(config- router)end
ORL

И снова наш желаемый результат проверки:

show ip route

  show ip route
show ip route