Larroy Pedro
Шрифт:
Эта, заново переписанная, реализация сетевой подсистемы позволила достичь таких характеристик, которые раньше были просто недоступны.
3.2. Краткий обзор iproute2
Linux обладает довольно сложной системой управления пропускной способностью, названной Traffic Control (Управление Трафиком). Она поддерживает различные методы классификации, деления по приоритетам, совместного использования, и ограничения как входящего, так и исходящего трафика.
Мы начнем обсуждение проблемы с краткого обзора iproute2 и ее возможностей.
3.3. Необходимые условия
Вам следует установить необходимый инструментарий — набор утилит командной строки. Этот пакет называется iproute, по крайней мере в Red Hat и Debian. Если в вашем дистрибутиве его нет, то пакет можно скачать по адресу: ftp://ftp.inr.ac.ru/ip-routing/iproute2-2.2.4-now-ss??????.tar.gz.
Можете попробовать взять самую последнюю версию.
Отдельные утилиты пакета требуют, чтобы в ядре были разрешены некоторые опции. Следует отметить, что все дистрибутивы Red Hat, до версии 6.2 включительно, поставляются с ядром, в котором по-умолчанию большинство необходимых опций отключено.
В Red Hat 7.2 такое положение вещей исправлено.
Кроме того, в ядре должна быть включена поддержка netlink, этого требует iproute2.
3.4. Текущая конфигурация
Для вас может оказаться сюрпризом, но iproute2 уже сконфигурирована! Существующие команды ifconfig и route уже используют расширенные системные вызовы, но главным образом с настройками, заданным по-умолчанию.
Утилита ip является основной в пакете. Попробуем с ее помощью исследовать имеющиеся в системе сетевые интерфейсы.
3.4.1. Просмотр списка сетевых интерфейсов с помощью утилиты ip
Здесь приведен результат работы команды ip link list на моем домашнем маршрутизаторе (с "поднятым" NAT), у вас он может несколько отличаться. Я поясню часть того, что вы видите, но не все, а только то, что нас интересует в данный момент.
Первым в списке находится локальный (loopback) интерфейс. В принципе, при крнфигурировании ядра, можно отключить поддержку этого интерфейса, но я бы не советовал этого делать. Размер максимального блока передачи данных (MTU — Maximum Transfer Unit) для этого интерфейса составляет 3924 октета, и для него отсутствует очередь, поскольку он не соответствует никакому физическому устройству и существует только в "воображении" ядра.
Я пропущу фиктивный (dummy) интерфейс, так как он может отсутствовать на вашем компьютере. Дальше у меня идут два физических сетевых интерфейса, один — со стороны модема, другой — обслуживает мою домашнюю локальную сеть. И наконец последним в списке стоит интерфейс ppp0.
Обратите внимание на отсутствие IP-адресов в листинге. iproute отделяет понятие "интерфейса" от понятия "IP-адреса". При назначении нескольких IP-адресов одному интерфейсу (IP-алиасинг), понятие IP-адреса становится достаточно расплывчатым.
Зато показываются MAC-адреса — аппаратные идентификаторы сетевых интерфейсов.
3.4.2. Просмотр списка ip-адресов с помощью утилиты ip