Есть в портах FreeBSD полезная утилита bgpq, автор ее Александр
Снарский и предназначена она для того, что бы облегчить жизнь
системному администратору. Эта утилита незаменима, если вы управляете
транзитной автономной системой у которой насчитывается больше десятка
клиентов с которыми построены bgp сессии. Утилита эта автоматически
строит префикс листы базируясь на номере автономной системы клиента.
Такая автоматизация позволит вам забыть о том, что клиент может
получить еще несколько префиксов(сетей) и забыть вам об этом сообщить,
а потом включить на новые префиксы своих уже клиентов и удивляться что
ничего не бегает.
Установим утилиту из портов:
cd/usr/ports/net-mgmt/bgpq/ makeinstall clean
При установке никаких лишних вопросов не возникает, после установки сразу можно использовать.
Для примера возьмем AS39049, эта автономная система принадлежит провайдеру LCOM, запрос будет выглядеть так:
bgpq -q-P-l LCOM as39049|grep-v'!'
здесь параметр -P означает что генерировать будем prefix-list, а в -l передаем имя префикс листа.
И в ответ на выполнение команды получим:
no ip prefix-list LCOM ip prefix-list LCOM permit 94.231.32.0/20 ip prefix-list LCOM permit 195.66.136.0/23
Все хорошо в принципе, bgpq можно заставить отправить команды на
Cisco и на Juniper, но вот с Quagga он не совсем дружит, поэтому я
использую такой скрипт обвертку:
#Проверяем передали ли нам параметры в виде #имени префикс листа и номера автономной системы if(!$ARGV[0]or!$ARGV[1]) { die"Usage prfxgen.pl <Prefix Name> <as number>"; } $prfx_name=$ARGV[0]; chomp$prfx_name; $as=$ARGV[1]; chomp$as; $bgpq='/usr/local/bin/bgpq'; $vtysh='/usr/local/bin/vtysh'; #Получаем список префиксов @prfx=`$bgpq -P -l $prfx_name $as|/usr/bin/grep -v '!'`; #Проверяем сгенерировали ли что то. #Проверем именно второй элемент массива, поскольку первый #всегда no ip prefix-list if($prfx[1]) { $cmd="$vtysh -c 'configure terminal'"; foreach(@prfx) { chomp; $cmd="$cmd -c '$_'"; } $cmd="$cmd -c 'ip prefix-list $prfx_name deny any'"; `$cmd`; }else{ die"No prefixes for $as"; }
Скриптик поставить на каждого клиента в крон и пару раз в сутки генерировать префикс листы. Меня он еще не подводил.
Буду рад комментариям, постараюсь ответить на вопросы. Заходите на сайт http://www.hilik.org.ua/