отмена
Отображаются результаты для 
Вместо этого искать 
Вы имели в виду: 
cancel
180
Просмотры
5
Полезный материал
6
Ответы
ArsenLiliyev
Beginner

Фильтрация маршрутов в OSPF

    Добрый день. Имеется сеть такого вида (рисунок). Квадраты - свичи уровня 3, окружности - рутеры. Все устройства соединены друг с другом по типу точка-точка, маршрутизация осуществаляется посредсвтом OSPF. Зеленый рутер имеет два пути выхода к ядру, через две подсети, через одну из которых маршрут прямолинейный (оранжевая), а через другую (синяя) имеет множество вариантов, так как соединений друг с другом и выходов на ядро много. 

   На данном рутере на OSPF прикрепили АСL, который запрещает анонсировать ему сети 10.10.10.0 10.20.20.0 целиком, ведь подсоединенный к нему подсети с маской 30 он итак видит и соседей по OSPF не теряет. Лишние сети пропали из таблицы, все нормально.

     Но возник вопрос - а будет ли нормально работать OPSF, ведь рутер выбирает лучший маршрут исходя из метрики, зависящей от исходящих интерфейсов на пути маршрута и в отличие от EIGRP в OSPF каждый узел имеет карту всей сети и сам рассчитвает метрику. Собсвтенно вопроса два - будет ли в рутер правильно выбирать маршрут, рассчитывая метрику, при этому не зная промежуточные сети, и вытекающий из него - АСL не пускает только информацию о маршрутах или заодно с ней всю остальную необходимую для работы OSPF информацию?

1 УТВЕРЖДЕННОЕ РЕШЕНИЕ

Утвержденные решения

Привет !

 

с или без "distribute-list", база данных топологии остается прежней (show ip ospf database topology).

Не думаю, что это влияет на работу OSPF.

 

--> Команда 'distribute-list' используется для фильтрации маршрутов от установки в таблицу маршрутизации или перераспределения в другой протокол маршрутизации, она не фильтрует LSA.

 

извините за мой плохой русский...

Просмотреть решение в исходном сообщении

6 ОТВЕТ 6
Sergey Lisitsin
Collaborator

Добрый день,

 

Не совсем понятно для чего вообще фильтровать какие-либо сети в данной ситуации. Чего Вы пытаетесь этим достичь? Что означают "лишние сети"?

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

    В сети очень много подсетей, подавляющее большинство из которых такими локальными рутерами, как этот, не используются. Тем не менее его таблица маршрутизации в точности совпадает с таблицей свичей уровня ядра. С точки зрения безопасности,  так как подобные этому рутеры расположены не в лучших местах, а также облегчения работы рутера было решено воспользоваться фильтрацией. На пограничном рутере можно фильтровать только сети между двумя регионами, а подсети непосредственно в самом регионе -нет. Все, что указано на рисунке - не более 5-10% одного из регионов, при этом каждый из этих узлов имеет собственные подсети, каждая из которых работает по сути только с ядров, за которым расположены серверы. ПО хорошему в таблице маршрутизации должны быть всего пара десятков сетей, тогда как там их около полтысячи. Подавляющее большинство фильтруемых сетей - это локальные подсети таких же как этот рутеров либо свичей и абсолютно ему не нужных. 

Georg Pauwen
VIP Master

Привет !

 

Чтобы проверить маршрутизацию, я проверил это в лаборатории. Я не использовал столько роутеров и свитчей, сколько вы, просто еще несколько внизу Вот результат с примененным ACL:

 

R1#sh ip route

8.0.0.0/32 is subnetted, 1 subnets
O 8.8.8.8 [110/3] via 10.10.10.2, 00:00:00, GigabitEthernet0/0
10.0.0.0/8 is variably subnetted, 4 subnets, 2 masks
C 10.10.10.0/30 is directly connected, GigabitEthernet0/0
L 10.10.10.1/32 is directly connected, GigabitEthernet0/0
C 10.20.20.0/30 is directly connected, GigabitEthernet0/1
L 10.20.20.1/32 is directly connected, GigabitEthernet0/1

 

А вот вывод с примененным ACL:

 

R1#sh ip route


8.0.0.0/32 is subnetted, 1 subnets
O 8.8.8.8 [110/3] via 10.10.10.2, 00:00:00, GigabitEthernet0/0
10.0.0.0/8 is variably subnetted, 7 subnets, 2 masks
C 10.10.10.0/30 is directly connected, GigabitEthernet0/0
L 10.10.10.1/32 is directly connected, GigabitEthernet0/0
O 10.10.10.4/30 [110/2] via 10.10.10.2, 00:00:00, GigabitEthernet0/0
C 10.20.20.0/30 is directly connected, GigabitEthernet0/1
L 10.20.20.1/32 is directly connected, GigabitEthernet0/1
O 10.20.20.4/30 [110/2] via 10.20.20.2, 00:00:00, GigabitEthernet0/1
O 10.20.20.8/30 [110/3] via 10.20.20.2, 00:00:00, GigabitEthernet0/1
[110/3] via 10.10.10.2, 00:00:00, GigabitEthernet0/0

 

так что похоже OSPF работает.

 

Это ACL, который я использовал для 'distribute-list':

 


access-list 1 deny 10.10.10.0 0.0.0.255
access-list 1 deny 10.20.20.0 0.0.0.255
access-list 1 permit any

А вы его на вход (in) или выход (out) в OSPF повесили? Этот лист я применил так : 

router ospf 1

distrubiute list 1 in

Я тоже проверил, до применения ACL таблица содержит все маршруты, после примениения запрещенные пропадают, как и должно. OSPF работает, оба соседа на месте, пользователи за этим рутером спокойно выходят к серверам за ядром и к сетям других рутеров, к которым запрета нет (отдельно написан permit до deny).

    Просто я до кучи решил и запретить не только все внутренние сети каждого из узлов, но и p2p сети между ними в лице целой подсети - 10.10.10.0 и 10.20.20.0. Эти сети я запретил, но разрешил сеть серверов и еще  некоторых сетей. Больше ни о каких сетях этот рутер не знает. По сути чтобы добраться до сервера он просто отправляет пакет на одного из своих соседей, не зная как он дальше будет идти. В OSPF рутер рассчитывает метрику по исходящим интерфейсам узлов на пути.  Вопрос в том, будет ли в этом случае рутер правильно рассчитывать метрику, если не будет получать информацию о этих маршрутах? То есть при запрете общей сети промежуточных сетей  между узлами рутер просто не знает об этих сетях или целиком теряет информацию о данном соседе? Если так, OSPF не будет правильно работать и будет работать как EIGRP. Но метрику то OSPF считате по-своему. 

Привет !

 

с или без "distribute-list", база данных топологии остается прежней (show ip ospf database topology).

Не думаю, что это влияет на работу OSPF.

 

--> Команда 'distribute-list' используется для фильтрации маршрутов от установки в таблицу маршрутизации или перераспределения в другой протокол маршрутизации, она не фильтрует LSA.

 

извините за мой плохой русский...

Совсем забыл про эту команду) Проверил - так и есть - все эти сети есть в таблице Топологии, хотя в таблице маршрутизации их нет. Значит OSPF будет правильно считать метрику и будет нормально работать. Спасибо!

   Если бы вы не написали, я бы и не заметил что это перевод) Так что все понятно)

Создать
Выразить признание своим коллегам
Content for Community-Ad

Помощь по сообществу