URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID6
Нить номер: 1068
[ Назад ]

Исходное сообщение
"как правильнее ограничить redistribute connected"

Отправлено Господин ПеЖе , 10-Ноя-13 14:49 
Имеется сетка сложной топологии: ядро из четырёх роутеров, соединённых в кольцо и от каждого из них лучи расходятся к периферии. В сетке поднят OSPF, но не на всех подсетях, а выборочно, по необходимости.

Во всех роутерах ядра сделана командочка redistribute connected subnets чтобы роутеры в случае поднятия какого-нибудь периферийного субинтерфейса с масочкой 255.255.255.252 анонсировали маршруты другим роутерам. Суть решения в том, чтобы периферию если физически переткнуть с одного на другой роутер, чтобы и маршруты к ней переползали на другой роутер автоматически. Всё это работает, всё хорошо... было... до определённого момента.

Дело в том, что кроме этих нужных полезных сетей, все 4 роутера ядра подключены интерфейсами (gig)Ethernet к одной и той же технологической сети с маской 255.255.255.0
для целей управления и мониторинга. И имеют лишь разные адреса в ней. Но сеть эта нигде в OSPF не заведена.
Проблема была ожидаема и решаема была статическими маршрутами на нужные внешние адреса в этой сети.

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

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

Вопрос, как это лучше, проще и эффективнее сделать?

Я задал команду redistribute connected subnets route-map MGM

дальше надо, по идее: route-map MGM permit 10 match ...
или, наоборот: route-map MGM deny 20 match ...

но что именно лучше матчить, я теряюсь. Никогда таких команд не придумывал.

  


Содержание

Сообщения в этом обсуждении
"как правильнее ограничить redistribute connected"
Отправлено anonymous , 10-Ноя-13 23:24 
>[оверквотинг удален]
> на описанную технологическую сетку получилось какая-то беда - трейс показывает, что
> пара роутеров футболит пакет туда-сюда раз по десять и другие всякие
> разные эффекты, которые привели к частичной неработособности сервисов через эту сеть.
> Короче, самое очевидное решение видится, что надо разрешить редистирибьютить только нужные
> подсетки, а не нужные запретить.
> Вопрос, как это лучше, проще и эффективнее сделать?
> Я задал команду redistribute connected subnets route-map MGM
> дальше надо, по идее: route-map MGM permit 10 match ...
> или, наоборот: route-map MGM deny 20 match ...
> но что именно лучше матчить, я теряюсь. Никогда таких команд не придумывал.

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


"как правильнее ограничить redistribute connected"
Отправлено Господин ПеЖе , 11-Ноя-13 02:15 
> Вы знаете, с таким количеством условий без топологии подсказывать браться не будет
> никто.
> И хотя бы частей конфигов, тоже.

Не уверен, что конфиги помогут. Там куча IP-адресов, которые лучше не... хотя, щас поменяю циферки - вот конфиги. Топология: 4 роутера в кольце, с дополнительной проушиной и все в один свитч (это не я придумал - так исторически сложилось)
-A1=B1-
|   |
-A2-B2-

Router-A1:

interface Loopback0
ip address 13.666.192.133 255.255.255.255
!
interface Loopback1
ip address 13.13.210.1 255.255.255.255

interface GigabitEthernet0/1
description --- Management ---
ip address 13.13.192.251 255.255.255.0
!
interface GigabitEthernet0/2
description to B1
ip address 13.13.210.233 255.255.255.252 secondary
ip address 13.13.210.133 255.255.255.252
!
interface GigabitEthernet0/3
description to A2
ip address 13.13.210.145 255.255.255.252
ip ospf cost 1000

interface Serial3/3.2 point-to-point
description to B1
ip address 13.13.255.1 255.255.255.252


router ospf 3
redistribute connected subnets
network 13.13.210.132 0.0.0.3 area 0
network 13.13.210.144 0.0.0.3 area 0
network 13.13.255.0 0.0.0.3 area 0
network 13.666.192.133 0.0.0.0 area 0


Router-A2:

interface Loopback0
ip address 13.666.192.137 255.255.255.255
!
interface GigabitEthernet0/1
description --- Management ---
ip address 13.13.192.137 255.255.255.0
!
interface GigabitEthernet0/2
description to B2
ip address 13.13.210.137 255.255.255.252
!
interface GigabitEthernet0/3
description to А1
ip address 13.13.210.146 255.255.255.252
ip ospf cost 1000

router ospf 3
redistribute connected subnets route-map MGM
network 13.13.210.136 0.0.0.3 area 0
network 13.13.210.144 0.0.0.3 area 0
network 13.666.192.137 0.0.0.0 area 0
!
route-map MGM ????????????????
description to B1


Router B2:

interface Loopback0
ip address 13.666.192.138 255.255.255.255
!
interface TunnelX
tunnel source 13.13.210.149

interface GigabitEthernet0/0
description --- management ---
ip address 13.13.192.138 255.255.255.0
!
interface GigabitEthernet0/1
description --- Old management ---
ip address 13.65.192.69 255.255.255.0
!
interface GigabitEthernet0/2
ip address 13.13.210.149 255.255.255.252 secondary
ip address 13.001.250.62 255.255.255.192
!
interface GigabitEthernet0/0/0
description to A2
ip address 13.13.210.138 255.255.255.252

interface Serial0/3/0.1 point-to-point
description to B1
ip address 13.13.210.142 255.255.255.252

router ospf 3
redistribute connected subnets
network 13.13.210.4 0.0.0.3 area 0
network 13.13.210.8 0.0.0.3 area 0
! тут много однотипных сеток - ограничимся первой и последней
network 13.13.210.56 0.0.0.3 area 0
network 13.13.210.136 0.0.0.3 area 0
network 13.13.210.140 0.0.0.3 area 0
network 13.666.192.138 0.0.0.0 area 0

! эта конфигурация будет переделана так:
! no redistribute connected subnets
! network 13.13.210.149 0.0.0.3 area 0
! по сути, надо только эту сетку распространять при поднятии интерфейса

ip route 0.0.0.0 0.0.0.0 13.65.192.254
ip route 13.13.192.0 255.255.255.0 13.13.255.1
! хотя, вот может эта статика мешается, одинаковая в двух роутерах?


Router B1:

interface Loopback0
ip address 13.666.192.134 255.255.255.255
!
interface TunnelX
tunnel source 13.13.210.149
! Туннель идентичен тому что на роутере B2
! но патч-корд для GigabitEthernet0/2 один на два роутера
! поэтому тоннель переезжает с места на место вслед за патч-кордом
! т.е. B2 резервирует B1 причём, для десятков сетей.

interface GigabitEthernet0/0
description --- management ---
ip address 13.13.192.134 255.255.255.0
!
interface GigabitEthernet0/2
ip address 13.13.210.149 255.255.255.252 secondary
ip address 13.001.250.62 255.255.255.192
!
interface GigabitEthernet0/0/0
description to A1
ip address 13.13.210.234 255.255.255.252 secondary
ip address 13.13.210.134 255.255.255.252

interface Serial0/3/0.1 point-to-point
description to B2
ip address 13.13.210.141 255.255.255.252

interface Serial0/3/3.2 point-to-point
description to A1
ip address 13.13.255.2 255.255.255.252

router ospf 3
redistribute connected subnets
network 13.13.210.4 0.0.0.3 area 0
network 13.13.210.8 0.0.0.3 area 0
!
network 13.13.210.56 0.0.0.3 area 0
network 13.13.210.132 0.0.0.3 area 0
network 13.13.210.140 0.0.0.3 area 0
network 13.13.255.0 0.0.0.3 area 0
network 13.666.192.134 0.0.0.0 area 0
!
! аналогично B2 будет изменена:
! no redistribute connected subnets
! network 13.13.210.149 0.0.0.3 area 0
! и тоже эта непонятная статика...

ip route 0.0.0.0 0.0.0.0 13.65.192.254
ip route 13.13.192.0 255.255.255.0 13.13.255.1

! чёрт ногу сломит в такой конфигурации!
! по идее, сервисы управления должны ходить в первую очередь через А1.
! через А2 хочу ещё сделать резервирование, но как оно работало раньше - не понятно.

Каким-то образом оно всё работало, пока не начались испытания с поочерёдным выключением питания всех роутеров. После этого всё встало раком.


"как правильнее ограничить redistribute connected"
Отправлено jabbson , 10-Ноя-13 23:52 
>[оверквотинг удален]
> на описанную технологическую сетку получилось какая-то беда - трейс показывает, что
> пара роутеров футболит пакет туда-сюда раз по десять и другие всякие
> разные эффекты, которые привели к частичной неработособности сервисов через эту сеть.
> Короче, самое очевидное решение видится, что надо разрешить редистирибьютить только нужные
> подсетки, а не нужные запретить.
> Вопрос, как это лучше, проще и эффективнее сделать?
> Я задал команду redistribute connected subnets route-map MGM
> дальше надо, по идее: route-map MGM permit 10 match ...
> или, наоборот: route-map MGM deny 20 match ...
> но что именно лучше матчить, я теряюсь. Никогда таких команд не придумывал.

На сайте cisco есть документ как раз про то, что вы ищите - как использовать route-map для route redistribution:
http://www.cisco.com/en/US/tech/tk365/technologies_tech_note...


"как правильнее ограничить redistribute connected"
Отправлено Господин ПеЖе , 11-Ноя-13 01:17 
> На сайте cisco есть документ как раз про то, что вы ищите
> - как использовать route-map для route redistribution:
> http://www.cisco.com/en/US/tech/tk365/technologies_tech_note...

прочитал.
Вот такой нюанс мне не понятен (сейчас консоли нет под рукой):
Если я ввожу в роут-мэпе match ip address - то дальше обязательно должен быть номер ACL (начиная со 101-го)?
Или можно ввести прямо адрес A.B.C.D и маску (или вайлдкарту)?

по сути, мне надо предохранить от редистрибьюции только одну сетку класса /24 на одном интерфейсе GigabitEthernet. Причём, - только на одном роутере.
Ещё на двух, я уже придумал, я завтра выключу вообще редистрибуцию и добавлю в роутеры ещё по одной одинаковой сетке на каждом. В какой из них будет воткнут кабель - ту и увидят все роутеры.



"как правильнее ограничить redistribute connected"
Отправлено jabbson , 11-Ноя-13 01:45 
>> На сайте cisco есть документ как раз про то, что вы ищите
>> - как использовать route-map для route redistribution:
>> http://www.cisco.com/en/US/tech/tk365/technologies_tech_note...
> прочитал.
> Вот такой нюанс мне не понятен (сейчас консоли нет под рукой):
> Если я ввожу в роут-мэпе match ip address - то дальше обязательно
> должен быть номер ACL (начиная со 101-го)?
> Или можно ввести прямо адрес A.B.C.D и маску (или вайлдкарту)?

это может быть acl (numbered | named) или prefix-list.
Правило, которого придерживаюсь я - acl для фильтрации пакетов, prefix-list для фильтрации префиксов.

> по сути, мне надо предохранить от редистрибьюции только одну сетку класса /24
> на одном интерфейсе GigabitEthernet. Причём, - только на одном роутере.
> Ещё на двух, я уже придумал, я завтра выключу вообще редистрибуцию и
> добавлю в роутеры ещё по одной одинаковой сетке на каждом. В
> какой из них будет воткнут кабель - ту и увидят все
> роутеры.

Если Вам нужно не допустить редистрибьюцию одной подсети, например 192.168.1.0/24, то можно это сделать так:

ip prefix-list pl-OSPF-RED seq 10 permit 192.168.1.0/24

route-map rm-OSPF-RED deny 10
  match ip address prefix-list pl-OSPF-RED
route-map rm-OSPF-RED permit 20

router ospf X
  redistribute connected subnets route-map rm-OSPF-RED


"как правильнее ограничить redistribute connected"
Отправлено Господин ПеЖе , 11-Ноя-13 02:28 

> Если Вам нужно не допустить редистрибьюцию одной подсети, например 192.168.1.0/24, то можно
> это сделать так:
> ip prefix-list pl-OSPF-RED seq 10 permit 192.168.1.0/24
> route-map rm-OSPF-RED deny 10
>   match ip address prefix-list pl-OSPF-RED
> route-map rm-OSPF-RED permit 20
> router ospf X
>   redistribute connected subnets route-map rm-OSPF-RED

О как....
Спасибо, с утреца попробую


"как правильнее ограничить redistribute connected"
Отправлено Господин ПеЖе , 11-Ноя-13 22:27 
>> Если Вам нужно не допустить редистрибьюцию одной подсети, например 192.168.1.0/24, то можно
>> это сделать так:
>> ip prefix-list pl-OSPF-RED seq 10 permit 192.168.1.0/24
>> route-map rm-OSPF-RED deny 10
>>   match ip address prefix-list pl-OSPF-RED
>> route-map rm-OSPF-RED permit 20
>> router ospf X
>>   redistribute connected subnets route-map rm-OSPF-RED
> О как....
> Спасибо, с утреца попробую

Да, сделал, всё работает. В трёх из четырёх роутеров такое прописал.
Теперь всё красиво и симметрично - каждый роутер управляется со своего интерфейса.

Проблема с определённым сервисом была немного в другом, как выяснилось. Маршруты на определённый сервис были прописаны через роутер А1. А резервные - через А2. Но сам сервис был за НАТом, настроенным на ПИКсе. Причём, на роутере А2 была прописана статика с первым приоритетом через А1, а со вторым - напрямую на ПИКС. Сам ПИКс устройство молчаливое. Он хоть и как бы роутер, но как-то не сразу откликался на бродкасты, зато роутер А2 в общей сети бодро кричал: я, я знаю про этом маршрут, получал его себе, а потом по внутренней связке перегонял обратно к роутеру А1. И так до бесконечности. Когда на внутренней связке стоял кост=1000, трейс показал, что пакеты к данному сервису ходили кругами A1->A2->B2->B1->A1...