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.1. Просмотр списка сетевых интерфейсов с помощью утилиты ip [ahu@home ahu]$ ip link list
1: lo: «LOOPBACK,UP» mtu 3924 qdisc noqueue
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: dummy: «BROADCAST,NOARP» mtu 1500 qdisc noop
link/ether 00:00:00:00:00:00 brd ff:ff:ff:ff:ff:ff
3: eth0: «BROADCAST,MULTICAST,PROMISC,UP» mtu 1400 qdisc pfifo_fast qlen 100
link/ether 48:54:e8:2a:47:16 brd ff:ff:ff:ff:ff:ff
4: eth1: «BROADCAST,MULTICAST,PROMISC,UP» mtu 1500 qdisc pfifo_fast qlen 100
link/ether 00:e0:4c:39:24:78 brd ff:ff:ff:ff:ff:ff
3764: ppp0: «POINTOPOINT,MULTICAST,NOARP,UP» mtu 1492 qdisc pfifo_fast qlen 10
link/ppp
Здесь приведен результат работы команды ip link list на моем домашнем маршрутизаторе (с "поднятым" NAT), у вас он может несколько отличаться. Я поясню часть того, что вы видите, но не все, а только то, что нас интересует в данный момент.
Первым в списке находится локальный (loopback) интерфейс. В принципе, при крнфигурировании ядра, можно отключить поддержку этого интерфейса, но я бы не советовал этого делать. Размер максимального блока передачи данных (MTU - Maximum Transfer Unit) для этого интерфейса составляет 3924 октета, и для него отсутствует очередь, поскольку он не соответствует никакому физическому устройству и существует только в "воображении" ядра.
Я пропущу фиктивный (dummy) интерфейс, так как он может отсутствовать на вашем компьютере. Дальше у меня идут два физических сетевых интерфейса, один - со стороны модема, другой - обслуживает мою домашнюю локальную сеть. И наконец последним в списке стоит интерфейс ppp0.
Обратите внимание на отсутствие IP-адресов в листинге. iproute отделяет понятие "интерфейса" от понятия "IP-адреса". При назначении нескольких IP-адресов одному интерфейсу (IP-алиасинг), понятие IP-адреса становится достаточно расплывчатым.
Зато показываются MAC-адреса - аппаратные идентификаторы сетевых интерфейсов.