Jump to content

Recommended Posts

Posted (edited)

Приветствую, господа.

 

Только начал осваивать правильное железо.

Не могу на mx5 настроить простейший BGP :(((

А точнее - проанонсить свою сеть и (РЕШЕНО: отфильтровать default от аплинка)

 


[edit routing-instances test]
lv10@jborder# show
description test;
instance-type virtual-router;
interface ge-1/1/0.0;
routing-options {
   graceful-restart;
   autonomous-system 440XX;
}
protocols {
   bgp {
       traceoptions {
           file test-bgp.log size 1m files 50;
       }
       advertise-inactive;
       log-updown;
       damping;
       remove-private;
       local-as 440XX;
       group test_upstreams {
           type external;
           multipath multiple-as;
           neighbor 188.190.X.X {
               import [ TEST-IN default-route-reject ];
               peer-as 1971XX;
           }
       }
   }
}

edit routing-instances test]

[edit policy-options policy-statement default-route-reject]
lv10@jborder# show
from {
   route-filter 0.0.0.0/0 exact;
}
then reject;


lv10@jborder# run show route receive-protocol bgp 188.190.X.X

inet.0: 13 destinations, 13 routes (13 active, 0 holddown, 0 hidden)

test.inet.0: 483971 destinations, 483972 routes (483758 active, 10 holddown, 214 hidden)
Restart Complete
 Prefix		  Nexthop	       MED     Lclpref    AS path
* 0.0.0.0/0               188.190.X.X                            1971XX 3YY00 I
* 1.0.0.0/24              188.190.X.X                            1971XX 43YY0 42896 15169 I

 

1. Где я скосячил, что 0.0.0.0/0 не отсекается?

предполагаю что проблема в порядке расположения полисеров в import….???? если так - как их поменять местами?

 

2. Как заанонсировать свою /22?

 

конструкция, найденая на просторах интернета тоже не помогла:

 

lv10@jborder# run show route advertising-protocol bgp 188.190.X.X

[edit]
lv10@jborder#

 


policy-options {
prefix-list pl-MY-NET {
xx.xx.xx.0/12;
yy.yy.yy.0/23;
}
затем
policy-statement to-UPSTREAM {
term MY {
from {
prefix-list pl-MY-NET;
}
then accept;
}
И уже потом применяете его в БГП:

neighbor PEER-DEFAULT {
description "world";
export to-UPSTREAM
local-address PEER-DEFAULT-MY-IP;
as-override; 

 

 

Заранее спасибо огромное.

Буду очень благодарен за примеры конфигов!

Edited by LV10
  • Replies 65
  • Created
  • Last Reply

Top Posters In This Topic

Posted

Так, вопрос с отсеканием дефолта решил.

Проблема была таки в порядке расположения полисеров в import

 


delete nei X.X.X.X import
set nei X.X.X.X import [ default-route-reject TEST-IN ];

Posted (edited)

Покажу простой и наглядный пример:

 

Входящий фильтр:

Принимаем дефолт:
set policy-options policy-statement ISP-IN term 10 from route-filter 0.0.0.0/0 exact
set policy-options policy-statement ISP-IN term 10 then local-preference 150
set policy-options policy-statement ISP-IN term 10 then accept
Принимае префиксы длинной 15-16:
set policy-options policy-statement ISP-IN term 20 from route-filter 0.0.0.0/0 prefix-length-range /15-/16
set policy-options policy-statement ISP-IN term 20 then local-preference 150
set policy-options policy-statement ISP-IN term 20 then accept
Дропаем все остальное:
set policy-options policy-statement ISP-IN term reject-other then reject

 

Исходящий фильтр:

Отдаем сеть длинной точно 23 бита пролученную от аггрегированного роута:
set policy-options policy-statement ISP-OUT term 10 from protocol aggregate
set policy-options policy-statement ISP-OUT term 10 from route-filter x.x.x.0/23 exact
set policy-options policy-statement ISP-OUT term 10 then accept
Отдаем сеть длинной точно 23 бита пролученную от протокола bgp:
set policy-options policy-statement ISP-OUT term 20 from protocol bgp
set policy-options policy-statement ISP-OUT term 20 from route-filter y.y.y.0/23 exact
set policy-options policy-statement ISP-OUT term 20 then accept
set policy-options policy-statement ISP-OUT term 30 from protocol direct
Отдаем сеть длинной точно 22 или более бита непосредственно присоедененную к устройству (то что будет анонсировано зависит от того с какой маской интерфейс вы повесите, 
если z.z.z.1/22 будет отдано /22, если z.z.z.1/24 и z.z.y.1/24 Будет отдано 2 префикса по /24):
set policy-options policy-statement ISP-OUT term 30 from route-filter z.z.z.0/22 orlonger
set policy-options policy-statement ISP-OUT term 30 then accept
Дропаем все остальное:
set policy-options policy-statement ISP-OUT term reject-other then reject

 

Фильтры в джунипере очень просты, логичны и понятны.

Edited by myst
Posted

А "своя сеть" на джуне как заведена? Статик роут на нее, или reject может быть?

 

"своя сеть" пока на jun не заведена вовсе.

пока только есть IP от аплинка, навешенный на порту, где и пытаюсь поднять BGP

Posted

"своя сеть" пока на jun не заведена вовсе.

пока только есть IP от аплинка, навешенный на порту, где и пытаюсь поднять BGP

 

Ну а что же он будет вам анонсировать тогда? :) Префикс-фильтры только фильтруют данные попадающие в процесс бгп, откуда им что-то попадет если у вас нет роута на эту сеть, или она не является присоединенной прямо к джуну? Такова логика всего BGP, у циски точно так же. Не так только у квагги, которой емнип вообще пофигу чо анонсить :)

Posted (edited)

"своя сеть" пока на jun не заведена вовсе.

пока только есть IP от аплинка, навешенный на порту, где и пытаюсь поднять BGP

 

Ну а что же он будет вам анонсировать тогда? :) Префикс-фильтры только фильтруют данные попадающие в процесс бгп, откуда им что-то попадет если у вас нет роута на эту сеть, или она не является присоединенной прямо к джуну? Такова логика всего BGP, у циски точно так же. Не так только у квагги, которой емнип вообще пофигу чо анонсить :)

 

так точно!

в голове то квагга осталась, и конфиг

 

conf t

router bgp XXXX

network y.y.y.y/24

...

network y.y.y.y/22

 

спасал отца демократии.

Но не тут-то было!

 

Хорошо, тогда мне нужно навесить "свою сеть/22" на другой порт junа

и тогда якобы пойдет анонс.

Но как быть если во внутреннюю сеть будет смотреть X.X.X.X/22, а анонсировать хочу 4х Y.Y.Y.Y/24

Edited by LV10
Posted

Отдаем сеть длинной точно 23 бита пролученную от протокола bgp:

set policy-options policy-statement ISP-OUT term 20 from protocol bgp

set policy-options policy-statement ISP-OUT term 20 from route-filter y.y.y.0/23 exact

 

Ну и конечно это тоже не сработает нормально. Это дословно разрешит сеть выученную от БГП соседа (iBGP/eBGP). А ваша сеть, насколько я вижу, должна в бгп-процесс попасть из роутинг-базы. Куда ее или надо руками "покласть", или тоже как-нибудь выучить.

Posted

сделайте на джуне нуль роут до своей сети с метрикой 250 например и в исходящем фильтре укажите "from static"

 

Отдаем сеть длинной точно 23 бита пролученную от протокола bgp:

set policy-options policy-statement ISP-OUT term 20 from protocol bgp

set policy-options policy-statement ISP-OUT term 20 from route-filter y.y.y.0/23 exact

 

Ну и конечно это тоже не сработает нормально. Это дословно разрешит сеть выученную от БГП соседа (iBGP/eBGP). А ваша сеть, насколько я вижу, должна в бгп-процесс попасть из роутинг-базы. Куда ее или надо руками "покласть", или тоже как-нибудь выучить.

Ну это я думаю все должны понимать...

Posted

Но как быть если во внутреннюю сеть будет смотреть X.X.X.X/22, а анонсировать хочу 4х Y.Y.Y.Y/24

 

 

Будет весело. На такие случаи есть все-таки discard/reject, который весом меньше чем коннектед.

set routing-options static route x.x.x.0/24 discard и еще три раза :)

 

Но, батенька, вы уверены что хотите сделать интерфейс на железке с маской /22 ?

 

Ну это я думаю все должны понимать...

 

 

Ну не факт. Мне кажется что у ТС создалось не правильное понимание фильтра.

Posted

Отдаем сеть длинной точно 23 бита пролученную от протокола bgp:

set policy-options policy-statement ISP-OUT term 20 from protocol bgp

set policy-options policy-statement ISP-OUT term 20 from route-filter y.y.y.0/23 exact

 

Ну и конечно это тоже не сработает нормально. Это дословно разрешит сеть выученную от БГП соседа (iBGP/eBGP). А ваша сеть, насколько я вижу, должна в бгп-процесс попасть из роутинг-базы. Куда ее или надо руками "покласть", или тоже как-нибудь выучить.

Да вот же http://kb.juniper.net/InfoCenter/index?page=content&id=KB21332&actp=RSS как один из вариантов.

Posted

Да вот же http://kb.juniper.ne...B21332&actp=RSS как один из вариантов.

 

 

Дык ему же в обратную сторону надо не? Не агрегировать...

Ну если в обратную все уже сказано. Не важно от какого источника, главное чтоб эти сети были в таблицы маршрутизации железки.

Самое простое-нуллроут с метрикой или тупо повесить на интерфейс с нужной маской.

Posted (edited)

хоть ты тресни не могу понять каким образом правильно управлять анонсами.

квагга засела в мозгу очень плотно.

 

не пойму как обучить роутер сетям:

 

X.X.X.1/24

X.X.X.2/24

X.X.X.3/24

X.X.X.4/24

 

имея на

 

ge-1/1/1 {
   unit 0 {
       family inet {
           address 91.200.X.X/22;
       }
   }
}

 

я уже не говорю о выставлении препендов и локалпрефов....

кто-то сможет оказать платную консультацию?

Edited by LV10
Posted

Добился анонсирования следующим образом, но похоронил сети на джунипере из-за route 91.200.X0.0/24 discard;:

 

gw# ping 91.200.X.1

PING 91.200.X.1 (91.200.X.1) 56(84) bytes of data.

From 188.190.X.X icmp_seq=1 Destination Net Unreachable

From 188.190.X.X icmp_seq=2 Destination Net Unreachable

From 188.190.X.X icmp_seq=3 Destination Net Unreachable

From 188.190.X.X icmp_seq=4 Destination Net Unreachable

 


[edit interfaces ge-1/1/1]
lv10@jborder# show
unit 0 {
   family inet {
       address 91.200.X.1/22;
   }
}


[edit routing-instances test]
lv10@jborder# show
description test;
instance-type virtual-router;
interface ge-1/1/0.0;
interface ge-1/1/1.0;
routing-options {
   graceful-restart;
   static {
       route 91.200.X0.0/24 discard;
       route 91.200.X1.0/24 discard;
       route 91.200.X0.0/22 discard;
   }
   autonomous-system 440XX;
}
protocols {
   bgp {
       traceoptions {
           file test-bgp.log size 1m files 50;
       }
       advertise-inactive;
       log-updown;
       damping;
       remove-private;
       local-as 440XX;
       group test_upstreams {
           type external;
           multipath multiple-as;
           as-override;
           neighbor 188.190.X.X {
               import [ default-route-reject TEST-IN ];
               export TEST-OUT;
               peer-as 1971XX;
           }
       }
   }
}

[edit routing-instances test]
lv10@jborder#

 

мой мозг взорван.

Posted

Это печаль перехода от софтороутеров к железякам. Почему никто не читает мануалы?

Вам же разжевали все до элементарщины, но вы все равно решили аккуратно разложить грабли и побегать по ним :)

Posted

Это печаль перехода от софтороутеров к железякам. Почему никто не читает мануалы?

 

Ну наверное очень трудно найти две книжки "Juniper MX Series" и "Juniper Networks Warrior" от O'REILLY . В них же очень все логично описывается, а это не путь самурая.... Только через самопознание можно достич дзен. :)

Posted

Это печаль перехода от софтороутеров к железякам. Почему никто не читает мануалы?

 

Ну наверное очень трудно найти две книжки "Juniper MX Series" и "Juniper Networks Warrior" от O'REILLY . В них же очень все логично описывается, а это не путь самурая.... Только через самопознание можно достич дзен. :)

 

про дзен поддерживаю.

мануалов перечитал немало,

заказал кукбук от орелли, пока еше в пути.

 

действительно переход от софт-роутеров к правильному железу для мозга непрост )

Posted

заказал кукбук от орелли, пока еше в пути.

 

В каком пути? В этом http://subnets.ru/wrapper.php?p=29

 

 

Хз, мне хватило пара статей в КБ джунипера чтоб понять принцип работы.

 

Да это все понятно.

 

Просто некотрые не регистрируются на juniper.net . А kb.juniper.net , как бы авторизацию требует. Как то так.

Posted

Просто некотрые не регистрируются на juniper.net . А kb.juniper.net , как бы авторизацию требует. Как то так.

Реплик с КБ в интернетах хватает.

Posted

Ну наверное очень трудно найти две книжки "Juniper MX Series" и "Juniper Networks Warrior" от O'REILLY . В них же очень все логично описывается, а это не путь самурая.... Только через самопознание можно достич дзен. :)

 

В опавшей листве сакуры, на пути самурая,

виднеются призраки грабель.

Но самурай бесстрашен.

Зима.

 

 

В принципе, такой путь тоже имеет плюсы - понимание процесса лучше его запоминания. Только долго :)

Posted

Какой замечательный хайку. Нужно вынести его в шапку форума.

 

Понимание процесса само не придет, без "выкурки" небольшого кол-ва "инструкции к приминению". Две книгиги уменьшат время прокачки "скила" по Джуникам на какие то проценты от сухого kb. Да и общие рекомендации по защите RE для mx тоже помогут. Только в понедельник у клиента столкнулся с тем, что ntp сжирает 40% CPU. Сам jun не падал, bgp жил "нормально" каналы не падали, но было ощущение "вязкости" в работе. При show bgp summ у меня волосы поднялись дыбом на каждом апстриме по 200 - 300 флапов, хотя со стороны апстримов ничего подобного небыло. Заблокировал ntp и отпустила "чудо-трава". Так вот, к чему эта ремарка. Время на понимание процесса, не всегда может быть достаточно. Когда железка не в работе, а свободного время много то да, это огромный +, а также бонус к прокачке "скила", в любое другое "беда-печаль".

 

 

show version and haiku

 

IS-IS screams,

BGP peers are flapping:

I want my mommy!

Join the conversation

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

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Create New...
На сайте используются файлы cookie и сервисы аналитики для корректной работы форума и улучшения качества обслуживания. Продолжая использовать сайт, вы соглашаетесь с использованием файлов cookie и с Политикой конфиденциальности.