"Linux Advanced Routing & Traffic Control HOWTO" - читать интересную книгу автора (Hubert Bert, Graf Thomas, Maxwell Gregory, van Mook Remco, van Oosterhout...) 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.4. Дополнительные замечания Есть несколько замечаний, относительно этого документа, которые хотелось бы особо отметить. По большей части этот документ был написан мною, но мне не хотелось бы, чтобы это положение вещей оставалось таким и дальше. Я являюсь убежденным сторонником идей Open Source и потому призываю вас вносить свои изменения, исправления, дополнения и пр. Не стесняйтесь сообщать мне о допущеных ошибках, опечатках или устаревшей информации. Если мой английский кажется вам несколько корявым — не забывайте, что я не являюсь носителем этого языка. Не бойтесь присылать мне ваши замечания и предложения.
Если вы уверены в том, что уровень вашей квалификации позволяет вам оказать поддержку тому или иному разделу документа или вы в состоянии написать и поддерживать новые разделы — добро пожаловать! Это HOWTO доступно через CVS, в формате SGML. Я буду только рад, если число соавторов увеличится.
В поиске слабо освещенных тем вам помогут примечания "FIXME". Желаете внести исправления — всегда пожалуйста! Везде, где вы встретите слово "FIXME", знайте, что вы вступаете на неизведанную территорию. Я не берусь утверждать, что в других местах нет ошибок, но здесь вам следует быть особенно осторожными. Если вы смогли подтвердить правильность того или иного предположения, пожалуйста, сообщите нам, чтобы мы могли удалить примечание "FIXME".