Выбрать главу

Есть несколько замечаний, относительно этого документа, которые хотелось бы особо отметить. По большей части этот документ был написан мною, но мне не хотелось бы, чтобы это положение вещей оставалось таким и дальше. Я являюсь убежденным сторонником идей Open Source и потому призываю вас вносить свои изменения, исправления, дополнения и пр. Не стесняйтесь сообщать мне о допущеных ошибках, опечатках или устаревшей информации. Если мой английский кажется вам несколько корявым — не забывайте, что я не являюсь носителем этого языка. Не бойтесь присылать мне ваши замечания и предложения.

Если вы уверены в том, что уровень вашей квалификации позволяет вам оказать поддержку тому или иному разделу документа или вы в состоянии написать и поддерживать новые разделы — добро пожаловать! Это HOWTO доступно через CVS, в формате SGML. Я буду только рад, если число соавторов увеличится.

В поиске слабо освещенных тем вам помогут примечания "FIXME". Желаете внести исправления — всегда пожалуйста! Везде, где вы встретите слово "FIXME", знайте, что вы вступаете на неизведанную территорию. Я не берусь утверждать, что в других местах нет ошибок, но здесь вам следует быть особенно осторожными. Если вы смогли подтвердить правильность того или иного предположения, пожалуйста, сообщите нам, чтобы мы могли удалить примечание "FIXME".

2.5. Доступ к CVS и передача обновлений

Канонический адрес этого документа: http://www.ds9a.nl/lartc.

Сейчас у нас открыт анонимный доступ к CVS из любой точки мира. Сделано это с целью предоставить вам возможность всегда иметь самую последнюю версию HOWTO и присылать свои исправления без особых затруднений.

Кроме того, это дает возможность авторам работать с исходным текстом документа независимо друг от друга.

$ export CVSROOT=:pserver:anon@outpost.ds9a.nclass="underline" /var/cvsroot

$ cvs login

CVS password: [введите 'cvs' (без кавычек)]

$ cvs co 2.4routing

cvs server: Updating 2.4routing

U 2.4routing/lartc.db

Если вы внесли какие либо изменения, просто дайте команду cvs –z3 diff –uBb, а полученый вывод отправьте по адресу: <howto@ds9a.nl>, это облегчит нам внесение ваших исправлений. Изменения должны вноситься в файл с расширением .db, все остальные файлы генерируются на его основе.

Предоставляемый Makefile, облегчит вам преобразование документа в форматы postscript, dvi, pdf, html и простой текст. Вам может потребоваться установить у себя docbook, docbook-utils, ghostscript и tetex, чтобы иметь возможность преобразования документа во все вышеперечисленные форматы.

Не тратьте ваши силы на файл 2.4routing.sgml — это устаревшая версия! Свежая версия находится в файле lartc.db.

2.6. Список рассылки

Поток писем к авторам документа увеличивается все больше и больше. Поэтому было решено запустить список рассылки, в котором люди могли бы поговорить друг с другом о проблемах маршрутизации и управлении трафиком. Вы можете подписаться на рассылку по адресу: http://mailman.ds9a.nl/mailman/listinfo/lartc.

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

2.7. Структура документа.

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

Маршрутизация и фильтрация — суть разные понятия. Фильтрация достаточно хорошо описана в HOWTO от Rusty Rassel, которые вы найдете по адресу http://netfilter.samba.org/unreliable-guides/.

Наше внимание главным образом будет сконцентрировано на связке netfilter – iproute2.

Глава 3. Введение в iproute2

3.1. Почему iproute2?

Большинство дистрибутивов Linux, как и большинство ОС UNIX, в настоящее время используют довольно древние утилиты arp, ifconfig и route. Пока что эти инструменты работают достаточно адекватно, но иногда, на ядрах Linux версии 2.2 и выше, они могут вести себя довольно неожиданно.

Сетевая подсистема, в ядрах 2.2 и выше, была полностью переписана. Новый сетевой код дал увеличение производительности и более высокие эксплуатационные характеристики, что делает Linux еще более привлекательным на рынке операционных систем.

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

По мере появления новых разработок, они "наслаивались" поверх существующих реализаций в существующих операционных системах. Это постоянное наслаивание привело к тому, что код, решающий задачи управления сетевым трафиком, временами проявлял весьма странное поведение.