Bert Hubert, Thomas Graf, Gregory Maxwell, Remco van Mook, Martijn van Oosterhout, Paul B Schroeder, Jasper Spaans, Pedro Larroy Linux Advanced Routing Traffic Control HOWTO Глава 1. Посвящение. Глава 2. Введение. 2.1. Ограничения и лицензионное соглашение 2.3. Что может предложить вам linux 2.5. Доступ к CVS и передача обновлений 2.6. Список рассылки 3.2. Краткий обзор iproute2 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.1. Несколько общих замечаний о тоннелях: 5.3. GRE тоннели. 5.3.2. Тоннелирование IPV6. 5.4. Тоннели неядерного уровня. Глава 7. IPSEC: безопасная передача данных протоколами ip через Интернет 7.1. Пример ручного конфигурирования безопасного соединения между двумя хостами. 7.2. Пример автоматического конфигурирования безопасного соединения между двумя хостами. 7.2.1. Теория. 10.0.0.216 10.0.0.11 7.2.2.1. Известные проблемы и недостатки. 7.2.3.2. Настройка и запуск. 7.2.4. Как сохранить настройки туннеля в безопасности. 7.4. Другое программное обеспечение для работы с ipsec Глава 8. Маршрутизация групповых сообщений. Глава 9. Дисциплины обработки очередей для управления пропускной способностью 9.2. Простые бесклассовые дисцплины обработки очереди. 9.2.1.1. Параметры и использование 0 1 2 3 4 5 6 7 TELNET 9.2.2. Token Bucket Filter 9.2.2.1. Параметры и использование 9.2.2.2. Пример конфигурации 9.2.3.1. Параметры и использование 9.3. Какие типы дисциплин нужно использовать. 9.4. Терминология Classes Policing 9.5. Классовые дисциплины обработки очередей. 9.5.2. Элементы дисциплины: корень, дескриптор, родительские элементы и элементы одного уровня. 1:> 1:1> 1:12> 12:> 12:2 9.5.2.2. Как выполняется извлечение пакетов из очереди. 9.5.3.1. Параметры и порядок использования дисциплины PRIO. 9.5.4. Дисциплина CBQ. 9.5.4.1. Шейпинг в CBQ. 9.5.4.2. Характеристики классов в CBQ. 9.5.4.3. Параметры CBQ, управляющие характером заимствования. 9.5.4.5. Прочие параметры настройки CBQ: split и defmap. TC_PRIO… 0 9.5.5. Hierarchical Token Bucket 9.6. Классификация пакетов с помощью фильтров. 10:1 10:2 12:1 12:2 9.6.1. Ряд простых примеров фильтрации. 9.6.2. Наиболее употребимые способы фильтрации. По полю TOS 9.7.1. Пример конфигурирования. Глава 10. Распределение нагрузки по нескольким интерфейсам. 10.1. Предостережение. Глава 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.2. Token Bucket Filter. 12.3.3. Примеры. 12.4. Хеш-фильтры. 12.5. Фильтрация трафика IPv6. Глава 13. Параметры настройки сети в ядре. 13.2. Малоизвестные настройки. 13.2.2. Параметры настройки устройств. 13.2.3. Параметры сетевых политик. 13.2.4. Параметры маршрутизации. Глава 14. Специализированные дисциплины управления очередями. 14.3. DSMARK. 14.3.3. Основные принципы. 14.3.5. Как работает SCH_DSMARK. 14.3.6. Фильтр TC_INDEX. TC INDEX 0…15 14.4. Ingress qdisc. 14.6. Generic Random Early Detection. Глава 15. Решебник. 15.2. Защита от syn flood. 15.3. Ограничение пропускной способности для icmp-пакетов, с целью предотвращения dDoS атак. 15.4. Управление приоритетами для трафика различных типов. 15.5. Прозрачное проксирование с помощью netfilter, iproute2, ipchains и squid. НО Мы предлагаем 4-й вариант: Silom - настройка squid и ipchains 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. DOWNLINK=800 15.8.3. Формирователь трафика на базе HTB. DOWNLINK=800 15.9. Ограничение скорости для отдельного хоста или подсети. 15.10. Пример подключения локальной сети к Интернет через nat, с организацией qos. 15.10.1. Начнем с оптимизации пропускной способности. CEIL=240 15.10.2. Классификация пакетов. 15.10.3. Дополнительная оптимизация 16.1. Бриджинг и iptables. 16.3.1. ARP и проксирование ARP Глава 17. Динамическая маршрутизация - OSPF и BGP. 17.1. Настройка ospf в zebra 17.1.1. Предварительные условия. 17.1.3. Запуск zebra 17.2. Настройка BGP4 с помощью ZEBRA. 17.2.2. Конфигурирование (пример). 17.2.3. Проверка конфигурации. 10.10.0.1 4 50 35 40 0 0 0 00:28:40 1 Глава 18. Прочие возможности. PRIO=5 Глава 19. Рекомендуемая литература. Глава 20. Благодарности. Оглавление
Глава 4. Правила - база политик маршрутизации Если ваш маршрутизатор обслуживает сложную сеть, то нужно удовлетворять нужды разных людей, обслуживание которых, вероятно, должно отличаться. База политик маршрутизации позволяет реализовать это с помощью набора таблиц маршрутизации.
Если вы хотите использовать эту возможность, убедитесь что ядро собрано с поддержкой "IP: advanced router" и "IP: policy routing".
Когда ядру необходимо выбрать маршрут, оно определяет в соответствии с какой таблицей это нужно делать. По-умолчанию, определены три таблицы. Старая утилита route изменяет таблицы main и local, как и утилита ip (по-умолчанию).
Правила по-умолчанию:
[ahu@home ahu]$ ip rule list
0: from all lookup local
32766: from all lookup main
32767: from all lookup default
В этом листинге приведены приоритеты всех правил. Мы видим, что правила применяются ко всем пакетам ( from all ). Мы уже видели таблицу 'main', она выводится командой ip route ls , но таблицы 'local' и 'default' для нас новые.
Если мы хотим сделать что-то интересное, то нужно задать правила, использующие разные таблицы маршрутизации. Это позволит нам переопределить общесистемную таблицу маршрутизации.
За точной семантикой происходящего в ядре, когда есть несколько подходящих правил, обратитесь к документации ip-cref Алексея Кузнецова.