Добрый день.Есть 2 маршрутизатора - Cisco 7206 и Cisco 1751. Между ними есть 2 параллельных радиоканала. На 7206 есть 2 субинтерфейса Fa0/1.12 и Fa0/1.13, которые смотрят в сторону 1751. На 1751 - физические интерфейсы Fa0/0 и vlan909
7206 аннонсирует 1751 сети x.x.x.x и y.y.y.y через оба канала. С точки зрения OSPF метрики на эти сети, полученные через разные каналы, одинаковы и равны 2.#sh ip route x.x.x.x
O IA x.x.x.x/28 [110/2] via 2.2.2.1, 00:00:06, FastEthernet0/0
[110/2] via 3.3.3.1, 00:00:06, Vlan909Сейчас работает load ballance через 2 радиоканала это нам не подходит, т.к. один из каналов не годится для передачи VoIP из-за потерь.
Мне нужно, чтобы с 1751 трафик на сеть x.x.x.x шел через первый канал, т.е. уходил с интерфейса Fa0/0, а трафик на сеть y.y.y.y - через второй канал и в то же время, если один из каналов ляжет, весь трафик должен идти через оставшийся канал. Как я понимаю, это можно сделать только путём изменения метрик на эти сети. Policy based routing не подойдёт.
Пробывал применять route-map в distribute-list в настройках OSPF на 1751, но в OSPF нет возможности указать интерфейс, на который вешается distribute-list route-map:
#router ospf 1
(config-router)#distribute-list route-map VoIP in ?
<cr>А когда патаюсь менять метрику на сеть, которая объявляется роутеру и объявление приходит с любого интерфейса:
router ospf 1
router-id 1.1.1.1
log-adjacency-changes
area 2 nssa
redistribute static metric-type 1 subnets
passive-interface Vlan2
network 2.2.2.0 0.0.0.3 area 2
network 3.3.3.0 0.0.0.3 area 2
distribute-list route-map VoIP in
ip access-list standard VoIP_list
permit a.a.a.a 0.0.0.15
route-map VoIP permit 10
match ip address VoIP_list
set metric 20
!
route-map VoIP permit 20метрика на сеть x.x.x.x не меняется. Может эта конструкция в OSPF вообще не работает??
На 7206 пробывал изменять аннонсируемую метрику на сеть x.x.x.x
Но когда в настройках OSPF говоришь:
distribute-list route-map VoIP out
выводится:
% OUT direction is not allowed in case of OSPFЗнает кто-нибудь, можно ли в OSPF избирательно изменять получаемые метрики?
Или как это можно сделать другим способом?
А зачем тебе собственно такая конструкция ??? Даже если ты зделаещ одному каналу метрику 1, а второму 100 то это не означает, что через второй интерфейс трафик не будет ходить, т.е.
|
VПротокол OSPF предназначен для больших автономных систем (AS), поетому в нем присутствует функция разделения трафика по разным каналам, например:
есть два канала и их метрики -> Eth0 = 1 и Eth1 = 4 , при посилке 100 пакетов, 100 будет поделено на суму метрик 100/(1+4)= 20 , 20 пакетов пойдет по Eth0 и 80 пакетов по Eth1.!!!!!!
Применение OSPF в маленикой сост. сетке, ето пальба из пушкм по воробъям, когда можно обойтись рогаткой.Совет: для конфа небольших сеток используй протокол RIP, а не OSPF, он более прост и его алгоритм более понятен простому смертному (OSPF - ето гигант).
Удачи !!!
>А зачем тебе собственно такая конструкция ??? Даже если ты зделаещ одному
>каналу метрику 1, а второму 100 то это не означает, что
>через второй интерфейс трафик не будет ходить, т.е.
Мне надо, чтобы VOIP трафик (трафик на сеть a.a.a.a) ходил по хорошему каналу, а всё остальное - по другому, который с потерями.
В таблицу маршрутизации OSPF помещает наилучший маршрут, т.е. если назначать cost на интерфейсах, чтобы выбрать предпочитаемы маршрут, только один маршрут с наименьшим cost попадёт в таблицу маршрутизации. В OSPF Load ballance может быть только по маршрутам с одинаковыми метриками. Это в EIGRP можно настраивать load ballance по неодинаковым метрикам путём назначения variance.>Протокол OSPF предназначен для больших автономных систем (AS), поетому в нем присутствует
>функция разделения трафика по разным каналам, например:
>есть два канала и их метрики -> Eth0 = 1 и Eth1 = 4 , при посилке 100 пакетов, 100 будет поделено на суму метрик 100/(1+4)= 20 , 20 пакетов пойдет по Eth0 и 80 пакетов по Eth1.Как это можно сделать? Можете привести примеры?
>!!!!!!
>Применение OSPF в маленикой сост. сетке, ето пальба из пушкм по воробъям,
>когда можно обойтись рогаткой.
>
>Совет: для конфа небольших сеток используй протокол RIP, а не OSPF, он
>более прост и его алгоритм более понятен простому смертному (OSPF -
>ето гигант).
Сетка у нас не маленькая (около 30 маршрутизаторов). В описании я привёл пример только маленького её участка, поэтому RIPv2 нам не подходит.Так, неужели нет способа избирательного влияния на метрики, которые аннонсирует или принимает OSPF????
В проприетарном цисковском EIGRP такая кострукция есть:
router eigrp 1
offset-list VoIP in 300 FastEthernet0/0ip access-list standard VoIP
permit a.a.a.a 0.0.0.15
Она работает - метрика на сетку a.a.a.a, объявление о которой приходит на интерфейс fa0/0, будет увеличина на 300.
У нас в сетке установлены не только циски, поэтому eigrp тут не катит. Надо использовать протоколы с открытыми стандартами. Не ужели в таком навороченном OSPF, нет возможности сделать нечто подобное??
bandwidth на интерфейсе вам не поможет?
>bandwidth на интерфейсе вам не поможет?
Нет, не поможет. Он изменит метрики на все сети, аннонсы на которые приходят с этого интерфейса.
>>bandwidth на интерфейсе вам не поможет?
>Нет, не поможет. Он изменит метрики на все сети, аннонсы на которые
>приходят с этого интерфейса.Не совсем понял вашу задачу... если вы хотите чтобы трафик ходил через один интерфейс, а через другой только когда первый лежит - меняйте ip ospf cost на интерфейсе.
Если хотите чтобы разный трафик ходил через разные интерфейсы - делайте PBR.
Но имхо для этой задачи лучше поднять чтонибудь попроще типа RIPа.
А еще лучше (если вы поднимаете протокол маршрутизации чтобы настроить два линка на двух раутерах) поднять два статик маршрута с разными AD. Или поднять туннели через разные каналы с keepalive чтобы оперативно отслеживать падение канала...
Вообщем для более точного совета нужна более точная постановка задачи.
Хех, перечитал первый пост ;)Вообщем для этой задачи OSPF вам не подойдет. Он так не работает.
Distribute-list умеет только фильтровать попадание маршрутов из LSA в таблицу маршрутизации. Менять метрики так нельзя.
Для этой задачи вам проще всего поднять RIPv2 и настроить offset-list.
>Хех, перечитал первый пост ;)
>
>Вообщем для этой задачи OSPF вам не подойдет. Он так не работает.
>
>
>Distribute-list умеет только фильтровать попадание маршрутов из LSA в таблицу маршрутизации. Менять
>метрики так нельзя.
>
>Для этой задачи вам проще всего поднять RIPv2 и настроить offset-list.
Спасибо.
Видимо, придётся отказываться от великого и могучего OSPF в пользу RIPv2.
>Хех, перечитал первый пост ;)
>
>Вообщем для этой задачи OSPF вам не подойдет. Он так не работает.
>
>
>Distribute-list умеет только фильтровать попадание маршрутов из LSA в таблицу маршрутизации. Менять
>метрики так нельзя.
>
>Для этой задачи вам проще всего поднять RIPv2 и настроить offset-list.
Еще в принципе может помочь команда distance - что-то типаrouter ospf 1
distance 91 3.3.3.1 0.0.0.0 1
distance 91 2.2.2.1 0.0.0.0 1access-list 1 permit x.x.x.x
access-list 2 permit y.y.y.yтаким образом трафик на x.x.x.x пойдет через 2.2.2.1, трафик на y.y.y.y через 3.3.3.1
>>Хех, перечитал первый пост ;)
>>
>>Вообщем для этой задачи OSPF вам не подойдет. Он так не работает.
>>
>>
>>Distribute-list умеет только фильтровать попадание маршрутов из LSA в таблицу маршрутизации. Менять
>>метрики так нельзя.
>>
>>Для этой задачи вам проще всего поднять RIPv2 и настроить offset-list.
>
>
>Еще в принципе может помочь команда distance - что-то типа
>
>router ospf 1
> distance 91 3.3.3.1 0.0.0.0 1
> distance 91 2.2.2.1 0.0.0.0 1
>
>access-list 1 permit x.x.x.x
>access-list 2 permit y.y.y.y
>
>таким образом трафик на x.x.x.x пойдет через 2.2.2.1, трафик на y.y.y.y через
>3.3.3.1Ой. Только не distance 91, а distance 111 естественно, т.к. по умолчанию АД у OSPF 110, а не 90 :)
Идея красивая.
Вечером попробую.
Только, мне кажется, что в этом случае надо указывать АД меньше, чем АД по умолчанию...
Или я ошибаюсь?
>Только, мне кажется, что в этом случае надо указывать АД меньше, чем
>АД по умолчанию...
>Или я ошибаюсь?
Чтобы маршрут был БОЛЕЕ предпочтительным ставьте АД меньше чем по умолчанию. МЕНЕЕ предпочтительным - ставьте АД больше чем по умолчанию.В случае двух маршрутов что в лоб что по лбу - смысл один :)
Еще совет касательно OSPF - поставьте на интерфейсах ip ospf flood-reduction - иначе будет всю таблицу LSA раз в полчаса пересылать, что может негативно сказаться на качестве воипа во время этой "контрольной" пересылки.
>Еще совет касательно OSPF - поставьте на интерфейсах ip ospf flood-reduction -
>иначе будет всю таблицу LSA раз в полчаса пересылать, что может
>негативно сказаться на качестве воипа во время этой "контрольной" пересылки.
Большое спасибо за советы.
>>>Хех, перечитал первый пост ;)
>>>
>>>Вообщем для этой задачи OSPF вам не подойдет. Он так не работает.
>>>
>>>
>>>Distribute-list умеет только фильтровать попадание маршрутов из LSA в таблицу маршрутизации. Менять
>>>метрики так нельзя.
>>>
>>>Для этой задачи вам проще всего поднять RIPv2 и настроить offset-list.
>>
>>
>>Еще в принципе может помочь команда distance - что-то типа
>>
>>router ospf 1
>> distance 91 3.3.3.1 0.0.0.0 1
>> distance 91 2.2.2.1 0.0.0.0 1
>>
>>access-list 1 permit x.x.x.x
>>access-list 2 permit y.y.y.y
>>
>>таким образом трафик на x.x.x.x пойдет через 2.2.2.1, трафик на y.y.y.y через
>>3.3.3.1
>
>Ой. Только не distance 91, а distance 111 естественно, т.к. по умолчанию
>АД у OSPF 110, а не 90 :)При такой конструкции, OSPF не понимает IP Source address. Пробывал указывать и id соседнего маршрутизатора и ip интерфейса. Это изменяет дистанцию на сеть, указанную в access list, аннонс о которой был получен отовсюду. Т.е. такое впечатление, что OSPF не рассматривает 3.3.3.3 как источник аннонса.
>>>>Хех, перечитал первый пост ;)
>>>>
>>>>Вообщем для этой задачи OSPF вам не подойдет. Он так не работает.
>>>>
>>>>
>>>>Distribute-list умеет только фильтровать попадание маршрутов из LSA в таблицу маршрутизации. Менять
>>>>метрики так нельзя.
>>>>
>>>>Для этой задачи вам проще всего поднять RIPv2 и настроить offset-list.
>>>
>>>
>>>Еще в принципе может помочь команда distance - что-то типа
>>>
>>>router ospf 1
>>> distance 91 3.3.3.1 0.0.0.0 1
>>> distance 91 2.2.2.1 0.0.0.0 1
>>>
>>>access-list 1 permit x.x.x.x
>>>access-list 2 permit y.y.y.y
>>>
>>>таким образом трафик на x.x.x.x пойдет через 2.2.2.1, трафик на y.y.y.y через
>>>3.3.3.1
>>
>>Ой. Только не distance 91, а distance 111 естественно, т.к. по умолчанию
>>АД у OSPF 110, а не 90 :)
>
>При такой конструкции, OSPF не понимает IP Source address. Пробывал указывать и
>id соседнего маршрутизатора и ip интерфейса. Это изменяет дистанцию на сеть,
>указанную в access list, аннонс о которой был получен отовсюду. Т.е.
>такое впечатление, что OSPF не рассматривает 3.3.3.3 как источник аннонса.
Любопытно.Погоняю сегодня в лабе... но опять-таки если выбирать протокол для этой конкретной задачи, и с обоих сторон стоит циска - ставьте EIGRP. Только не забудьте на обоих маршрутизаторах сказать no auto-summary.
Для дифференциации маршрутов можете использовать distance (там точно корректно работает) или offset-list.
>>>>>Хех, перечитал первый пост ;)
>>>>>
>>>>>Вообщем для этой задачи OSPF вам не подойдет. Он так не работает.
>>>>>
>>>>>
>>>>>Distribute-list умеет только фильтровать попадание маршрутов из LSA в таблицу маршрутизации. Менять
>>>>>метрики так нельзя.
>>>>>
>>>>>Для этой задачи вам проще всего поднять RIPv2 и настроить offset-list.
>>>>
>>>>
>>>>Еще в принципе может помочь команда distance - что-то типа
>>>>
>>>>router ospf 1
>>>> distance 91 3.3.3.1 0.0.0.0 1
>>>> distance 91 2.2.2.1 0.0.0.0 1
>>>>
>>>>access-list 1 permit x.x.x.x
>>>>access-list 2 permit y.y.y.y
>>>>
>>>>таким образом трафик на x.x.x.x пойдет через 2.2.2.1, трафик на y.y.y.y через
>>>>3.3.3.1
>>>
>>>Ой. Только не distance 91, а distance 111 естественно, т.к. по умолчанию
>>>АД у OSPF 110, а не 90 :)
>>
>>При такой конструкции, OSPF не понимает IP Source address. Пробывал указывать и
>>id соседнего маршрутизатора и ip интерфейса. Это изменяет дистанцию на сеть,
>>указанную в access list, аннонс о которой был получен отовсюду. Т.е.
>>такое впечатление, что OSPF не рассматривает 3.3.3.3 как источник аннонса.Вы правы - решение не сработало на практике. Но специально для вас придумал другой вариант именно через OSPF - помещаем интерфейсы в разные зоны OSPF - OSPF предпочитает гонять трафик внутри зоны. Вот мой конфиг:
R4:
interface FastEthernet0/0
ip address 192.168.1.4 255.255.255.0
interface Ethernet1/0
ip address 192.168.2.4 255.255.255.0
router ospf 1
router-id 150.1.4.4
network 192.168.1.4 0.0.0.0 area 0
network 192.168.2.4 0.0.0.0 area 1R5:
interface Loopback0
ip address 150.1.6.6 255.255.255.0
ip ospf network point-to-point
interface Loopback1
ip address 150.1.5.5 255.255.255.0
ip ospf network point-to-point
interface FastEthernet0/0
ip address 192.168.1.5 255.255.255.0
interface Ethernet1/0
ip address 192.168.2.5 255.255.255.0
router ospf 1
network 150.1.5.5 0.0.0.0 area 0
network 150.1.6.6 0.0.0.0 area 1
network 192.168.1.5 0.0.0.0 area 0
network 192.168.2.5 0.0.0.0 area 1R4#sh ip route ospf
150.1.0.0/24 is subnetted, 3 subnets
O 150.1.6.0 [110/11] via 192.168.2.5, 00:03:21, Ethernet1/0
O 150.1.5.0 [110/2] via 192.168.1.5, 00:03:31, FastEthernet0/0
R4#conf t
Enter configuration commands, one per line. End with CNTL/Z.
R4(config)#int fa0/0
R4(config-if)#shut^Z
R4#sh ip route ospf
O IA 192.168.1.0/24 [110/11] via 192.168.2.5, 00:00:04, Ethernet1/0
150.1.0.0/24 is subnetted, 3 subnets
O 150.1.6.0 [110/11] via 192.168.2.5, 00:00:04, Ethernet1/0
O IA 150.1.5.0 [110/11] via 192.168.2.5, 00:00:04, Ethernet1/0
R4(config)#int fa0/0
R4(config-if)#no shut
R4(config-if)#int eth1/0
R4(config-if)#shut^Z
R4#sh ip route ospf
O IA 192.168.2.0/24 [110/11] via 192.168.1.5, 00:00:05, FastEthernet0/0
150.1.0.0/24 is subnetted, 3 subnets
O IA 150.1.6.0 [110/2] via 192.168.1.5, 00:00:05, FastEthernet0/0
O 150.1.5.0 [110/2] via 192.168.1.5, 00:00:05, FastEthernet0/0
Кстати... если при "падении" канала интерфейс тоже падает - то можно воспользоваться банальной статикой. Что-нибудь вроде:ip route 150.1.5.0 255.255.255.0 192.168.1.5
ip route 150.1.5.0 255.255.255.0 192.168.2.5 2
ip route 150.1.6.0 255.255.255.0 192.168.2.5
ip route 150.1.6.0 255.255.255.0 192.168.1.5 2
R4#sh ip route static
150.1.0.0/24 is subnetted, 3 subnets
S 150.1.6.0 [1/0] via 192.168.2.5
S 150.1.5.0 [1/0] via 192.168.1.5
R4#conf t
Enter configuration commands, one per line. End with CNTL/Z.
R4(config)#int fa0/0
R4(config-if)#shut^Z
R4#sh ip route st
150.1.0.0/24 is subnetted, 3 subnets
S 150.1.6.0 [1/0] via 192.168.2.5
S 150.1.5.0 [2/0] via 192.168.2.5
R4#conf t
Enter configuration commands, one per line. End with CNTL/Z.
R4(config)#int fa0/0
R4(config-if)#no shut
R4(config-if)#int eth1/0
R4(config-if)#shut
R4(config-if)#^Z
R4#sh ip route st
150.1.0.0/24 is subnetted, 3 subnets
S 150.1.6.0 [2/0] via 192.168.1.5
S 150.1.5.0 [1/0] via 192.168.1.5
>Кстати... если при "падении" канала интерфейс тоже падает - то можно воспользоваться
>банальной статикой.
Когда падает канал, интерфейс не падпет - роутер подключен через радио бриджи.
Можно, конечно, замутить и статику с tracking роут мапами и отслеживать пингами падение каналов, но тогда не понятно, зачем вообще придумали динамические протоколы маршрутизации, если не для redundancy и fault tolerance...
>>Кстати... если при "падении" канала интерфейс тоже падает - то можно воспользоваться
>>банальной статикой.
>Когда падает канал, интерфейс не падпет - роутер подключен через радио бриджи.
>
>Можно, конечно, замутить и статику с tracking роут мапами и отслеживать пингами
>падение каналов, но тогда не понятно, зачем вообще придумали динамические протоколы
>маршрутизации, если не для redundancy и fault tolerance...
Нынче это через SLA делается. Относительно предыдущего статического конфига изменения следующие:ip sla monitor 1
type echo protocol ipIcmpEcho 192.168.1.5
timeout 2000
frequency 8
ip sla monitor schedule 1 life forever start-time now
ip sla monitor 2
type echo protocol ipIcmpEcho 192.168.2.5
timeout 2000
frequency 8
ip sla monitor schedule 2 life forever start-time now
track 1 rtr 1
track 2 rtr 2
no ip route 150.1.5.0 255.255.255.0 192.168.1.5
no ip route 150.1.6.0 255.255.255.0 192.168.2.5
ip route 150.1.5.0 255.255.255.0 192.168.1.5 track 1
ip route 150.1.6.0 255.255.255.0 192.168.2.5 track 2Но тут уже вылезают требования по IOSу - 12.3(14)Т или 12.4...
Спасибо за совет. Попробую сегодня.
>Погоняю сегодня в лабе... но опять-таки если выбирать протокол для этой конкретной
>задачи, и с обоих сторон стоит циска - ставьте EIGRP. Только
>не забудьте на обоих маршрутизаторах сказать no auto-summary.
>
>Для дифференциации маршрутов можете использовать distance (там точно корректно работает) или offset-list.Если не секрет что означает "погонять в лабе" ?
>
>>Погоняю сегодня в лабе... но опять-таки если выбирать протокол для этой конкретной
>>задачи, и с обоих сторон стоит циска - ставьте EIGRP. Только
>>не забудьте на обоих маршрутизаторах сказать no auto-summary.
>>
>>Для дифференциации маршрутов можете использовать distance (там точно корректно работает) или offset-list.
>
>Если не секрет что означает "погонять в лабе" ?В данном контексте соединить два раутера и проверить работу команду на практике в лабораторных условиях.
>>
>>>Погоняю сегодня в лабе... но опять-таки если выбирать протокол для этой конкретной
>>>задачи, и с обоих сторон стоит циска - ставьте EIGRP. Только
>>>не забудьте на обоих маршрутизаторах сказать no auto-summary.
>>>
>>>Для дифференциации маршрутов можете использовать distance (там точно корректно работает) или offset-list.
>>
>>Если не секрет что означает "погонять в лабе" ?
>
>В данном контексте соединить два раутера и проверить работу команду на практике
>в лабораторных условиях.Вопрос такой - существует ли софт для проверки подобных вещей в "песочнице" в рамках одного компьютера ? Т.е. эмуляции сетевой среды ?
Нормального софта не видел. Есть Boson NetSim, но он глючный и сырой. Работают в нём только самые простые вещи.
>>Погоняю сегодня в лабе... но опять-таки если выбирать протокол для этой конкретной
>>задачи, и с обоих сторон стоит циска - ставьте EIGRP. Только
>>не забудьте на обоих маршрутизаторах сказать no auto-summary.
>>
>>Для дифференциации маршрутов можете использовать distance (там точно корректно работает) или offset-list.
> Если не секрет что означает "погонять в лабе" ?Попрактиковаться в лабораторных работ на симуляторе или на эмуляторе