Июн 30 2009

Утилита bgpq

Есть в портах FreeBSD полезная утилита bgpq, автор ее Александр Снарский и предназначена она для того, что бы облегчить жизнь системному администратору. Эта утилита незаменима, если вы управляете транзитной автономной системой у которой насчитывается больше десятка клиентов с которыми построены bgp сессии. Утилита эта автоматически строит префикс листы базируясь на номере автономной системы клиента. Такая автоматизация позволит вам забыть о том, что клиент может получить еще несколько префиксов(сетей) и забыть вам об этом сообщить, а потом включить на новые префиксы своих уже клиентов и удивляться что ничего не бегает.
Read more »

Июн 30 2009

Несколько полезных prefix-listов.

При построении взаимодействия с аплинками(провайдерами) и даунлинками (клиентами), есть несколько правил которые нужно соблюдать. Во первых нельзя принимать и отдавать анонсы «серых сетей» — тех сетей которые выделены для использования внутри локальных сетей, для этого на вход и исход следует применить такой префикс лист:

ip prefix-list GREY seq 10 deny 10.0.0.0/8
ip prefix-list GREY seq 20 deny 172.16.0.0/12
ip prefix-list GREY seq 30 deny 192.168.0.0/16

Второй важный момент заключается в том, что анонсировать наружу сети менее /24 запрещено, поэтому без особой нужды принимать анонсы и отдавать анонсы меньших сетей нельзя, вот мы их и обрежем таким префикс листом:

ip prefix-list LOW-NET-DENY seq 20 permit 0.0.0.0/0 le 24

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

Июн 25 2009

BGP — route-map, as-path, prefix-list. Управляем анонсами.

С точки зрения BGP интернет представляет из себя совокупность автономных систем взаимодействующих между собой. При этом можно разделить два вида автономных систем, это транзитные, через которые проходит путь к другим автономным системам и тупиковые, которые только принимают маршруты, но не ретранслируют маршруты к другим автономным системам. Как мы уже говорили, все маршруты которые приходят от партнеров по BGP, будут, по умолчанию, переданы и другим партнерам. Но если у вас тупиковая автономная система, предоставляющая доступ к интернет своим клиентам в своем адресном пространстве, то анонсы пришедшие от внешних автономных систем передавать не нужно, для этого нужно используя директиву route-map установить фильтр на исходящие анонсы используя директиву as-path.
Read more »

Июн 24 2009

Скрипт backup конфигурации Cisco Catalyst. Настройка rsh на свитче.

Возвращаясь к краеугольной теме любого сисадмина к бекапам, вынужден заметить что бекап требуется не только для серверов но и для коммутаторов(switch) и аппаратных маршрутизаторов. Вылетают флешки с записанным конфигом свитча редко, но во первых это все таки случается, во вторых, имеет место еще и ошибка сисадмина, а если она подкреплена излишней самоуверенностью в виде мгновенного write memory, то бекап становится единственным спасением.
Для бекапа с помощью моего скрипта потребуется в первую очередь настроить Catalyst на выполнение удаленных команд с помощью rsh, для этого надо выполнить такие настройки:
Read more »

Июн 24 2009

Новая доработка pf в OpenBSD

Один из разработчиков OpenBSD Дэвид Гвинн (David Gwynne) сообщил о интеграции новой возможности в pfsync, теперь с помощью pfsync можно обмениваться состоянием файерволов на разных хостах, то есть можно передавать stateful таблицу, информацию о прошедших соединениях.
Что это дает? А в сочетании с CARP это дает упрощение мехаизма отказоустойчивости. То есть сам механизм отказоустойчивости будет быстрей срабатывать, ведь теперь при выходе из строя одного хоста, другой перехватит его соединения, как и было раньше при использовании CARP, но теперь нет необходимости восстанавливать заново все соединения, хост принявший на себя работу первого хоста уже все знает о соединениях.

Жду с нетерпением когда новую версию pf интегрируют в FreeBSD.

Июн 22 2009

BGP c помощью Quagga. Анонсируем дефолт роут(шлюз по умолчанию).

BGP, как мы уже говорили в статье Протокол динамической маршрутизации BGP. Настройка bgp в Quagga предназначен для передачи информации о маршрутах от одной автономной системы к другой, и считается нормальным если маршруты приходят в виде списка всех известных в интернете сетей, так называемый full-view, но иногда надо анонсировать именно дефолт гейт.
Read more »

Июн 19 2009

Протокол динамической маршрутизации BGP. Настройка bgp в Quagga

Очень важным достоинством quagga или zebra, когда zebra развивалась на некоммерческой основе, является то, что синтаксис у нее полностью совместим с синтаксисом CLI Cisco и когда наконец то заработала командная строка quagga, называемая vtysh, удобство настройки quagga стало максимальным. В этой статье я коснусь только самых основ настройки bgp сессий, а в следующих статьях, уже разберем вполне работоспособные примеры.
Read more »

Июн 16 2009

Perl скрипт для Ices

Ices очень простая, но в то же время очень эффективная программа для проигрывания музыки на Icecast, пример настройки я приводил в статье IceCast2 и Ices0 — строим интернет радио, но в той статье я описывал проигрывание файлов из директории случайным образом, все хорошо, но подобная схема не даст гибко обновлять мелодии в директории для проигрывания, в данной схеме прийдется прервать вещание для того, что бы обновить список мелодий, но можно задействовать возможность Ices использовать вызовы скриптов для получения списка мелодий в директории для проигрывания.
Теперь файл настроек Ices будет выглядеть так:
Read more »