wtyd Posted October 15, 2014 · Report post Наверное этот вопрос уже 100500 раз обсуждался. Дайте ссылку если так. В общем, есть стремление зароутить трафик на все ip-адреса из запретинфо на TPROXY и, соответственно, обратно. Зароутить не весь подряд трафик, а трафик с некоторых подсетей (чтобы транзитные чужие сети не трогать) идущий на 80/443 порт на адреса из списка. Ещё не совсем понятно, надо ли 443 трогать, ведь прокси/фильтр не в состоянии расшифровать SSL. Но тем не менее. Пытаюсь сделать route-map с двумя acl. В первом стандартном список своих сетей, во втором расширенном указываю адреса из реестра и порт назначения. Тут не суть важно, какой из асл какой, целью было получить объекты разных типов, чтобы они оказались в разных строках роут-мапа. Ставляю их в роутмап и они оказываются в одной строке, т.е. будет применяться логика ИЛИ, а мне надо логику И получить, должно быть две строки match. Добавляю естественно раздельными командами. C7200(config)#route-map TEST-ZAPRET C7200(config-route-map)#match ip address TEST1-WE C7200(config-route-map)#match ip address TEST2-ZAP C7200(config-route-map)#set ip next-hop 192.168.0.1 C7200(config-route-map)#^Z C7200#sh rou C7200#sh route-map TEST-ZAPRET route-map TEST-ZAPRET, permit, sequence 10 Match clauses: ip address (access-lists): TEST1-WE TEST2-ZAP Set clauses: ip next-hop 192.168.0.1 Policy routing matches: 0 packets, 0 bytes C7200#sh ip access-lists TEST1-WE Standard IP access list TEST1-WE (Compiled) 10 permit 192.168.10.3 C7200# C7200#sh ip access-lists TEST2-ZAP Extended IP access list TEST2-ZAP (Compiled) 10 permit tcp any host 198.41.179.70 eq www C7200# пробовал ip prefix-list -- не хочет с асл вместе быть. Что делать ? Можно не прям именно так, может быть вообще WCCP сделать ? Только я не знаю, какой сорс будет при WCCP виден на веб-сервере, клиента или прокси ? Ни разу не пробовал WCCP :-). Хотелось бы конечно там сорс клиента чтобы был. Весь трафик проксировать не нужно, только по минимуму и только указанный трафик (трафик на порт 80 с указанных подсетей на список ойпи-адресов реестра). Это в одну сторону, если это получится, то и в другую сторону аналогично должно получиться (в случае с TPROXY, а для WCCP вроде только в одну сторону надо делать). Я не знаю, что лучше, WCCP или PBR+TPROXY ? Надо поменьше грузить роутер, при этом остальные протоколы(все кроме http) должны ходить напрямую. Отдельный вопрос: что делать с https ? В реестре есть url'ы с https, как их фильтровать-то ? Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
applx Posted October 15, 2014 · Report post два ACL в route-map работают как "или" а не "и" тоесть матчитса либо первый либо второй. вам надо расширеный ACL с указанием соурс и дестенейшн, иначе ни как. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
MrNv Posted October 15, 2014 · Report post может это поможет? continue Continue on a different entry within the route-map Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
wtyd Posted October 15, 2014 · Report post два ACL в route-map работают как "или" а не "и" тоесть матчитса либо первый либо второй. вам надо расширеный ACL с указанием соурс и дестенейшн, иначе ни как. Вот в том-то и дело, что в гугле находил пример у каких-то поляков или чехов (судя по языку), у них стандартный асл и расширенный работали в одном роут-мап и были в разных строчках, т.е. работали как И. Либо там что-то в тексте про это было написано и я не понял, либо у них работало :-). Про роут-мап читал, что логика ИЛИ работает для объектов одинакового типа, приэтом они в одну строку в конфиге записываются, а логика ИЛИ работает для разнотипных объектов, при этом в конфиге они записываются в отдельные идущие подряд строчки match. Ну ладно, видать, мне это не светит. Я не сказал, зачем мне нужно два асл: своих сетей несколько, если всё писатьв один асл, то правил в нём будет в несколько раз больше, чем реестра запрещённых сайтов. Соответственно, число ace будет несколько тысяч -- хотелось бы этого избежать. Хотя я не знаю, для софтваре базед роутера цыско это критично или нет ? Судя по конфигу, асл компилируются, т.е. на число записей в принципе пофик, но вот вдруг там ace ограничено и тогда всё, пипец. может это поможет? continue Continue on a different entry within the route-map Я про это в курсе, но continue не везде работает почему-то. Читал, что в шеститоннике не работает, хотя у меня и не он, но опять эти американские двойные стандарты :-). Такой же цыски нет, тренироваться не на чем :-(. А что на счёт WCCP ? Кто-нибудь пробовал в продакшене для zapret-info юзать wccp ? Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
EDA_SPB Posted October 15, 2014 (edited) · Report post Вообще не совсем понятно чем не устраивает расширенный список с указанием своих подсетей. Возможно, хотите удобства редактирования/управления. Посмотрите в сторону object-group. В одну группу свои ip. В другую ip из запрещенного списка. В access-list записи вида permit tcp group_my_ip group_ip_to_proxy eq www Edited October 15, 2014 by EDA_SPB Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
wtyd Posted October 16, 2014 (edited) · Report post Вообще не совсем понятно чем не устраивает расширенный список с указанием своих подсетей. Возможно, хотите удобства редактирования/управления. Посмотрите в сторону object-group. В одну группу свои ip. В другую ip из запрещенного списка. В access-list записи вида permit tcp group_my_ip group_ip_to_proxy eq www Эх ... этой фичи в имеющемся иосе нет :-(. Расширенный список с указанием сорса, дестинейшена и портов всем устраивает, кроме размера. Своих сетей несколько, внутренних интерфейсов несколько, сам реестр уже больше 2к ойпишников содержит. Придётся делать большой асл (каждая своя подсеть с каждым ойпи из реестра) и ещё роут-мап с этим асл вешать на несколько внутренних интерфейсов, а как известно, одинаковый асл, повешанный на N интерфейсов, тратит в N раз больше ace, чем в асл есть. Получаем угрожающее количество ace, лимит которого для 7201 я не знаю и как их вообще посмотреть тоже не знаю. Т.е. я боюсь, что ace слишком много будет и тогда проблемы начнутся. Edited October 16, 2014 by wtyd Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
wtyd Posted October 16, 2014 · Report post Наверное мысли витают в мировом эфире и я чью-то опять уловил :-). А что если сделать так: С машины с TPROXY, которая по L2 соединена с бордюрной цыской, засветить по bgp список ойпи реестра. На цыске принять эти маршруты и пометить тагом (вот только надо некст-хоп выбрать, у нас их тоже несколько, как выбрать? тупо какой-то указать?). Потом в роутмап написать примерно так: route-map TEST permit 10 match ip address MYNETS ! тут расширенный асл с нашими сетями и any eq 80 match tag 100 set ip next-hop 192.168.1.1 Т.е. по идее этот роут-мап в pbr должен завернуть на 192.168.1.1 трафик с наших сетей, идущий на порт 80 и на ойпишники с тагом. Иной трафик пойдёт напрямую. Пока не могу придумать, как завернуть на 192.168.1.1 трафик, идущий в обратном направлении, аналогичным образом с использованием тагов или чего-то такого, что с бгп можно передать. Помогите? Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
NikAlexAn Posted October 16, 2014 (edited) · Report post Я не сказал, зачем мне нужно два асл: своих сетей несколько, если всё писатьв один асл, то правил в нём будет в несколько раз больше, чем реестра запрещённых сайтов. Соответственно, число ace будет несколько тысяч -- хотелось бы этого избежать. Хотя я не знаю, для софтваре базед роутера цыско это критично или нет ? Судя по конфигу, асл компилируются, т.е. на число записей в принципе пофик, но вот вдруг там ace ограничено и тогда всё, пипец. Какая разница сколько у вас сетей? Если вы pdr повесите на интерфейс смотрящий в сторону абонентов то матчить то достаточно по принципу "tcp any host hostaddr eq port", где hostaddr - адрес из списка. Только если вы это собираетесь внедрять на 7201 то боюсь она от такого списка загнётся и, кроме того, на одном интерфейсе можно использовать только один сервис - или isg или service-policy или vrf или route-map. Поглядите в сторону Ската - на мой взгляд самое дешёвое решение для запрет-инфо да и матчит по url (https просто блочит по ip). PS: access-list compiled ненамного разгрузит проц то. Edited October 16, 2014 by NikAlexAn Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
wtyd Posted October 16, 2014 · Report post Я не сказал, зачем мне нужно два асл: своих сетей несколько, если всё писатьв один асл, то правил в нём будет в несколько раз больше, чем реестра запрещённых сайтов. Соответственно, число ace будет несколько тысяч -- хотелось бы этого избежать. Хотя я не знаю, для софтваре базед роутера цыско это критично или нет ? Судя по конфигу, асл компилируются, т.е. на число записей в принципе пофик, но вот вдруг там ace ограничено и тогда всё, пипец. Какая разница сколько у вас сетей? Если вы pdr повесите на интерфейс смотрящий в сторону абонентов то матчить то достаточно по принципу "tcp any host hostaddr eq port", где hostaddr - адрес из списка. Только если вы это собираетесь внедрять на 7201 то боюсь она от такого списка загнётся и, кроме того, на одном интерфейсе можно использовать только один сервис - или isg или service-policy или vrf или route-map. Поглядите в сторону Ската - на мой взгляд самое дешёвое решение для запрет-инфо да и матчит по url (https просто блочит по ip). PS: access-list compiled ненамного разгрузит проц то. Разница есть, т.к. нет отдельных интерфейсов для абонентов, точнее они есть, но там есть другие операторы связи -- сами пусть фильтруют :-). Дайте, пожалуйста, ссылку на первоисточник, ну что на одном интерфейсе можно использовать либо pbr, либо service-policy ? Это убивает всю идею ... надо что-то другое придумывать ... Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
NikAlexAn Posted October 16, 2014 · Report post А не помню где это указано. :) Но сам с этим сталкивался. Попробуйте сами. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
wtyd Posted October 16, 2014 (edited) · Report post А не помню где это указано. :) Но сам с этим сталкивался. Попробуйте сами. На продакшенском железе не могу этого сдлеать :-). Попробовал на неиспользуемом интерфейсе -- команды добавляет, но вот будетработать или нет - не ясно. У вас как это выглядело ? Тоже поди команды добавлялись, но не работало ? Остались варианты: 1. Использовать wccp2 и не использовать TPROXY (забить на идею подставления клиентских адресов в запросы с прокси). Версия 2 из-за accelerated, т.е. там тупо мак адрес назначения меняется на адрес прокси. В командах моей цыске вроде это есть. Это избавляет от gre, следовательно, нагрузка меньше. Цыска и проксидолжны быть в L2 доступности. Но придётся делать большой acl. 2. Зарулить вообще весь http трафик в проксю, но на самой проксе проксировать только нужный трафик (ipset'ом выбирать), а остальной роутить. 3. Всё ж таки проанонсировать по bgp этот список в цыску и пусть она нативным образом пакеты в прокси шлёт, а ответные пакеты заруливать в цыску роут-мапами на внешних интерфейсах - придётся кроме бгп делать acl со списком ойпи из реестра. Наверное первый вариант самый вероятный на успех. Edited October 16, 2014 by wtyd Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
EDA_SPB Posted October 16, 2014 · Report post Пока не могу придумать, как завернуть на 192.168.1.1 трафик, идущий в обратном направлении А нужно ли? Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
wtyd Posted October 16, 2014 · Report post Пока не могу придумать, как завернуть на 192.168.1.1 трафик, идущий в обратном направлении А нужно ли? Для работы с модулем TPROXY нужно, а если просто как прокси, то нет :-). Это не транспарент прокси, это другое. Сквид спуфит ойпи клиентов и тогда никто не узнает о прокси. поэтому обратный трафик надо тоже в скиду заруливать. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
NikAlexAn Posted October 17, 2014 · Report post На продакшенском железе не могу этого сдлеать :-). Попробовал на неиспользуемом интерфейсе -- команды добавляет, но вот будетработать или нет - не ясно. У вас как это выглядело ? Тоже поди команды добавлялись, но не работало ? Выдавало ошибку. Вы два сервиса то пробовали добавить или только rmap? Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
nnm Posted October 17, 2014 · Report post hub#sh run | begin ^route-map route-map policy-route deny 10 match ip address 1 ! route-map policy-route permit 20 match ip address 101 set ip next-hop <redirect_host> ! hub#sh access-lists 1 Standard IP access list 1 10 deny <our_network> (13 matches) 20 permit any (9 matches) hub#sh access-lists 101 Extended IP access list 101 10 permit ip any host <ip_from_zapretinfo> (10 matches) Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
wtyd Posted October 20, 2014 · Report post На продакшенском железе не могу этого сдлеать :-). Попробовал на неиспользуемом интерфейсе -- команды добавляет, но вот будетработать или нет - не ясно. У вас как это выглядело ? Тоже поди команды добавлялись, но не работало ? Выдавало ошибку. Вы два сервиса то пробовали добавить или только rmap? Пробовал добавить два сервиса, т.е. даже три: ip policy route-map TEST, service-policy input и service-policy output. пробовал на порту, который в данное время не используется и зашутдауненный. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
NikAlexAn Posted October 20, 2014 (edited) · Report post Пробовал добавить два сервиса, т.е. даже три: ip policy route-map TEST, service-policy input и service-policy output. пробовал на порту, который в данное время не используется и зашутдауненный. Я пробовал на активных интерфейсах, vrf и route-map не прожёвывал, и service-policy type control(isg) и route-map тоже. Но это на npe-g1 и 7301. vrf и route-map и на 6509-sup720-3b тож не даёт включить. Edited October 20, 2014 by NikAlexAn Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...