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

MED атрибут на Juniper EX4200-24Т

Доброго времени суток!

 

Кто сталкивался подскажите, как на моем свиче настроить фильтр, который будет накладываться на 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;
}
}
}
}

 

Заранее благодарен.

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


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

community otago members [56:2379 23:46944]; - это управляющие BGP коммьюнити по которым принимается решение как принять (инжектировать в FIB) и куда анонсировать маршрут. А то что вы объясняете больше похоже на policy base routing. на джунипере они делаются при помощи route instance. гугл в помощь...

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


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

community otago members [56:2379 23:46944]; - это управляющие BGP коммьюнити по которым принимается решение как принять (инжектировать в FIB) и куда анонсировать маршрут. А то что вы объясняете больше похоже на policy base routing. на джунипере они делаются при помощи route instance. гугл в помощь...

 

может я вообще копаю не в ту сторону, но на самом деле мне необходимо используя дополнительный атрибут MED для определенного /32 уметь изменять для него маршрут. предполагается что мой провайдер понимает этот атрибут и принимает мой /32.

Грубо говоря мне нужно дать анонс на x.x.x.x/32 и сделать ему приоритет на другой канал. Каким образом это можно сделать на джуне?

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


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

это вы направляете исходящий трафик, а входящий все равно будет по анонсам возвращаться. перенос в другой instance происходит в firewall filter, в котором можно указать только prefix-list, который вы будете передавать провайдеру, а он обновлять фильтры. как альтернативный вариант: сделайте второй VLAN с провайдером для анонсирования в другой канал. лучше схему нарисовать.

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


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

Возможно, я все попутал, но итоговая задача состоит в том чтобы в случае DDOS атаки, на IP клиента, превыщающий выделеный нам от ДЦ канал по объему, отправлять весь трафик в blackhole, я так понимаю что это делается с помощью тега MED, у нас стоит железка juniper ex4200, но пока как это настроить я не понимаю, не подскажете более конкретно (если возможно) на примере IP допустим 192.168.1.123 который ddos'ят, что прописать на джунипере?

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


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

habrahabr.ru/post/91574/

ваш случай

если не удастся перенести с циско-кли на джунос - обращайтесь.

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


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

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

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


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

IOS to JUNOS Translator

 

https://i2j.juniper.net/release/index.jsp

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


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

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

 

Хотел бы убедится, что это будет работать перед тем как добавлять в конфиг.

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


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

Убедиться можно и на таком конфиге, коммит не пройдет, если будет где то ошибка, а так commit confirmed если что.

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


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

Конкретно такая реализация скорее всего сломает все текущие анонсы. На самом деле выложите текущий экспорт полиси, которым фильтруете свои анонсы. Там надо-то всего один терм добавить.

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


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

коротко так:

[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;

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


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

dmvy спасибо, попробую !

 

А вообще реально как то узнать без ведома провайдера включен ли у него блекхол?

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


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

dmvy спасибо, попробую !

 

А вообще реально как то узнать без ведома провайдера включен ли у него блекхол?

что-то типа такого (на примере Ростелеком):

$ whois AS12389|grep blackhole
remarks:        | 12389:55555 - blackhole traffic 

 

Если у вашего нет таких community, то связывайтесь с технарями - просите, чтобы сделали.

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


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

коротко так:

[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

 

Заранее благодарен

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


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

нужно сдвинуть превратить

+ 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 линка

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


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

dmvy Отлично, съел конфигурацию! Добавил IP одного из серверов и он перестал пинговаться в принципе, то что мне нужно.

 

Спасибо!!!

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


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

Но трафик до вашего juniper дойдет. Аплинк вам дал подтверждение наличия такого community?

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


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

Но трафик до вашего juniper дойдет. Аплинк вам дал подтверждение наличия такого community?

 

Тщетны были старания, они используют такую опцию :(

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


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

Join the conversation

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

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

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

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

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

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

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