понедельник, 30 мая 2016 г.

Как наплодить префиксов в BGP Juniper

Задача: протестировать RIB/FIB устройства с использованием Juniper для генерации префиксов.

Для начала создадим универсальный список префиксов. Я обычно беру любой Juniper MX и выполняю: show route | display xml | match "<rt-destination>" | no-more. Команда вывод список префиксов в формате <rt-destination>70.36.9.0/24</rt-destination>. Не нужные символы в скобках удаляются в блокноте с помощью замены (Ctrl+H). В итоге мы получаем красивый список адресов в формате:
70.36.6.0/24
70.36.30.0/24
70.38.0.0/17
...

Далее будем использовать Excel. Копируем список адресов с блокнота и вставляем во второй столбец документа Excel. 
Первый столбец документа Excel заполняем "     route " именно с таким количеством пробелов, как в примере.
Третий столбец заполняем " discard;".

Далее копируем все активное содержимое Excel документа и вставляем в блокнот, у нас должны получиться следующие строчки:
"     route 1.22.51.0/24 discard;"
"     route 1.22.52.0/24 discard;"
"     route 1.22.53.0/24 discard;"
"     route 1.22.54.0/24 discard;"

В самом начале документа блокнота вставляем:
routing-options {
    static {

В самом конце документа вставляем:
}
}

В конечном виде, наш блокнот будет выглядеть следующим образом:
routing-options {
    static {
     route 1.22.51.0/24 discard;
     route 1.22.52.0/24 discard;
     route 1.22.53.0/24 discard;
     route 1.22.54.0/24 discard;
     ....
     route 69.18.230.0/23 discard;
     route 69.18.232.0/22 discard;
}
}

Сохраняем все это дело в .txt формате. По сути мы получили кусок конфиги, который необходимо засунуть в Juniper. Для этого через FTP, SCP копируем наш txt файлик на Juniper в /var/tmp/.

Заходим в режим конфигурации на Juniper:

root> configure                                 
Entering configuration mode

[edit]
root# load merge "/var/tmp/100k routes.txt" relative    
load complete

[edit]
root# commit and-quit 

commit complete
Exiting configuration mode

root> 

Commit будет выполняться в зависимости от размера файла. 100к маршрутов комитит 3-4 минуты.

Если мы по ошибке залили битый файл и не тот, файл всегда можно удалить из CLI с помощью: file delete "/var/tmp/100k routes.txt"

Комментариев нет:

Отправить комментарий