Wingman Posted March 15, 2012 Posted March 15, 2012 Возникла необходимость на c3750, терминящих кучу абонентских вланов, задавать юзерам шлюз по умолчанию в зависимости от source ip set ip default next-hop тридцать седьмые не умеют, поэтому вместо него route map с матчем интернетовских сеток в dst, и с set next-hop вместо set default next-hop Далее в роутмап добавляется ещё один матч с нужной сеткой в кач-ве source ip Сумбурно как-то обьяснил, но лучше словами не получается =) как-то так: Акцес-листы: Extended IP access list INET_IPS 10 permit ip any 0.0.0.0 9.255.255.255 20 permit ip any 11.0.0.0 0.255.255.255 30 permit ip any 12.0.0.0 3.255.255.255 40 permit ip any 16.0.0.0 15.255.255.255 ! ............... ! В общем, тут всё кроме зарезервированных сеток ! ............... Extended IP access list togw1 10 permit ip 10.1.1.0 0.0.0.255 any 20 permit ip 10.1.2.0 0.0.0.255 any Extended IP access list togw2 10 permit ip 10.1.3.0 0.0.0.255 any Роут-мап: route-map GW permit 10 match ip address INET_IPS togw1 set ip next-hop 10.10.10.1 ! route-map GW permit 20 match ip address INET_IPS togw2 set ip next-hop 10.10.10.2 ! Ну и далее вешаем одинаковый роут-мап на несколько SVI. Цель - сделать так, чтобы с минимумом телодвижений, изменением акцес-листа в PBR можно было бы направить трафик различных подсеток на различные шлюзы. Проблема заключается в том, что в роут-мапе почему-то отрабатывается только первый секвенс (permit 10); второй игнорируется. Трафик, совпадающий с `togw1` идёт на 10.10.10.1, трафик, не совпадающий ни с каким Acl идёт в дефолт; трафик, совпадающий с `togw2` (permit 20) также почему-то идёт в дефолт Ткните носом, чего я не учёл в цискиной логике? =) Вставить ник Quote
Wingman Posted March 15, 2012 Author Posted March 15, 2012 Update. Суть: Если после параметра match идет несколько опций, то к ним применяется логика "ИЛИ", то есть должен совпасть один из перечисленных параметров. Если задано несколько параметров match в отдельных строках, то к ним применяется логика "И", то есть должны совпасть все параметры. Вопрос: какого хрена кошак, когда я задаю несколько матчей отдельными строками, самостоятельно ставит их в одну строку и, главное, можно ли этого избежать? =) Вставить ник Quote
zurz Posted March 15, 2012 Posted March 15, 2012 а может, для начала почитать про Longest prefix match и немного подумать, почему оно именно так, а не иначе? Вставить ник Quote
zi_rus Posted March 15, 2012 Posted March 15, 2012 Extended IP access list INET_IPS 10 permit ip any 0.0.0.0 9.255.255.255 20 permit ip any 11.0.0.0 0.255.255.255 30 permit ip any 12.0.0.0 3.255.255.255 40 permit ip any 16.0.0.0 15.255.255.255 не бережете вы себя так то будет проще Extended IP access list INET_IPS 10 deny ip any 10.0.0.0 0.255.255.255 20 deny ip any 172.16.0.0 0.15.255.255 30 deny ip any 192.168.0.0 0.0.255.255 40 permit ip any 0.0.0.0 255.255.255.255 конец листа какого хрена кошак, когда я задаю несколько матчей отдельными строками, самостоятельно ставит их в одну строку и, главное, можно ли этого избежать? потому что гладиолус надо в аксес-листе жестко прописать откуда-куда и ставить этот ОДИН ацл в роут-мап Вставить ник Quote
Wingman Posted March 15, 2012 Author Posted March 15, 2012 10 deny ip any 10.0.0.0 0.255.255.255 и получаем весь трафик на CPU. Спасибо, обойдусь а может, для начала почитать про Longest prefix match и немного подумать, почему оно именно так, а не иначе? А может поясните, как Longest prefix match отвечает на вопрос, почему в route-map 3750 не получается заставить работать матчи как "AND"? надо в аксес-листе жестко прописать откуда-куда и ставить этот ОДИН ацл в роут-мап И вместо двух простых acl в общем роутмапе - писать сотни нее*ических портянок на каждый SVI. Благодарю покорно Вставить ник Quote
zi_rus Posted March 15, 2012 Posted March 15, 2012 и получаем весь трафик на CPU. с какого перепугу? Вставить ник Quote
Wingman Posted March 15, 2012 Author Posted March 15, 2012 и получаем весь трафик на CPU. с какого перепугу? Do not match ACLs with deny ACEs. Packets that match a deny ACE are sent to the CPU, which can cause high CPU utilization. Зачем советовать то, чего сам никогда на вменяемом трафике не использовал? Вставить ник Quote
zi_rus Posted March 16, 2012 Posted March 16, 2012 Do not match ACLs with deny ACEs. Packets that match a deny ACE are sent to the CPU, which can cause high CPU utilization. на цпу пойдет только локальный трафик, весь интернетовский трафик будет матчиться по последней строчке если у вас между вланами ходит больше трафика чем интернет, то да, конечно, придется извращаться Вставить ник Quote
Wingman Posted March 16, 2012 Author Posted March 16, 2012 больше-не больше, несколько десятков мбит достаточно для коллапса Вставить ник Quote
dazgluk Posted March 16, 2012 Posted March 16, 2012 Насколько я помню, указание ACL в одной строчке - равно логическому ИЛИ с точки зрения cisco. Если вам нужно логическое И, необходимо отдельно указать каждый match match ip address INET_IPS match ip address togw1 set ip next-hop 10.10.10.1 Во всяком случае такая логика используется в VLAN-ACL Вставить ник Quote
Wingman Posted March 16, 2012 Author Posted March 16, 2012 Насколько я помню, указание ACL в одной строчке - равно логическому ИЛИ с точки зрения cisco. Если вам нужно логическое И, необходимо отдельно указать каждый match match ip address INET_IPS match ip address togw1 set ip next-hop 10.10.10.1 Во всяком случае такая логика используется в VLAN-ACL Так в том-то и дело! Вопрос: какого хрена кошак, когда я задаю несколько матчей отдельными строками, самостоятельно ставит их в одну строку и, главное, можно ли этого избежать? =) Вставить ник Quote
zi_rus Posted March 16, 2012 Posted March 16, 2012 Так в том-то и дело! Просмотр сообщенияWingman (Вчера, 20:41) писал: Вопрос: какого хрена кошак, когда я задаю несколько матчей отдельными строками, самостоятельно ставит их в одну строку и, главное, можно ли этого избежать? =) я же говорю, пишите в аксес листе не any, a source-ip и будет только один acl и матчить по нему Вставить ник Quote
Wingman Posted March 16, 2012 Author Posted March 16, 2012 Так в том-то и дело! Просмотр сообщенияWingman (Вчера, 20:41) писал: Вопрос: какого хрена кошак, когда я задаю несколько матчей отдельными строками, самостоятельно ставит их в одну строку и, главное, можно ли этого избежать? =) я же говорю, пишите в аксес листе не any, a source-ip и будет только один acl и матчить по нему Тогда для каждого next-hop получится своя длинная портянка вместо короткого acl с перечислением сурсов, некрасиво и неудобно =) Хочется понять, можно ли заставить кошку обрабатывать матчи как "AND", и если да, то как Вставить ник Quote
zi_rus Posted March 16, 2012 Posted March 16, 2012 если только 2 некст-хопа, то можно одних матчить портянкой, остальных отправлять по-дефолту Вставить ник Quote
Wingman Posted March 16, 2012 Author Posted March 16, 2012 Можно, но хочется большей гибкости. Да и некст-хопов может быть больше. Вставить ник Quote
stepashka Posted March 16, 2012 Posted March 16, 2012 В качестве предположения, не пробовали поменять acl местами? т.е. сначала acl определяющий кто, а потом куда? match ip address togw1 INET_IPS Вставить ник Quote
Wingman Posted March 16, 2012 Author Posted March 16, 2012 Пробовали; отрабатывает именно как "или" Вставить ник Quote
stepashka Posted March 16, 2012 Posted March 16, 2012 А, вспомнил, правда мне это попадалось в configuration guide nexus'ов, но там было черным по белому написано: A match command cannot refer to more than one ACL in a route map used for policy-based routing. Вставить ник Quote
Wingman Posted March 16, 2012 Author Posted March 16, 2012 О. Понятно. Большое спасибо =) Вставить ник Quote
stepashka Posted March 16, 2012 Posted March 16, 2012 Правда на себе не проверял, но может имеет смысл попробовать сделать что-то типа: ip prefix-list 1 seq 5 permit 10.0.0.0/24 ! route-map GW permit 10 match ip address INET_IPS match ip route-source prefix-list 1 set ip next-hop 10.10.10.1 Вставить ник Quote
Wingman Posted March 16, 2012 Author Posted March 16, 2012 Unsupported Route-Map Configuration Commands match ip address prefix-list prefix-list-name [prefix-list-name...] Не пройдёт =) По интерфейсам матчить тоже нельзя видимо, придётся-таки портянки писать Вставить ник Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.