Перейти к содержимому
Калькуляторы

Маршрутизация между VRF и UBPR локлаьного трафика

Есть cisco 6500 с супом WS-SUP720-3B

Хочется использовать её возможности UBRL для шейпинга локального трафика.

 

Клиентские подсети заводятся в неё вланами.

 

Для примера пара вланов:

 

interface Vlan100
ip address 10.100.0.1 255.255.0.0
service-policy input local_t
!
interface Vlan200
ip address 10.200.0.1 255.255.0.0
service-policy input local_t
!

И т.д.

 

 

Нужно каждому пользователю дать скажем 10 мегобит входящего и 10 мегобит исходящего трафика.

 

На текущий момент удалось добиться попадания в flow таблицу либо только по адресу назначения, либо по адресу исходящего.

А необходимо чтобы было две записи.

 

 

access-list 160 permit ip 10.0.0.0 0.255.255.255 10.0.0.0 0.255.255.255
!
class-map match-all local_
  match access-group 160
!
!
policy-map local_t
  class local_
     police flow mask src-only 1000000 248000 conform-action transmit exceed-action drop

 

Пробывал добавлять ещё одну цепочку в policy-map. Что то вроди:

 

access-list 160 permit ip 10.0.0.0 0.255.255.255 10.0.0.0 0.255.255.255
!
class-map match-all local_src
  match access-group 160
class-map match-all local_dest
  match access-group 160
!
!
policy-map local_t
  class local_src
     police flow mask src-only 1000000 248000 conform-action transmit exceed-action drop
  class local_dest
     police flow mask dest-only 1000000 248000 conform-action transmit exceed-action drop

 

но в flow таблицу попадает только запись которая стоит первее в policy-map.

 

Скажите реализуема ли такая задача вообще?

Изменено пользователем Joneg

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

А нормально работает то UBRL?

Вы NDE с нее не собираете?

 

У нас не получилось запустить...

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Нет netflow не собираю.

Ну в "текущем", те в том, что попало в flow таблицу, скорость режеться.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

проблема в том, что полиси вы повесили только на входящий от абонента трафик

service-policy input local_t

обрабатывается трафик только от абонента к интерфейсу. т.е. для vlan 100 это всегда будет только src ip 10.100.x.x;

 

может стоить допаять service-policy output ?

 

Изменено пользователем darkagent

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Нельзя вешать UBRL на output

 

police flow mask src-only 1000000 248000 conform-action transmit exceed-action drop

тут написано что-то вроди того, что если очередь на отправку отправителя заполнена, но нужно дропать пакеты.

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Начал смотреть в сторону vrf. Каждый vlan с клентами заводится в отдельный vrf. Это позволит указать каждой подсети шлюз по умолчанию без использования PBR. И пришла мысль сделать для локального трафика между клиентами дополнительный хоп в виде ещё одного vrf. Не знаю на сколько это правильно. Однако возникла проблема.

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

 

 

! тот самый навязаный дополнительный роутер для локального трафика
ip vrf local
rd 65000:5000
route-target export 65000:5000
route-target import 65000:200
route-target import 65000:250
! первая тестовая сетка
ip vrf net_200
rd 65000:200
route-target export 65000:200
route-target import 65000:5000
! вторая тестовая сетка
ip vrf net_250
rd 65000:250
route-target export 65000:250
route-target import 65000:5000


! в дополнительный руотер добавляем лупбэк
interface Loopback5000
ip vrf forwarding local
ip address 192.168.100.100 255.255.255.0
!

! физ интерфейсы сеток
! ничего интересного
interface GigabitEthernet3/13
description "Test 10.200.0.0 network"
switchport
switchport access vlan 700
switchport mode access
no ip address
!
interface GigabitEthernet3/14
description "Test 10.250.0.0 network"
switchport
switchport access vlan 750
switchport mode access
no ip address


!
interface Vlan700
ip vrf forwarding net_200
ip address 10.200.0.1 255.255.0.0
!
interface Vlan750
ip vrf forwarding net_250
ip address 10.250.0.1 255.255.0.0
!
! бгп для обмена маршрутами между vrf
router bgp 65000
no synchronization
bgp log-neighbor-changes
no auto-summary
!
address-family ipv4 vrf net_250
redistribute connected
no auto-summary
no synchronization
exit-address-family
!
address-family ipv4 vrf net_200
redistribute connected
no auto-summary
no synchronization
exit-address-family
!
address-family ipv4 vrf local
redistribute connected
no auto-summary
no synchronization
exit-address-family
!

! ну и маршруты в каждую сетку чтобы завернуть локальный трафик на лупбэк в локале
ip route vrf net_200 10.0.0.0 255.0.0.0 192.168.100.100
ip route vrf net_250 10.0.0.0 255.0.0.0 192.168.100.100

 

Вроди бы все хорошо. Обмен маршрутами происходит:

 

show ip bgp vpnv4 all
BGP table version is 28, local router ID is ххх.ххх.ххх.ххх
Status codes: s suppressed, d damped, h history, [quot] valid, > best, i - internal,
              S Stale
Origin codes: i - IGP, e - EGP, ? - incomplete

   Network          Next Hop            Metric LocPrf Weight Path
Route Distinguisher: 65000:200 (default for vrf net_200)
[/quot]> 10.200.0.0/16    0.0.0.0                  0         32768 ?
[quot]> 192.168.100.0    0.0.0.0                  0         32768 ?
Route Distinguisher: 65000:250 (default for vrf net_250)
[/quot]> 10.250.0.0/16    0.0.0.0                  0         32768 ?
[quot]> 192.168.100.0    0.0.0.0                  0         32768 ?
Route Distinguisher: 65000:5000 (default for vrf local)
[/quot]> 10.200.0.0/16    0.0.0.0                  0         32768 ?
[quot]> 10.250.0.0/16    0.0.0.0                  0         32768 ?
[/quot]> 192.168.100.0    0.0.0.0                  0         32768 ?

 

show ip route vrf local

Routing Table: local
Codes: C - connected, S - static, R - RIP, M - mobile, B - BGP
       D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
       N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
       E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP
       i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2
       ia - IS-IS inter area, [quot] - candidate default, U - per-user static route
       o - ODR, P - periodic downloaded static route

Gateway of last resort is not set

     10.0.0.0/16 is subnetted, 2 subnets
B       10.200.0.0 is directly connected, 00:59:28, Vlan700
B       10.250.0.0 is directly connected, 00:59:28, Vlan750
C    192.168.100.0/24 is directly connected, Loopback5000

 

show ip route vrf net_200

Routing Table: net_200
Codes: C - connected, S - static, R - RIP, M - mobile, B - BGP
       D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
       N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
       E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP
       i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2
       ia - IS-IS inter area, [/quot] - candidate default, U - per-user static route
       o - ODR, P - periodic downloaded static route

Gateway of last resort is not set

     10.0.0.0/8 is variably subnetted, 2 subnets, 2 masks
S       10.0.0.0/8 [1/0] via 192.168.100.100
C       10.200.0.0/16 is directly connected, Vlan700
B    192.168.100.0/24 is directly connected, 00:37:05, Loopback5000

show ip route vrf net_250

Routing Table: net_250
Codes: C - connected, S - static, R - RIP, M - mobile, B - BGP
       D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
       N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
       E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP
       i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2
       ia - IS-IS inter area, * - candidate default, U - per-user static route
       o - ODR, P - periodic downloaded static route

Gateway of last resort is not set

     10.0.0.0/8 is variably subnetted, 2 subnets, 2 masks
S       10.0.0.0/8 [1/0] via 192.168.100.100
C       10.250.0.0/16 is directly connected, Vlan750
B    192.168.100.0/24 is directly connected, 00:37:17, Loopback5000

 

Пинги между роутерами идут, а сквозь локальный нет:

ping vrf net_200 192.168.100.100

Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 192.168.100.100, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 1/2/4 ms

 

ping vrf net_200 10.250.0.1

Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 10.250.0.1, timeout is 2 seconds:
.....
Success rate is 0 percent (0/5)

 

Непойму, что делаю нетак?

Изменено пользователем Joneg

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

В вашей схеме vrf net_200 и vrf net_250 изолированы друг от друга.

 

 

ip vrf net_200

rd 65000:200

route-target export 65000:200

route-target import 65000:5000

 

ip vrf net_250

rd 65000:250

route-target export 65000:250

route-target import 65000:5000

 

Эта конфигурация импортирует только маршруты vrf local. А между vrf net_250 и vrf net_200 связности нет.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Если я не ошибаюсь, в этой схеме, для того, чтобы пакет из net_200 попал в net_250 нужно сделать два lookup. Не уверен, что 65xx вообще это может. Вижу два пути:

1. Можно попробовать указать в качестве nexthop для статических маршрутов в VRF не 192.168.100.100, а любой другой адрес в этой сети. Вдруг заработает :)

2. Забить на vrf local и передавать маршруты напрямую между net_200 и net_250, как написал Stak

 

Кстати, а Вас ограниченное количество VRF не настораживает?

Изменено пользователем nnm

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

В вашей схеме vrf net_200 и vrf net_250 изолированы друг от друга.

 

 

ip vrf net_200

rd 65000:200

route-target export 65000:200

route-target import 65000:5000

 

ip vrf net_250

rd 65000:250

route-target export 65000:250

route-target import 65000:5000

 

Эта конфигурация импортирует только маршруты vrf local. А между vrf net_250 и vrf net_200 связности нет.

Ну в том то и задача, чтобы трафик между сетями шел не на прямую, а через дополнительный хоп для шейпера. Или вы предлагаете через бгп проанонсировать все всем (и прпоисать импорты), а на самих vrf роутмапами отфильтровать лишнее, те отфильтровать для каждого vrf каждой сетки все 10.0.0.0/8?

 

Если я не ошибаюсь, в этой схеме, для того, чтобы пакет из net_200 попал в net_250 нужно сделать два lookup. Не уверен, что 65xx вообще это может. Вижу два пути:

1. Можно попробовать указать в качестве nexthop для статических маршрутов в VRF не 192.168.100.100, а любой другой адрес в этой сети. Вдруг заработает :)

2. Забить на vrf local и передавать маршруты напрямую между net_200 и net_250, как написал Stak

 

Кстати, а Вас ограниченное количество VRF не настораживает?

Первый пункт не помогает.

Второй пункт лишает возможности нормалнього шейпинга.

Ну по количеству ограничений вроди как 700 поддерживает данный суп. а подсетей не так много. С двумя loopback непонял, зачем там второй? Объясните пожалуйсто.

Изменено пользователем Joneg

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

С двумя loopback непонял, зачем там второй? Объясните пожалуйсто.

Второй loopback не нужен. Я предлагал в качестве nexthop написать адрес, принадлежащий сети, привязанной на Loopback, но не равный адресу Loopback. Такой трюк для NAT on stick используют. Я подумал может и здесь стрельнет. Но похоже не работает :(

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

щас скажу глупость.

а в

address-family ipv4 vrf local

ненадо нечего типо

redistribute dynamic

???

 

ps некогда vrt и bgp не настраивал но может быть..

Изменено пользователем mukca

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Вместо лупбэка подключил компьютер. Смотрел проходящие через него пакеты. Запрос на пинг между сетями до него доходит. Пакет отправляетсяобратно в циску и там цепочка обрывается.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Неужели некому ничего подсказать? Мб какую то функцию включить нужно?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

magic cable между vrf (ушки)?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Статикой сделать нельзя.

Есть 3 вар-та.

1) Это создание import-map и импортирование нужных маршрутов в каждый из vrf без создания static route.

2) Создать в vrf local default route и экспортировать его в vrf 200 и 250.

3) Соединять vrf by cable means, как предложил STAK.

Так работать должно.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

В подтвержедние своих про static routing:

http://blog.ioshints.info/2009/06/inter-vrf-static-routes.html

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Но ведь в случае cable means придется в каждый vrf по такому ушку заводить? Если я правильно понимаю.

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

В vrf local генерите маршрут по умолчанию (на сколько я понимаю кроме транзита данный vrf никаких действий не делает, поэтому создания default ни на что не повлияет)

ip route vrf local 0.0.0.0 0.0.0.0 Null0

 

address-family ipv4 vrf local

redistribute static

Далее необходимо проанонсить данный маршрут в каждый из vrf с помощью route-target import/export, по-моему у вас это сделано.

Все, вы создали пути вывода трафика из каждого vrf в vrf local.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Идея ясна, однако это несовсем то, что нужно. Требуется полноценный хоп 3-го уровня чтобы на нем отрабатывал ubrl, а тут его даже повесить некуда, всмысле на интерфейс повесить service-policy input local_t. А вот касательно вывода трафика на внешнее устройство для шейпа его там, должно сработать. В скором времени попробую собрать схему. Впринципи с моим вариантом, который не работает, пакеты до внешнего устройства доходили как я уже писал.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Почему нельзя? Думаю можно на interface Vlan100 и 200, только выделять нужно будет:

access-list 160 permit ip 10.200.0.0 0.0.255.255 10.100.0.0 0.0.255.255 и vice versa.

 

Про "который не работает", этот вар-т не то что бы не работает, просто он не поддерживается, так что после смены прошивки он может перестать работать, вот и все.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Покажите пожалуйсто на примере, усовершенствуя конфигурацию. У меня такое впечатление, что мы о разном говорим. Мне нужно на самих vlan шейпить локальный трафик по полю назначение, те ограничить входящую скорость. А этот промежуточный vrf задумывался чтобы шейпить на нем исходящий трафик, по полю источник. Тем самым в флов таблицу попадали бы записи вида:

 

Src Dst

0.0.0.0 10.111.111.111

10.111.111.111 0.0.0.0

А не только

0.0.0.0 10.111.111.111

как сейчас.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

ааа...точно, согласен, тогда данный vrf без "проводочков" и не нужен...

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

А с проводочками уж шибко некрасиво получается. vrf-ов в итоге у меня около 10-и.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 смайлов.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.