Linux Advanced Routing amp; Traffic Control HOWTO Bert Hubert, Thomas Graf, Gregory Maxwell, Remco van Mook, Martijn van Oosterhout, Paul B Schroeder, Jasper Spaans, Pedro Larroy Глава 1. Посвящение. Глава 2. Введение. 2.1. Ограничения и лицензионное соглашение 2.2. Предварительные сведения 2.3. Что может предложить вам linux 2.4. Дополнительные замечания 2.5. Доступ к CVS и передача обновлений 2.6. Список рассылки 2.7. Структура документа. Глава 3. Введение в iproute2 3.1. Почему iproute2? 3.2. Краткий обзор iproute2 3.3. Необходимые условия 3.4. Текущая конфигурация 3.4.1. Просмотр списка сетевых интерфейсов с помощью утилиты ip 3.4.2. Просмотр списка ip-адресов с помощью утилиты ip 3.4.3. Просмотр списка маршрутов с помощью утилиты ip 3.5. ARP Глава 4. Правила — база политик маршрутизации 4.1. Простая маршрутизация по источнику. 4.2. Маршрутизация через несколько каналов/провайдеров. 4.2.1. Раздельный доступ 4.2.2. Распределение нагрузки. Глава 5. GRE и другие тоннели. 5.1. Несколько общих замечаний о тоннелях: 5.2. Тоннелирование IP в IP. 5.3. GRE тоннели. 5.3.1. Тоннелирование IPV4. 5.3.2. Тоннелирование IPV6. 5.4. Тоннели неядерного уровня. Глава 6. Тоннелирование IPV6 при помощьи Cisco и/или 6bone. 6.1. Тоннелирование IPV6. Глава 7. IPSEC: безопасная передача данных протоколами ip через Интернет 7.1. Пример ручного конфигурирования безопасного соединения между двумя хостами. 7.2. Пример автоматического конфигурирования безопасного соединения между двумя хостами. 7.2.1. Теория. 7.2.2. Пример. 7.2.2.1. Известные проблемы и недостатки. 7.2.3. Автоматизация с использованием сертификатов X.509 7.2.3.1. Создание собственного сертификата x.509. 7.2.3.2. Настройка и запуск. 7.2.4. Как сохранить настройки туннеля в безопасности. 7.3. Туннели ipsec 7.4. Другое программное обеспечение для работы с ipsec 7.5. Взаимодействие с другими операционными системами через ipsec. 7.5.1. Windows. 7.5.2. Check Point VPN-1 NG Глава 8. Маршрутизация групповых сообщений. Глава 9. Дисциплины обработки очередей для управления пропускной способностью 9.1. Понятие очереди и дисциплины обработки 9.2. Простые бесклассовые дисцплины обработки очереди. 9.2.1. pfifo_fast 9.2.1.1. Параметры и использование 9.2.2. Token Bucket Filter 9.2.2.1. Параметры и использование 9.2.2.2. Пример конфигурации 9.2.3. Stochastic Fairness Queueing. 9.2.3.1. Параметры и использование 9.2.3.2. Пример конфигурации 9.3. Какие типы дисциплин нужно использовать. 9.4. Терминология 9.5. Классовые дисциплины обработки очередей. 9.5.1. Порядок движения пакетов внутри полноклассовых дисциплин и классов. 9.5.2. Элементы дисциплины: корень, дескриптор, родительские элементы и элементы одного уровня. 9.5.2.1. Как выполняется классификация с помощью фильтров. 9.5.2.2. Как выполняется извлечение пакетов из очереди. 9.5.3. Дисциплина PRIO. 9.5.3.1. Параметры и порядок использования дисциплины PRIO. 9.5.3.2. Пример конфигурации. 9.5.4. Дисциплина CBQ. 9.5.4.1. Шейпинг в CBQ. 9.5.4.2. Характеристики классов в CBQ. 9.5.4.3. Параметры CBQ, управляющие характером заимствования. 9.5.4.4. Пример конфигурирования. 9.5.4.5. Прочие параметры настройки CBQ: split и defmap. 9.5.5. Hierarchical Token Bucket 9.5.5.1. Пример конфигурации. 9.6. Классификация пакетов с помощью фильтров. 9.6.1. Ряд простых примеров фильтрации. 9.6.2. Наиболее употребимые способы фильтрации. 9.7. Intermediate queueing device. 9.7.1. Пример конфигурирования. Глава 10. Распределение нагрузки по нескольким интерфейсам. 10.1. Предостережение. 10.2. Другие возможности. Глава 11. netfilter и iproute – маркировка пакетов. Глава 12. Расширенная фильтрация. 12.1. Классификатор u32. 12.1.1. Селектор u32. 12.1.2. Селекторы общего назначения. 12.1.3. Селекторы специального назначения. 12.2. Классификатор route. 12.3. Фильтры-ограничители трафика. 12.3.1. Способы ограничения. 12.3.1.1. Оценочная функция в ядре (estimator). 12.3.1.2. Token Bucket Filter. 12.3.2. Действия в случае превышения ограничения. 12.3.3. Примеры. 12.4. Хеш-фильтры. 12.5. Фильтрация трафика IPv6. 12.5.1. Почему не работают tc-фильтры в IPv6? 12.5.2. Маркировка пакетов IPv6 средствами ip6tables. 12.5.3. Использование селектора u32 для пакетов IPv6. Глава 13. Параметры настройки сети в ядре. 13.1. Reverse Path Filtering. 13.2. Малоизвестные настройки. 13.2.1. Параметры настройки IPv4. 13.2.2. Параметры настройки устройств. 13.2.3. Параметры сетевых политик. 13.2.4. Параметры маршрутизации. Глава 14. Специализированные дисциплины управления очередями. 14.1. bfifo/pfifo 14.1.1. Параметры и порядок использования. 14.2. Алгоритм Кларка-Шенкера-Чанга. 14.3. DSMARK. 14.3.1. Введение. 14.3.2. Что такое Dsmark и с чем его "едят"? 14.3.3. Основные принципы. 14.3.4. Как работать с Dsmark. 14.3.5. Как работает SCH_DSMARK. 14.3.6. Фильтр TC_INDEX. 14.4. Ingress qdisc. 14.4.1. Параметры и порядок использования. 14.5. Random Early Detection (RED) 14.6. Generic Random Early Detection. 14.7. Эмуляция VC/ATM. 14.8. Weighted Round Robin (WRR). Глава 15. Решебник. 15.1. Запуск нескольких сайтов с различными sla. 15.2. Защита от syn flood. 15.3. Ограничение пропускной способности для icmp-пакетов, с целью предотвращения dDoS атак. 15.4. Управление приоритетами для трафика различных типов. 15.5. Прозрачное проксирование с помощью netfilter, iproute2, ipchains и squid. 15.5.1. Схема движения пакетов после настройки. 15.6. Решение проблемы с Path MTU Discovery путем настройки MTU. 15.6.1. Решение 15.7. Решение проблемы с Path MTU Discovery путем настройки MSS. 15.8. Формирователь трафика: Низкая задержка, максимальная производительность. 15.8.1. Почему все так сложно? 15.8.2. Формирователь трафика на базе CBQ. 15.8.3. Формирователь трафика на базе HTB. 15.9. Ограничение скорости для отдельного хоста или подсети. 15.10. Пример подключения локальной сети к Интернет через nat, с организацией qos. 15.10.1. Начнем с оптимизации пропускной способности. 15.10.2. Классификация пакетов. 15.10.3. Дополнительная оптимизация 15.10.4. Выполнение настроек во время загрузки системы. Глава 16. Построение мостов и псевдо-мостов с proxy arp. 16.1. Бриджинг и iptables. 16.2. Бриджинг и шейпинг. 16.3. Псевдо-мосты с проксированием ARP. 16.3.1. ARP и проксирование ARP 16.3.2. Реализация Глава 17. Динамическая маршрутизация — OSPF и BGP. 17.1. Настройка ospf в zebra 17.1.1. Предварительные условия. 17.1.2. Конфигурирование. 17.1.3. Запуск zebra 17.2. Настройка BGP4 с помощью ZEBRA. 17.2.1. Конфигурация сети (пример). 17.2.2. Конфигурирование (пример). 17.2.3. Проверка конфигурации. Глава 18. Прочие возможности. Глава 19. Рекомендуемая литература. Глава 20. Благодарности.
2.5. Доступ к CVS и передача обновлений Канонический адрес этого документа: http://www.ds9a.nl/lartc .
Сейчас у нас открыт анонимный доступ к CVS из любой точки мира. Сделано это с целью предоставить вам возможность всегда иметь самую последнюю версию HOWTO и присылать свои исправления без особых затруднений.
Кроме того, это дает возможность авторам работать с исходным текстом документа независимо друг от друга.
$ export CVSROOT=:pserver:[email protected] :/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, а полученый вывод отправьте по адресу: lt;[email protected] gt; , это облегчит нам внесение ваших исправлений. Изменения должны вноситься в файл с расширением .db , все остальные файлы генерируются на его основе.
Предоставляемый Makefile , облегчит вам преобразование документа в форматы postscript, dvi, pdf, html и простой текст. Вам может потребоваться установить у себя docbook, docbook-utils, ghostscript и tetex, чтобы иметь возможность преобразования документа во все вышеперечисленные форматы.
Не тратьте ваши силы на файл 2.4routing.sgml — это устаревшая версия! Свежая версия находится в файле lartc.db .