Вход/Регистрация
Сетевые средства Linux
вернуться

Смит Родерик В.

Шрифт:

Активизация опций меню QoS and/or Fair Queueing сама по себе не приведет к изменению работы системы. Подобно другим опциям, которые управляют средствами расширенной маршрутизации, эти опции предполагают использование пакета

iproute2
. Если вы не уверены в том, что данные средства понадобятся вам, скомпилируйте компоненты ядра, предназначенные для их поддержки, в виде модулей. В результате соответствующие компоненты не будут занимать ресурсы компьютера, но вы всегда сможете воспользоваться ими.

Внимание

Перед компиляцией ядра внимательно ознакомьтесь с документацией. В ядре 2.4.17 опция, реализующая алгоритм CSZ, работает некорректно. Активизация этой опции может привести к ненадежной работе маршрутизатора.

Использование

iproute2

Пакет

iproute2
входит в состав многих дистрибутивных пакетов Linux. Часто он поставляется под именем
iproute
. Вы можете скопировать данный пакет с FTP-узла, предназначенного для его поддержки, обратившись по адресу
ftp://ftp.inr.ac.ru/ip-routing/
. Пакет
iproute2
содержит несколько программ, две из которых (
ip
и
tc
) рассматриваются в данной главе.

Использование

ip

Программа

ip
предназначена для управления таблицами маршрутизации, в частности, правилами, определенными в них. Выполнение данной программы зависит от значений некоторых подопций опции IP: Advanced Router. Программа
ip
вызывается следующим образом:

ip команда [list | add | del] селектор действие

В утилите

ip
предусмотрено несколько команд. Наиболее важная из них — команда
rule
. Она позволяет добавлять (
add
), удалять (
del
) правила маршрутизации или отображать информацию о существующих правилах (
list
). Правила определяются с помощью селектора, который имеет структуру

[from адрес] [to адрес] [tos тип_сервиса] [dev имя_устройства] [pref число]

Элементы

from
и
to
определяют IP-адреса, а элемент
tos
задает тип сервиса (тип сервиса представляет собой число, например 4). Элемент
dev
определяет имя сетевого устройства (например,
eth0
), a
pref
задает номер предпочтения. Набор элементов сообщает Linux о том, как идентифицируются пакеты, к которым должно быть применено данное правило. Действие, указываемое в команде, задается в следующем формате:

[table идентификатор_таблицы] [nat адрес] [prohibit | reject | unreachable]

Идентификатор таблицы — это число, которое идентифицирует таблицу маршрутизации, элемент

nat
позволяет задать для пакета новый адрес источника, a
prohibit
,
reject
и
unreachable
— это коды, определяющие различные варианты отказа от пакета.

Пример реальной команды ip приведен ниже.

# ip rule add from 172.20.24.128 dev eth0 table 2

Правило, определяемое с помощью данной команды, указывает системе на то, что для обработки трафика с адреса 172.20.24.128 через

eth0
должна использоваться таблица маршрутизации 2. У вас, вероятно, возникнет вопрос, что значит таблица маршрутизации 2? В системе Linux для заполнения таблицы маршрутизации используется команда
route
. Расширенные средства маршрутизации позволяют работать с несколькими таблицами, создаваемыми посредством команды
ip route
. При обработке различных типов трафика можно быстро переключаться между разными таблицами. Приведенная выше команда сложнее обычной команды
route
, но она предоставляет возможности, которые не может обеспечить
route
. Вы можете использовать
ip route
так же, как и
route
, единственное отличие состоит в том, что вам необходимо задать номер таблицы. Например, для добавления маршрута в таблицу 2 можно использовать следующую команду:

ip route add 10.201.0.0/16 dev eth1 table 2

Если не принимать во внимание имя программы

ip
и элемент
table 2
, то данная команда эквивалентна команде
route
. Она сообщает системе о том, что все данные, адресованные в сеть 10.201.0.0/16, должны передаваться через интерфейс
eth1
.

Использование

tc

Утилита tc использует средства ядра, которые активизируются посредством опций меню QoS and/or Fair Queueing. Данная программа управляет исходящим трафиком, в частности, не позволяет одному типу трафика монополизировать пропускную способность линии связи. В качестве примера рассмотрим следующую ситуацию. Предположим, что в организации имеются две подсети; каждая из них обслуживает офис, в котором работают около десяти пользователей. Если пользователи одной подсети запускают программы, генерирующие большой объем исходящих данных, производительность сетевых средств пользователей, работающих в другом офисе, может оказаться недопустимо низкой. Программа

tc
позволяет распределить ресурсы таким образом, что каждой из подсетей будет гарантированно выделяться часть пропускной способности линии.

Программа вызывается следующим образом:

tc [опции] объект команда

Ниже описаны элементы, передаваемые программе

tc
.

• 

опции
. При вызове
tc
могут быть заданы опции
– statistics
(или
– s
),
– details
(или
– d
) и
– raw
(или
– r
).

• 

объект
. Данный параметр может принимать значение
qdisc
,
class
или
filter
. Значение
qdisc
определяет порядок обслуживания, или дисциплину очереди, class задает набор пакетов, принадлежащих той или иной категории либо классу (в данном примере признаком принадлежности к классу является принадлежность к одной из подсетей), a filter генерирует правило фильтрации.

  • Читать дальше
  • 1
  • ...
  • 257
  • 258
  • 259
  • 260
  • 261
  • 262
  • 263
  • 264
  • 265
  • 266
  • 267
  • ...

Ебукер (ebooker) – онлайн-библиотека на русском языке. Книги доступны онлайн, без утомительной регистрации. Огромный выбор и удобный дизайн, позволяющий читать без проблем. Добавляйте сайт в закладки! Все произведения загружаются пользователями: если считаете, что ваши авторские права нарушены – используйте форму обратной связи.

Полезные ссылки

  • Моя полка

Контакты

  • chitat.ebooker@gmail.com

Подпишитесь на рассылку: