Joneg Posted March 9, 2011 (edited) · Report post Есть 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. Скажите реализуема ли такая задача вообще? Edited March 13, 2011 by Joneg Share this post Link to post Share on other sites
Tosha Posted March 9, 2011 · Report post А нормально работает то UBRL? Вы NDE с нее не собираете? У нас не получилось запустить... Share this post Link to post Share on other sites
Joneg Posted March 9, 2011 · Report post Нет netflow не собираю. Ну в "текущем", те в том, что попало в flow таблицу, скорость режеться. Share this post Link to post Share on other sites
darkagent Posted March 9, 2011 (edited) · Report post проблема в том, что полиси вы повесили только на входящий от абонента трафик service-policy input local_t обрабатывается трафик только от абонента к интерфейсу. т.е. для vlan 100 это всегда будет только src ip 10.100.x.x; может стоить допаять service-policy output ? Edited March 9, 2011 by darkagent Share this post Link to post Share on other sites
Joneg Posted March 9, 2011 · Report post Нельзя вешать UBRL на output police flow mask src-only 1000000 248000 conform-action transmit exceed-action drop тут написано что-то вроди того, что если очередь на отправку отправителя заполнена, но нужно дропать пакеты. мне нужно сделать чтобы маршрутизатор дропал пакеты если очередь на отправку отправителя заполнена ИЛИ отчередь приема получателя заполнена. Share this post Link to post Share on other sites
Joneg Posted March 13, 2011 (edited) · Report post Начал смотреть в сторону 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) Непойму, что делаю нетак? Edited March 13, 2011 by Joneg Share this post Link to post Share on other sites
Stak Posted March 14, 2011 · Report post В вашей схеме 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 связности нет. Share this post Link to post Share on other sites
nnm Posted March 14, 2011 (edited) · Report post Если я не ошибаюсь, в этой схеме, для того, чтобы пакет из net_200 попал в net_250 нужно сделать два lookup. Не уверен, что 65xx вообще это может. Вижу два пути: 1. Можно попробовать указать в качестве nexthop для статических маршрутов в VRF не 192.168.100.100, а любой другой адрес в этой сети. Вдруг заработает :) 2. Забить на vrf local и передавать маршруты напрямую между net_200 и net_250, как написал Stak Кстати, а Вас ограниченное количество VRF не настораживает? Edited March 14, 2011 by nnm Share this post Link to post Share on other sites
Joneg Posted March 14, 2011 (edited) · Report post В вашей схеме 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 непонял, зачем там второй? Объясните пожалуйсто. Edited March 14, 2011 by Joneg Share this post Link to post Share on other sites
nnm Posted March 14, 2011 · Report post С двумя loopback непонял, зачем там второй? Объясните пожалуйсто. Второй loopback не нужен. Я предлагал в качестве nexthop написать адрес, принадлежащий сети, привязанной на Loopback, но не равный адресу Loopback. Такой трюк для NAT on stick используют. Я подумал может и здесь стрельнет. Но похоже не работает :( Share this post Link to post Share on other sites
Joneg Posted March 14, 2011 · Report post Есть ещё какие нибудь идеи? По логике вроди бы все правильно. Все маршруты, нужные для работы, в таблицах присутствуют. Получается, что сам лупбэк не возвращает пакет в таблицу маршрутизации, к который он подключен Share this post Link to post Share on other sites
mukca Posted March 14, 2011 (edited) · Report post щас скажу глупость. а в address-family ipv4 vrf local ненадо нечего типо redistribute dynamic ??? ps некогда vrt и bgp не настраивал но может быть.. Edited March 14, 2011 by mukca Share this post Link to post Share on other sites
Joneg Posted March 15, 2011 · Report post Вместо лупбэка подключил компьютер. Смотрел проходящие через него пакеты. Запрос на пинг между сетями до него доходит. Пакет отправляетсяобратно в циску и там цепочка обрывается. Share this post Link to post Share on other sites
Joneg Posted March 17, 2011 · Report post Неужели некому ничего подсказать? Мб какую то функцию включить нужно? Share this post Link to post Share on other sites
Stak Posted March 30, 2011 · Report post magic cable между vrf (ушки)? Share this post Link to post Share on other sites
allexch Posted April 1, 2011 · Report post Статикой сделать нельзя. Есть 3 вар-та. 1) Это создание import-map и импортирование нужных маршрутов в каждый из vrf без создания static route. 2) Создать в vrf local default route и экспортировать его в vrf 200 и 250. 3) Соединять vrf by cable means, как предложил STAK. Так работать должно. Share this post Link to post Share on other sites
allexch Posted April 1, 2011 · Report post В подтвержедние своих про static routing: http://blog.ioshints.info/2009/06/inter-vrf-static-routes.html Share this post Link to post Share on other sites
Joneg Posted April 4, 2011 · Report post Но ведь в случае cable means придется в каждый vrf по такому ушку заводить? Если я правильно понимаю. Сейчас все работает по первому варианту. Это, скажем так, если вообще ничего не делать, маршруты друг другу проанонсировать и гонять трафик по ним, сейчас шейпится у меня только по адресу назначения трафик. По поводу второго пункта, расскажите поподробнее, несовсем понял куда этот маршрут по умолчанию направлять и как он поможет. Share this post Link to post Share on other sites
allexch Posted April 5, 2011 · Report post В 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. Share this post Link to post Share on other sites
Joneg Posted April 5, 2011 · Report post Идея ясна, однако это несовсем то, что нужно. Требуется полноценный хоп 3-го уровня чтобы на нем отрабатывал ubrl, а тут его даже повесить некуда, всмысле на интерфейс повесить service-policy input local_t. А вот касательно вывода трафика на внешнее устройство для шейпа его там, должно сработать. В скором времени попробую собрать схему. Впринципи с моим вариантом, который не работает, пакеты до внешнего устройства доходили как я уже писал. Share this post Link to post Share on other sites
allexch Posted April 5, 2011 · Report post Почему нельзя? Думаю можно на 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. Про "который не работает", этот вар-т не то что бы не работает, просто он не поддерживается, так что после смены прошивки он может перестать работать, вот и все. Share this post Link to post Share on other sites
Joneg Posted April 5, 2011 · Report post Покажите пожалуйсто на примере, усовершенствуя конфигурацию. У меня такое впечатление, что мы о разном говорим. Мне нужно на самих 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 как сейчас. Share this post Link to post Share on other sites
allexch Posted April 5, 2011 · Report post ааа...точно, согласен, тогда данный vrf без "проводочков" и не нужен... Share this post Link to post Share on other sites
Joneg Posted April 5, 2011 · Report post А с проводочками уж шибко некрасиво получается. vrf-ов в итоге у меня около 10-и. Share this post Link to post Share on other sites