Чтение онлайн

на главную - закладки

Жанры

Сетевые средства Linux

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

Шрифт:

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

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 генерирует правило фильтрации.

• 

команда
. Команда — это набор параметров, которые определяют, какие действия программа
tc
должна выполнить с объектом. Состав команды зависит от объекта.

С помощью

tc
вы можете сгенерировать набор правил, описывающих сети, подключенные к компьютеру, и определяющих принцип выделения пропускной способности линии для каждой из этих сетей. Предположим, что вы хотите распределить пропускную способность линии, равную 100 Мбод, поровну между двумя подсетями, обслуживающими офисы. Предположим также, что ваш компьютер подключен к Internet посредством устройства
eth0
, а данные в обе подсети передаются через устройство
eth1
; одна из подсетей имеет IP-адрес 192.168.1.0/24, а другая — 192.168.2.0/24. Процесс настройки следует начать с определения порядка обслуживания очереди для
eth1
.

# tc qdisc add dev eth1 root handle 10: cbq bandwidth 100Mbit \

 avpkt1000

Данную команду можно условно разделить на несколько частей.

• 

add dev eth1
. Данный компонент команды сообщает системе о том, что вы добавляете дисциплину очереди для
eth1
.

• 

root
. В некоторых случаях дисциплины могут составлять деревья. Этот параметр указывает на создание корневого узла нового дерева.

• 

handle 10
. Этот компонент команды определяет метку (
handle
) для дисциплины.

• 

cbq
. Вам необходимо сообщить системе, какой метод организации очереди должен быть использован. Метод CBQ (Class-Based-Queueing — очередь на базе классов) применяется чаще всего. Данный параметр отражается в имени одной из опций ядра в меню QoS and/or Fair Queueing.

• 

bandwidth 100Mbit
. С помощью данного компонента вы сообщаете системе о пропускной способности линии. Если различные интерфейсы маршрутизатора подключены через линии с разной пропускной способностью, задается наименьшее значение.

• 

avpkt 10 0 0
. По сети могут передаваться пакеты различного размера, но, для того, чтобы планировать использование линии, система должна иметь хотя бы приблизительное представление о том, какими могут быть размеры пакетов. Конкретное значение данного параметра может отличаться от указанного здесь.

Теперь надо определить классы для сети и для каждой из подсетей. Для этого используются команды наподобие следующей:

# tc class add dev eth1 parent 10:0 classid 10:1 cbq \

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

Третий. Том 4

INDIGO
Вселенная EVE Online
Фантастика:
боевая фантастика
космическая фантастика
попаданцы
5.00
рейтинг книги
Третий. Том 4

Император Пограничья 10

Астахов Евгений Евгеньевич
10. Император Пограничья
Фантастика:
городское фэнтези
аниме
фантастика: прочее
попаданцы
5.00
рейтинг книги
Император Пограничья 10

Мастер 10

Чащин Валерий
10. Мастер
Фантастика:
боевая фантастика
попаданцы
аниме
5.00
рейтинг книги
Мастер 10

Точка Бифуркации XII

Смит Дейлор
12. ТБ
Фантастика:
аниме
фэнтези
попаданцы
5.00
рейтинг книги
Точка Бифуркации XII

Хозяин Стужи 2

Петров Максим Николаевич
2. Злой Лед
Фантастика:
аниме
фэнтези
попаданцы
5.75
рейтинг книги
Хозяин Стужи 2

Гримуар темного лорда IX

Грехов Тимофей
9. Гримуар темного лорда
Фантастика:
попаданцы
альтернативная история
аниме
фэнтези
5.00
рейтинг книги
Гримуар темного лорда IX

Император Пограничья 8

Астахов Евгений Евгеньевич
8. Император Пограничья
Фантастика:
городское фэнтези
аниме
фэнтези
фантастика: прочее
попаданцы
5.00
рейтинг книги
Император Пограничья 8

Надуй щеки! Том 5

Вишневский Сергей Викторович
5. Чеболь за партой
Фантастика:
попаданцы
дорама
7.50
рейтинг книги
Надуй щеки! Том 5

Вечный. Книга III

Рокотов Алексей
3. Вечный
Фантастика:
фэнтези
попаданцы
рпг
5.00
рейтинг книги
Вечный. Книга III

Дочь моего друга

Тоцка Тала
2. Айдаровы
Любовные романы:
современные любовные романы
эро литература
5.00
рейтинг книги
Дочь моего друга

Кодекс Охотника. Книга X

Винокуров Юрий
10. Кодекс Охотника
Фантастика:
фэнтези
попаданцы
аниме
6.25
рейтинг книги
Кодекс Охотника. Книга X

Чужак из ниоткуда 2

Евтушенко Алексей Анатольевич
2. Чужак из ниоткуда
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Чужак из ниоткуда 2

Идеальный мир для Лекаря 4

Сапфир Олег
4. Лекарь
Фантастика:
фэнтези
юмористическая фантастика
аниме
5.00
рейтинг книги
Идеальный мир для Лекаря 4

Кай из рода красных драконов 2

Бэд Кристиан
2. Красная кость
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Кай из рода красных драконов 2