Добро пожаловать, уважаемый читатель!
Этот документ расскажет вам – как повысить эффективность управления трафиком в системах, построеных на базе Linux 2.2/2.4. Многие из вас даже не подозревают, что уже работают с инструментальными средствами, которые позволяют делать весьма интересные вещи. Широко известные команды, такие как route и ifconfig – фактически являются довольно тонкой оберткой вокруг очень мощной инфраструктуры iproute2.
Я надеюсь, что это HOWTO станет столь же востребованным как и документация к netfilter от Rusty Rassel.
Вы всегда можете связаться с нами. Однако, если ваши вопросы непосредственно не связаны с этим документом, вам следует обращаться к соответствующему списку рассылки. Мы не настолько свободны, чтобы заниматься исключительно ответами на вопросы, но нередко оказываем помощь участникам списков рассылки.
Если вас интересуют лишь простейшие приемы управления трафиком, то прежде, чем вы начнете "блуждать" по этому HOWTO, загляните в главу "Прочие возможности" и прочитайте раздел, посвященный CBQ.init.
2.1. Ограничения и лицензионное соглашение
Этот документ распротраняется в надежде на то, что он окажется полезным для вас, но без каких-либо гарантий, явных или подразумеваемых, включая, но не ограничиваясь ими, подразумеваемые гарантии коммерческого успеха и пригодности в конкретных целях.
Короче говоря, если ваша магистраль STM-64 была взломана и по ней стала распространяться порнография вашим самым уважаемым клиентам — это не наша вина. Уж простите.
Держателями авторских прав на этот документ являются: Bert Hubert, Gregory Maxwell, Martijn van Oosterhout, Remco van Mook, Paul B. Schroeder и другие. Этот материал может распространяться только на условиях Open Publication License, v1.0 или более поздней (самую последнюю версию текста лицензии вы найдете по адресу http://www.opencontent.org/openpub/).
Допускается свободное копирование и распространение (в том числе и продажа) этого документа в любом виде. Настоятельно просим о всех, вносимых вами изменениях (а так же ваши комментарии), сообщать руководителю проекта.
Если вы опубликовали твердую копию этого HOWTO, просим вас передать авторам документа несколько экземпляров в "ознакомительных целях" :-)
2.2. Предварительные сведения
Как следует из заголовка — это "Advanced" HOWTO, т.е. рассчитано на подготовленного читателя. Хоть мы и не имеем дело с космической техникой, но некоторая база знаний вам все же потребуется.
Ниже приводится пара ссылок на документы, в которых содержится основная, необходимая вам информация:
Rusty Russell: networking-concepts-HOWTO
Очень хорошее введение. Рассказывает — что такое сети и как они взаимодействуют между собой.
Linux Networking-HOWTO (ранее называлось Net-3 HOWTO)
Отличное руководство, очень подробное. После его прочтения вы самостоятельно сможете подключиться к Internet. Как правило, в большинстве дистрибутивов, располагается в /usr/doc/HOWTO/NET3-4-HOWTO.txt, но так же доступно и в Интернет, по адресу http://www.linuxports.com/howto/networking (русский перевод: http://www.linux.opennet.ru/docs/HOWTO-RU/NET-3-HOWTO.html ).
2.3. Что может предложить вам linux
Вот далеко не полный список из того, что может предложить вам операционная система Linux:
• Управлять пропускной способностью НА отдельных компьютерах.
• Управлять пропускной способностью К отдельным компьютерам.
• Поможет "раздать" пропускную способность по-справедливости.
• Защитить вашу сеть от DoS-атак
• Предотвратить нападения из вашей сети на серверы в Интернет.
• Распараллелить несколько серверов, с целью равномерного распределения нагрузки.
• Ограничить доступ к вашим компьютерам.
• Ограничить доступ ваших пользователей к другим узлам сети.
• Выполнять маршрутизацию на основе UID (да!), MAC-адресов, исходящих IP-адресов, номеров портов, типа обслуживания, времени суток и содержимого.
На сегодняшний день эти дополнительные возможности не получили широкого распространения. На то есть ряд причин: хотя имеющаяся документация достаточно подробна, она почти не содержит практических рекомендаций. А вопросы управления трафиком вообще не освещены.
2.4. Дополнительные замечания
Есть несколько замечаний, относительно этого документа, которые хотелось бы особо отметить. По большей части этот документ был написан мною, но мне не хотелось бы, чтобы это положение вещей оставалось таким и дальше. Я являюсь убежденным сторонником идей Open Source и потому призываю вас вносить свои изменения, исправления, дополнения и пр. Не стесняйтесь сообщать мне о допущеных ошибках, опечатках или устаревшей информации. Если мой английский кажется вам несколько корявым — не забывайте, что я не являюсь носителем этого языка. Не бойтесь присылать мне ваши замечания и предложения.
Если вы уверены в том, что уровень вашей квалификации позволяет вам оказать поддержку тому или иному разделу документа или вы в состоянии написать и поддерживать новые разделы — добро пожаловать! Это HOWTO доступно через CVS, в формате SGML. Я буду только рад, если число соавторов увеличится.