Миграция с Cisco на Linux

Краткое описание целей и способов осуществления

(C) 2003 Юрий Бохонкович (Yury Bokhoncovich)
Разрешается свободное бесплатное распространение, вопроизведение и использование
работы (исключая СМИ) при условии сохранения целостности текста, в частности,
авторских сведений и условий распространения.
Для опубликования в СМИ необходимо разрешение автора.
Баннерная реклама на сайтах платой за распространение не считается.:-)

Введение

 Маршрутизаторы Cisco известны и широко распространены, не в последнюю очередь благодаря хорошему сочетанию надёжности, простоты установки и управления, относительно хорошей поддержке со стороны производителя. Всё это так, однако всему хорошему рано или поздно приходит конец. Так и здесь, если в верхней и нижней ценовой группе (я имею в виду GSR и 8xx, соответственно) вряд ли есть сильно большой выбор, с серединкой же успешно справляется разнообразный класс оборудования, и PC здесь не исключение. При всё при том последние сильно дешевле, но, как правило, имеют кучу недостатков, в первую очередь - низкую надёжность. Этот недостаток - не обусловлен технологией принципиально, а скорее всего связан с типовым подходом - взять старьё либо no-name офисного исполнения и потом сранивать со стоечными чудищами заводской сборки. Зато на них нет проблем нарастить память и мощность процессора, слово Cisco Systems:

"We recommend a minimum of 128 MB of RAM in the router to store a complete
global BGP routing table from one BGP peer."
 Другими словами: для того чтобы ииметь хотя бы пару каналов в Интернет, надо не меньше 256 Мб уже ПРЯМО СЕЙЧАС. Небольшая интерполяция показывает, что года через 2-3 надо будет 350-400. А что если прибавится ещё один канал?  Далее, сказки о преимуществах "аппаратных маршрутизаторов" класса 3x и "супер-качестве IOS" оставляю на совести тех, кто их рассказывает: он либо никогда живьём с ними не работал, либо говорит неправду, либо недопонимает многих вопросов (в частности, как в таблицу CEF попадают записи;), либо, наконец, просто редкий счастливчик :). Туда же идут пионеры, предлагающие рутить 10-гигабитный эзернет на стареньком p-200 (кстати, где они найдут платы что подошли бы для TXP4? ;). Поэтому, плавненько переходим к 2ой части.

Цель

 Получение недорого качественного рутера с хорошей поддержкой. Рутер также должен уметь работать с E1, BGP, policy routing и иметь хороший выбор недорогих и качественных сетевых плат и быть способным заменить Cisco соответствующей модели и обеспечить full-view BGP (около 125000 маршрутов на текущий день). Для справки: таковая Cisco будет стоить порядка 13000 USD.

Предварительное чтение

 Кроме того, предполагается, что читатель достаточно хорошо знаком с технологиями TCP/IP и Linux (в частности, знаком с материалом, изложенным в NET-HOWTO).

Состояние дел

 Имеется: Cisco 3620, на ней стоит 1CE1B, 2E2W, 64Мб ОЗУ, 32 МБ флэша, крутится маршрутизация из 3 внешних каналов (1 эзернет, 2 - подканалы G.703), 1 внутреннего (эзернет), итого 4 штука. Поскольку каналов/провайдеров несколько (multi-homing), а адресное пространство по каждому непересекающееся (PA, provider-aggregable), вынуждены применять т.н. policy routing, когда маршрутизация выполняется в соответствии не только с адресом назначения, но и адресом источника. Дело сильно осложняется тем, что 2 канала фактически логические и идут по одному физическому потоку G.703 (E1 поток без структуры), получается т.н. fractional E1. Ясное дело, что никакого full-view BGP на ней не подымешь, она с нашим-то траффиком еле-еле справляется, бедненькая; из-за policy routing высокая загрузка процессора, особенно при fast forward, cef, конечно, выручает, но зато пожирает память и временами глючит.:( Кроме того, туда просто некуда поставить ещё 1 эзернет-порт (есть вялотекущая потребность), точнее это будет стоить совсем недёшево (приёдтся заменить 1CE1B на 2CE).

Ну и что в итоге получилось

 Принимаем волевое решение - делать новый рутер на PC. Памятуя про тезис, что "PC - ненадёжная архитектура", подбираем оборудование прежде всего по принципу надёжности, лёгкости замены при стремлении к уменьшению общей цены решения, но учитывая также стоимость возможных расширений в будущем. Выбираем:

 Остаётся все собрать, установить и настроить.

  1. Начинаем с сервера:
  2. далее настраиваем систему (установка ничего особо интересного не представляет), особенности настройки в сравнении с обычной Linux-системой указаны ниже:

 Ух-ты, а ведь действительно всё заработало!
It was a Hard Day's Night!

Ээ...а статистика? Ведь раньше мы собирали её на киске?
Don't worry, Be happy!
продолжение следует...