qwarta Posted December 17, 2012 Доброго времени суток! Кто сталкивался подскажите, как на моем свиче настроить фильтр, который будет накладываться на IP адрес внутренней сети и отбрасывать весь приходящий на него трафик на соседнюю АС мой ISP? Нашел такой кусок конфига но не могу понять, что значат цифры возле АС [56:2379 23:46944]: [edit] routing-options { router-id 10.0.0.1; autonomous-system 23; }policy-options { policy-statement from-otago { from community otago; then metric 20; } community otago members [56:2379 23:46944]; } protocols { bgp { import from-otago; group 23 { type external; peer-as 56; neighbor 192.168.0.1 { traceoptions { file bgp-log-peer; flag packets; } log-updown; } } } } Заранее благодарен. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
dmvy Posted December 17, 2012 community otago members [56:2379 23:46944]; - это управляющие BGP коммьюнити по которым принимается решение как принять (инжектировать в FIB) и куда анонсировать маршрут. А то что вы объясняете больше похоже на policy base routing. на джунипере они делаются при помощи route instance. гугл в помощь... Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
qwarta Posted December 18, 2012 community otago members [56:2379 23:46944]; - это управляющие BGP коммьюнити по которым принимается решение как принять (инжектировать в FIB) и куда анонсировать маршрут. А то что вы объясняете больше похоже на policy base routing. на джунипере они делаются при помощи route instance. гугл в помощь... может я вообще копаю не в ту сторону, но на самом деле мне необходимо используя дополнительный атрибут MED для определенного /32 уметь изменять для него маршрут. предполагается что мой провайдер понимает этот атрибут и принимает мой /32. Грубо говоря мне нужно дать анонс на x.x.x.x/32 и сделать ему приоритет на другой канал. Каким образом это можно сделать на джуне? Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
dmvy Posted December 18, 2012 это вы направляете исходящий трафик, а входящий все равно будет по анонсам возвращаться. перенос в другой instance происходит в firewall filter, в котором можно указать только prefix-list, который вы будете передавать провайдеру, а он обновлять фильтры. как альтернативный вариант: сделайте второй VLAN с провайдером для анонсирования в другой канал. лучше схему нарисовать. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
qwarta Posted December 18, 2012 Возможно, я все попутал, но итоговая задача состоит в том чтобы в случае DDOS атаки, на IP клиента, превыщающий выделеный нам от ДЦ канал по объему, отправлять весь трафик в blackhole, я так понимаю что это делается с помощью тега MED, у нас стоит железка juniper ex4200, но пока как это настроить я не понимаю, не подскажете более конкретно (если возможно) на примере IP допустим 192.168.1.123 который ddos'ят, что прописать на джунипере? Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
dmvy Posted December 18, 2012 habrahabr.ru/post/91574/ ваш случай если не удастся перенести с циско-кли на джунос - обращайтесь. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
qwarta Posted December 19, 2012 habrahabr.ru/post/91574/ ваш случай если не удастся перенести с циско-кли на джунос - обращайтесь. Да, я за основу всего брал именно эту статью. Просто ни как не могу понять, как конвертировать цисковкие настройки для клиентской стороны на мой Juniper, в приципе это и есть то что я пытаюсь реализовать:): Сторона клиента. ! Описываем фильтр для редистрибуции. ! На статические маршруты с тэгом 666 устанавливаем community 0:666 route-map BGP-BLACKHOLE permit 5 match tag 666 set community 0:666 additive ! router bgp YYY ! Разрешаем редистрибуцию статических маршрутов по нашему фильтру redistribute static route-map BGP-BLACKHOLE ! Разрешим отсылку community нашему аплинку neighbor <UPLINK> send-community Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
NikBSDOpen Posted December 19, 2012 IOS to JUNOS Translator https://i2j.juniper.net/release/index.jsp Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
qwarta Posted December 20, 2012 IOS to JUNOS Translator https://i2j.juniper.net/release/index.jsp Спасибо за утилиту! Вот что получилось: routing-options { autonomous-system 54321; static { route 2.2.2.2/32 { discard; tag 666; } } } protocols { bgp { path-selection cisco-non-deterministic; export [ bgp-redistributes bgp-policies-global-export ]; } } policy-options { community all members "*:*"; community static-to-bgp-1 members [ additive 2152:666 ]; policy-statement bgp-policies-global-export { term strip-communities { then { community delete all; next term; } } term explicit-default-action { then next policy; } } policy-statement bgp-redistributes { term static { from { policy rm-static-to-bgp; protocol static; } then accept; } term from-bgp { from protocol bgp; then next policy; } term ios-implicit-deny { then reject; } } policy-statement rm-static-to-bgp { term term-1 { from tag 666; then { community set static-to-bgp-1; accept; } } term ios-implicit-deny { then reject; } } } и конечно же косяки: 1:router bgp 54321 2:redistribute static route-map static-to-bgp Line not yet supported by I2J. JUNOS will redistribute subnets, unlike IOS 3:route-map static-to-bgp permit 5 4:match tag 666 Line not yet supported by I2J 5:set community additive 2152:666 Line not yet supported by I2J 6:ip route 2.2.2.2 255.255.255.255 Null0 tag 666 Хотел бы убедится, что это будет работать перед тем как добавлять в конфиг. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
NikBSDOpen Posted December 20, 2012 Убедиться можно и на таком конфиге, коммит не пройдет, если будет где то ошибка, а так commit confirmed если что. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
PooFF Posted December 20, 2012 Конкретно такая реализация скорее всего сломает все текущие анонсы. На самом деле выложите текущий экспорт полиси, которым фильтруете свои анонсы. Там надо-то всего один терм добавить. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
dmvy Posted December 20, 2012 коротко так: [edit routing-options static] + route 2.2.2.2/32 { + discard; + tag 666; + } [edit protocols bgp group upstreams] + neighbor 192.168.0.1 { + export [ blackhole myAS ]; + } [edit policy-options] + policy-statement blackhole { + from { + protocol static; + tag 666; + } + then { + community add blackhole; + accept; + } + } [edit policy-options] + community blackhole members 2152:666; Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
qwarta Posted December 20, 2012 dmvy спасибо, попробую ! А вообще реально как то узнать без ведома провайдера включен ли у него блекхол? Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
dmvy Posted December 20, 2012 dmvy спасибо, попробую ! А вообще реально как то узнать без ведома провайдера включен ли у него блекхол? что-то типа такого (на примере Ростелеком): $ whois AS12389|grep blackhole remarks: | 12389:55555 - blackhole traffic Если у вашего нет таких community, то связывайтесь с технарями - просите, чтобы сделали. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
qwarta Posted December 24, 2012 коротко так: [edit routing-options static] + route 2.2.2.2/32 { + discard; + tag 666; + } [edit protocols bgp group upstreams] + neighbor 192.168.0.1 { + export [ blackhole myAS ]; + } [edit policy-options] + policy-statement blackhole { + from { + protocol static; + tag 666; + } + then { + community add blackhole; + accept; + } + } [edit policy-options] + community blackhole members 2152:666; Слепил все вместе с моей текущей рабочей конфигурацией, взгляните пожалуйста все ли учтено, неохота уронить весь хостинг: juniper.conf Заранее благодарен Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
dmvy Posted December 24, 2012 нужно сдвинуть превратить + export [ isp-out blackhole myAS ]; в + export [ blackhole isp-out ]; потому что после isp-out ничего отрабатываться не будет - у вас там стоит reject, а он должен быть в самом последнем policy. myAS я для примера писал - у вас это isp-out policy-statement isp-out { term own-as { from { protocol [ static direct ]; prefix-list own-blocks; } then accept; } term final-reject { then reject; } Ваш аплинк судя по RIPE-базе blackhole функционал не поддерживает. учитывая static route 0.0.0.0/0 вы не потеряете управление роутером, если подключителсь к вшенмену ip из p2p BGP /30 линка Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
qwarta Posted December 24, 2012 dmvy Отлично, съел конфигурацию! Добавил IP одного из серверов и он перестал пинговаться в принципе, то что мне нужно. Спасибо!!! Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
dmvy Posted December 24, 2012 Но трафик до вашего juniper дойдет. Аплинк вам дал подтверждение наличия такого community? Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
qwarta Posted January 28, 2013 Но трафик до вашего juniper дойдет. Аплинк вам дал подтверждение наличия такого community? Тщетны были старания, они используют такую опцию :( Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...