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

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

Жанры

Linux Advanced Routing & Traffic Control HOWTO

Larroy Pedro

Шрифт:

Дисциплина имеет внутренний классификатор, который распределяет пакеты, идущие на/из разные узлы сети, по разным классам. Определение отправителя/получателя может производиться на основе MAC или IP адреса. Однако, MAC адреса могут использоваться только в ethernet сетях. Привязка хостов к классам происходит автоматически, при появлении первых пакетов, прошедших по соединению.

Она неплохо зарекомендовала себя при обслуживании небольших локальных сетей, например в студенческих общежитиях, когда между несколькими индивидами разделяется единственное соединение с Интернет. Центральной частью дистрибутива WRR является набор сценариев, выполняющих настройку алгоритма для таких сетей.

Глава 15. Решебник.

В этой главе приводятся решения типовых задач, которые смогут помочь вам в преодолении некоторых проблем. Она не дает универсальных рецептов на все случаи жизни, но тем не менее, изучение чужого опыта никогда не бывает лишним.

15.1. Запуск нескольких сайтов с различными sla.

От переводчика (А.К.): SLA (от англ. Service Level Agreement) означает "Соглашение об Уровне Обслуживания" – основной документ, регламентирующий взаимоотношения между ИТ-компанией и заказчиком.

Сделать это можно несколькими способами. Прежде всего следует упомянуть, что Apache поддерживает подобную функциональность в виде модулей, но мы продемонстрируем как добиться этого средствами операционной системы. Эти строки взяты из примера, представленного Джамалом Хади (Jamal Hadi).

Допустим, что у нас есть два клиента, которые арендуют некоторую долю нашего канала под http, ftp и потоковое audio. Первый клиент арендует полосу в 2 Мбита, второй – 5 Мбит. Для начала назначим нашим клиентам виртуальные IP-адреса на нашем сервере:

# ip address add 188.177.166.1 dev eth0

# ip address add 188.177.166.2 dev eth0

Решение проблемы о том, как назначить правильные IP-адреса различным службам, оставляем за вами. Практически все популярные демоны поддерживают такую возможность.

Присоединяем CBQ qdisc к eth0:

# tc qdisc add dev eth0 root handle 1: cbq bandwidth 10Mbit cell 8 avpkt 1000 \

 mpu 64

Создаем классы клиентов:

# tc class add dev eth0 parent 1:0 classid 1:1 cbq bandwidth 10Mbit rate \

 2MBit avpkt 1000 prio 5 bounded isolated allot 1514 weight 1 maxburst 21

# tc class add dev eth0 parent 1:0 classid 1:2 cbq bandwidth 10Mbit rate \

 5Mbit avpkt 1000 prio 5 bounded isolated allot 1514 weight 1 maxburst 21

И добавляем фильтры к классам:

##FIXME: Для чего нужна первая строка, что она делает? Каково назначение "делителя" (divisor)?:

##FIXME: Делитель имеет отношение к хеш-таблице и номеру пула

## (bucket) – ahu

# tc filter add dev eth0 parent 1:0 protocol ip prio 5 handle 1: u32 divisor 1

# tc filter add dev eth0 parent 1:0 prio 5 u32 match ip src 188.177.166.1

 flowid 1:1

# tc filter add dev eth0 parent 1:0 prio 5 u32 match ip src 188.177.166.2

 flowid 1:2

FIXME: Почему нет token bucket filter?

15.2. Защита от syn flood.

Пример взят из документации к iproute, написанной Алексеем и адаптирован для совместной работы с netfilter. Если этот пример заинтересует вас, измените числовые значения на наиболее подходящие для вашей системы.

Этот сценарий был написан для защиты отдельного хоста, а не сети. Учитывайте это обстоятельство.

Для его работы желательно иметь самую последнюю версию iproute2.

#! /bin/sh –x

#

# демонстрация возможностей по управлению входящим (ingress) трафиком

# здесь приводится пример ограничения пропускной способности для входящих SYN-пакетов

# Может оказаться полезным для защиты от TCP-SYN атак.

# #пути к различным утилитам; #укажите правильные значения.

#

TC=/sbin/tc

IP=/sbin/ip

IPTABLES=/sbin/iptables

INDEV=eth2

#

# пометить все SYN-пакеты, пришедшие через $INDEV, числом 1

############################################################

$iptables –A PREROUTING –i $INDEV –t mangle –p tcp –syn \

 –j MARK –set-mark 1

############################################################

#

# установить ingress qdisc на входящий интерфейс

############################################################

$TC qdisc add dev $INDEV handle ffff: ingress

############################################################

#

#

# SYN-пакет имеет размер 40 байт (320 бит), отсюда – три пакета

# имеют размер 960 бит (примерно 1 Кбит); ограничим скорость поступления

# 3-мя пакетами в секунду ( точнее – 1 Кбит/сек )

############################################################

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

Черный Маг Императора 18

Герда Александр
18. Черный маг императора
Фантастика:
юмористическое фэнтези
аниме
сказочная фантастика
фэнтези
фантастика: прочее
попаданцы
5.00
рейтинг книги
Черный Маг Императора 18

Первый среди равных. Книга XII

Бор Жорж
12. Первый среди Равных
Фантастика:
аниме
фэнтези
фантастика: прочее
попаданцы
5.00
рейтинг книги
Первый среди равных. Книга XII

Хозяин Стужи

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

Я уже граф. Книга VII

Дрейк Сириус
7. Дорогой барон!
Фантастика:
боевая фантастика
попаданцы
аниме
5.00
рейтинг книги
Я уже граф. Книга VII

Прах к праху

Джордж Элизабет
7. Инспектор Линли
Детективы:
классические детективы
8.17
рейтинг книги
Прах к праху

На границе империй. Том 10. Часть 6

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

Эволюционер из трущоб. Том 12

Панарин Антон
12. Эволюционер из трущоб
Фантастика:
попаданцы
аниме
фэнтези
5.00
рейтинг книги
Эволюционер из трущоб. Том 12

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

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

Инженер Петра Великого 2

Гросов Виктор
2. Инженер Петра Великого
Фантастика:
попаданцы
альтернативная история
фэнтези
5.00
рейтинг книги
Инженер Петра Великого 2

Алые перья стрел

Крапивин Владислав Петрович
Детские:
детские приключения
8.58
рейтинг книги
Алые перья стрел

Внук сотника

Красницкий Евгений Сергеевич
1. Отрок
Приключения:
исторические приключения
9.01
рейтинг книги
Внук сотника

Я не князь. Книга XIII

Дрейк Сириус
13. Дорогой барон!
Фантастика:
юмористическое фэнтези
попаданцы
аниме
5.00
рейтинг книги
Я не князь. Книга XIII

Обрыв

Гончаров Иван Александрович
Проза:
классическая проза
русская классическая проза
8.93
рейтинг книги
Обрыв

Ваше Сиятельство 8

Моури Эрли
8. Ваше Сиятельство
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Ваше Сиятельство 8