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. Благодарности. Оглавление
3.4.3. Просмотр списка маршрутов с помощью утилиты ip Итак, мы теперь знаем, как можно отыскать адреса 10.x.y.z, и как обратиться к адресу 212.64.94.1. Однако этого недостаточно, поскольку нам необходимо иметь возможность общения с внешним миром. Интернет доступен нам через ppp-соединение, которое объявляет, что хост с адресом 212.64.94.1, готов передать наши пакеты во внешний мир и вернуть результаты обратно.
[ahu@home ahu]$ ip route show
212.64.94.1 dev ppp0 proto kernel scope link src 212.64.94.251
10.0.0.0/8 dev eth0 proto kernel scope link src 10.0.0.1
127.0.0.0/8 dev lo scope link
default via 212.64.94.1 dev ppp0
Этот листинг достаточно "прозрачен". Первые 3 строки сообщают сведения, которые нами уже обсуждались выше. Последняя строка говорит о том, что внешний мир доступен через 212.64.94.1 - шлюз, заданный по-умолчанию. То что это шлюз, видно благодаря наличию слова "via" (в переводе с англ. - "через"). Этот шлюз (с адресом 212.64.94.1) готов перенаправлять наши пакеты в Интернет и возвращать обратно результаты наших запросов.
Для примера, более "старая" утилита route , дает такой результат на моей машине:
[ahu@home ahu]$ route -n Kernel
IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
212.64.94.1 0.0.0.0 255.255.255.255 UH 0 0 0 ppp0
10.0.0.0 0.0.0.0 255.0.0.0 U 0 0 0 eth0
127.0.0.0 0.0.0.0 255.0.0.0 U 0 0 0 lo
0.0.0.0 212.64.94.1 0.0.0.0 UG 0 0 0 ppp0