Введение
Когда в среде Linux говорится о маршрутизации, то обычно подразумевается использование команды route для задания простейших маршрутов доставки информации. Но ОС Linux способна на гораздо большее. Правильно сконфигурировав и настроив систему, можно получить стабильный и эффективный маршрутизатор. В данной книге излагаются теоретически сведения и методики, знакомство с которыми позволит читателям научиться правильно выбирать протоколы маршрутизации, конфигурировать демоны маршрутизации, защищать сети и компьютеры, настраивать системное ядро и даже контролировать сетевой трафик.
Структура книги
Книга разбита на три части.
- Часть I, "Основы маршрутизации", содержит главы 1-4.
- Часть II, "Средства и технологии маршрутизации в Linux", содержит главы 5-15.
- Часть III, "Приложения", содержит приложения А и Б.
Глава 1, "Протоколы одноадресной маршрутизации"
Как говорится у классика, лучше начать с начала. Протоколы одноадресной маршрутизации являются одними из самых старых в семействе Internet-протоколов, но они по-прежнему используются. В этой главе описывается демонстрационная сеть, вокруг которой строится изложение всех глав части I. На примере этой сети сравниваются протоколы RIP-1, RIP-2 и OSPF.
Глава 2, "Протоколы многоадресной маршрутизации"
В этой главе рассматриваются популярные протоколы многоадресной маршрутизации: DVMRP, MOSPF, PIM-DM и PIM-SM. Работа протоколов описывается на примере демонстрационной сети.
Глава 3, "Введение в протоколы пограничной маршрутизации"
В предыдущих главах шла речь о том, что происходит внутри автономных систем. Но сами автономные системы тоже должны иметь средства общения друг с другом, иначе не было бы сети Internet. В этой главе описываются протоколы одно- и многоадресной пограничной маршрутизации: EGP, BGP, BGMP и MSDP.
Глава 4, "Адресация в стандартах IPv4 и IPv6"
Многие из тех, кто работают в Linux, знают детали адресации в стандарте IPv4. Эта глава начинается со знакомства с подсетями IPv4, после чего описывается протокол CIDR, позволяющий отказаться от строгого разделения сетей на классы A, B и C. В конце описывается система адресации стандарта IPv6.
Глава 5, "Демоны одноадресной маршрутизации в ядре 2.2.x"
В Linux есть целый ряд демонов маршрутизации. Их подробное описание заняло бы целую книгу, поэтому в данной главе рассматриваются лишь присутствующий в большинстве систем демон routed и открытая версия демона gated.
Глава 6, "Демоны многоадресной маршрутизации в ядре 2.2.x"
В этой главе описываются два демона многоадресной маршрутизации, имеющиеся в Linux. Один из них, mrouted, обычно применяется для подключения к многоадресной магистрали MBONE, так как он реализует протокол DVMRP. В остальных случаях используется демон pimd, реализующий протокол PIM-SM.
Глава 7, "Вспомогательные демоны"
Компьютеры и сети не всегда соединяются между собой посредством кабелей Ethernet. Зачастую между ними существуют коммутируемые соединения, что требует применения протокола PPP. В этой главе рассматриваются особенности данного протокола и его возможности. Описывается также применение демона pppd для установления PPP-соединений в Linux. В конце главы рассказывается о демоне rip2ad, позволяющем выполнять базовые функции протокола RIP-2 при наличии только PPP-соединения.
Глава 8, "Средства маршрутизации в ядре версии 2.4.x"
В этой главе речь идет об изменениях подсистемы маршрутизации, произошедших при переходе от ядер серии 2.2.x к ядрам серии 2.4.x, а также о средствах создания виртуальных закрытых (частных) сетей.
Глава 9, "Сетевые команды"
В Linux есть набор стандартных утилит, предназначенных для работы в сети. Большинство этих программ намного сложнее, чем обычно представляют себе пользователи. В данной главе описываются утилиты arp, ifconfig, netstat, ping, route, tcpdump и traceroute.
Глава 10, "Планирование системы маршрутизации"
В этой главе речь идет о принципах и методиках, лежащих в основе сетевого планирования. Здесь рассказывается о том, как правильно управлять таблицами маршрутизации.
Глава 11, "Основы маршрутизации в Linux"
В этой главе излагаются базовые принципы маршрутизации в сетях основных типов: локальных, глобальных и виртуальных.
Глава 12, "Сетевые аппаратные компоненты"
Сети - особенно те, что подключены к Internet, - не могут существовать без телекоммуникационного оборудования. В этой главе рассказывается о различных аппаратных устройствах и технологиях (как аналоговых, так и цифровых), используемых для подключения к сетям.
Глава 13, "Включение в ядро функций маршрутизации"
Когда компьютер планируется использовать для какой-то конкретной цели, важно отменить все лишние функции. Это касается не только программ, но и ядра. Затем нужно включить специальные функции, которые в обычных системах отключены. В данной главе описываются процессы компиляции и настройки ядра Linux.
Глава 14, "Безопасность и система NAT"
В этой главе описываются средства, позволяющие превратить маршрутизатор в передовую линию обороны сети: фильтрация пакетов, IP-маскирование и система NAT.
Глава 15, "Мониторинг, анализ и управление сетевым трафиком"
Эта глава стоит немного в стороне от темы маршрутизации, так как в ней рассказывается о средствах сетевого анализа и мониторинга. С помощью таких программ, как NET-SNMP, MRTG и IPTraf, можно собрать информацию о том, как работает сеть и какие в ней есть проблемы.
Приложение А, "Ресурсы, посвященные маршрутизации в Linux"
Это приложение предназначено для того, чтобы читатели могли быстро найти ресурсы, посвященные рассматриваемым в книге программам и протоколам. Здесь же приводятся ссылки на стандарты и дополнительные материалы, посвященные сетям.
Приложение Б, "Аппаратные решения"
В этом приложении приводятся адреса Web-узлов компаний, выпускающих маршрутизаторы и специальные сетевые платы для Linux.
Для кого предназначена книга
Эта книга предназначена опытным пользователям и администраторам Linux, которых интересует не только создание простейших сетей и подсетей, но и реализация более сложных решений, связанных с различными протоколами маршрутизации.
Для кого не предназначена книга
Эта книга не предназначена новичкам Linux и тем читателям, которые только начинают свое знакомство с миром компьютерных сетей. Зачастую инструкции, связанные с инсталляцией и компиляцией пакетов, минимальны, так как подразумевается, что читатели сами умеют это делать.
Об авторах
Джо Брокмайер (Joe Brockmeier) работает в Linux с 1996 г. и примерно с этого же времени занимается журналистикой. Он регулярно пишет статьи для Linux Magazine и UnixReview.com и имеет ряд других интерактивных и печатных публикаций.
Ди-Энн Лебланк (Dee-Ann LeBlanc) является автором и соавтором десяти книг по компьютерной тематике, еще целый ряд готовится к выпуску. Она специализируется на Linux и написала такие книги: Linux Install, Configuration Little Black Book, General Linux I Exam Prep, Linux System Administration Black Book издательства Coriolis Group, а также Linux for Dummies Third Edition издательства IDG/Hungry Minds. Она была в числе первых, кто получили сертификаты RedHat Certified Engineer.
Ди-Энн преподает компьютерные курсы по Linux, UNIX и другим темам. Она также разрабатывает интерактивные обучающие материалы для различных организаций. Все это помогает ей быть в курсе того, что люди хотят знать, когда изучают Linux и сопутствующие утилиты. С Ди-Энн можно связаться по адресу [email protected], есть у нее и свой Web-узел: www.Dee-AnnLeBlanc.com.
Рональд Маккарти-младший (Ronald W. McCarty, Jr.) является старшим системным инженером компании Sonus Networks, одного из лидеров сетей следующего поколения. Рональд публиковал статьи, посвященные протоколу RADIUS, IP-безопасности и другим сетевым темам. В настоящее время он ведет ежемесячную колонку "Net Admin" в журнале Sys Admin.
О научных консультантах
Эти люди внесли значительный вклад в написание книги. Они просмотрели материал книги на предмет технической грамотности и организации. Их советы и рецензии позволили авторам убедиться в том, что они не обманут ожидания читателей.
Брэд Харрис (Brad Harris) работает в сфере информационных технологий шесть лет, начав свою деятельность с проектирования биометрических моделей для Министерства обороны США. Он получил фундаментальную подготовку в области сетевых протоколов, операционных систем и различных языков программирования. В настоящее время он работает старшим инженером-программистом в компании ACS, Inc., где специализируется на проблемах проникновения в сети и системы.
Джозеф Хамм (Joseph Hamm) - свободный консультант, имеет опыт проектирования и внедрения коммуникационных IP-систем. В настоящее время он занимается написанием статей об эволюции компьютерных платформ и операционных систем.
Благодарности
От Джо:
Быть автором приятно, по крайней мере можно открыто выразить признательность тем людям, которые повлияли на мою жизнь.
Я хочу поблагодарить мою семью за то, что она... моя семья! Большое спасибо также Дениз Бей и ее близким за то, что стали моей "второй семьей".
Спасибо всем моим друзьям, которые слушали мои рассказы о Linux и компьютерах, не выдавая свою скуку. Я вам очень признателен! Бонни, Сьюзан, Джейсон, Пит, Бевин, Барб - вы замечательны.
Большое спасибо друзьям из Linux Magazine, Адаму, Ларе и Бобу (вы думали, я о вас забыл?). Было приятно работать с вами. Выражаю также благодарность ребятам из UnixReview.com.
За последние три года я встретил много людей из сообщества GNU/Linux, которые оказали на меня большое влияние. И хоть я не могу видеться и общаться с вами регулярно, мне приятно, что все это время вы работаете в GNU/Linux.
От Ди-Энн:
В первую очередь я бы хотела поблагодарить участников списка рассылки IP Multicast (www.stardust.com) за то, что они помогли мне разобраться с технологией многоадресной маршрутизации. Я признательна также тем людям, которые дали свою оценку того, что я собиралась написать. Во многом благодаря их комментариям была сформирована структура книги.
Дополнительно выражаю благодарность научным консультантам, которые поддерживали наш проект. Их задача заключалась не только в поиске моих глупых ошибок, но и в том, чтобы читатели почерпнули из книги максимум полезной информации.
Наконец, я благодарна моим соавторам Джо и Рону. В процессе работы над книгой я заболела, и после долгих поисков мы нашли этих двух джентльменов, которые помогли нам не только закончить книгу в срок, но и сделать ее качественной и полезной для читателей.
От Рона:
Я выражаю особую благодарность научным консультантам Брэду Харрису и Джозефу Хамму.
От Ди-Энн, Рона и Джо:
Мы хотим поблагодарить Криса Зана (Chris Zahn) и Энн Куинн (Ann Quinn), наших редакторов, за их профессионализм и старательность, которые они проявили в процессе работы над книгой. Благодарим также остальных сотрудников издательства New Riders, трудившихся вместе с нами над этой книгой: Стефани Уолл (Stephanie Wall), Кристи Кноп (Kristy Knoop), Крисси Андри (Chrissy Andry), Джой Дин Ли (Joy Dean Lee) и Рона Уайза (Ron Wise).