Bert Hubert - Linux Advanced Routing & Traffic Control HOWTO

Здесь есть возможность читать онлайн «Bert Hubert - Linux Advanced Routing & Traffic Control HOWTO» весь текст электронной книги совершенно бесплатно (целиком полную версию без сокращений). В некоторых случаях можно слушать аудио, скачать через торрент в формате fb2 и присутствует краткое содержание. Жанр: ОС и Сети, на русском языке. Описание произведения, (предисловие) а так же отзывы посетителей доступны на портале библиотеки ЛибКат.

Linux Advanced Routing & Traffic Control HOWTO: краткое содержание, описание и аннотация

Предлагаем к чтению аннотацию, описание, краткое содержание или предисловие (зависит от того, что написал сам автор книги «Linux Advanced Routing & Traffic Control HOWTO»). Если вы не нашли необходимую информацию о книге — напишите в комментариях, мы постараемся отыскать её.

Оригинальную версию документа вы найдете по адресу
.
Практическое руководство по применению
(и в меньшей степени
) для управления трафиком.

Linux Advanced Routing & Traffic Control HOWTO — читать онлайн бесплатно полную книгу (весь текст) целиком

Ниже представлен текст книги, разбитый по страницам. Система сохранения места последней прочитанной страницы, позволяет с удобством читать онлайн бесплатно книгу «Linux Advanced Routing & Traffic Control HOWTO», без необходимости каждый раз заново искать на чём Вы остановились. Поставьте закладку, и сможете в любой момент перейти на страницу, на которой закончили чтение.

Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

# ip rule add from 10.0.0.10 table John

# ip rule ls

0: from all lookup local

32765: from 10.0.0.10 lookup John

32766: from all lookup main

32767: from all lookup default

Теперь нам нужно лишь сгенерировать таблицу John и очистить кэш маршрутов:

# ip route add default via 195.96.98.253 dev ppp2 table John

# ip route flush cache

Вот и все. В качестве упражнения вы можете добавить это в скрипт ip-up.

4.2. Маршрутизация через несколько каналов/провайдеров.

Ниже представлена обычная конфигурация, когда локальная сеть (или даже одна машина) подключена к Internet через двух провайдеров.

_______

+------------+ /

| | |

+-------------+ Провайдер 1+-------

__ | | | /

___/ \_ +------+-------+ +------------+ |

_/ \__ | if1 | /

/ \ | Linux | |

| Локальная сеть-----+ маршрутизатор| | Internet

\_ __/ | | |

\__ __/ | if2 | \

\___/ +------+-------+ +------------+ |

| | | \

+-------------+ Провайдер 2+-------

| | |

+------------+ \_______

В этом случае обычно возникает два вопроса.

4.2.1. Раздельный доступ

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

Давайте определим некоторые переменные. Пусть $IF1 будет именем первого интерфейса (if1 на рисунке), а $IF2 — именем второго. Тогда $IP1 будет IP адресом $IF1, а $IP2 — IP адресом $IF2. Далее, $P1 это IP-адрес шлюза провайдера 1, а $P2 — IP адрес шлюза провайдера 2. Наконец, $P1_NET это IP сеть, к которой принадлежит $P1, а $P2_NET — сеть, к которой принадлежит $P2.

Создадим две дополнительные таблицы маршрутизации, скажем T1 и T2. Добавим их в файл /etc/iproute2/rt_tables. Теперь можно настроить эти таблицы следующими командами:

ip route add $P1_NET dev $IF1 src $IP1 table T1

ip route add default via $P1 table T1

ip route add $P2_NET dev $IF2 src $IP2 table T2

ip route add default via $P2 table T2

Ничего особо эффектного, маршрут к шлюзу и маршрут по-умолчанию через этот шлюз. Точно так же, как и в случае одного провайдера, но по таблице на каждого провайдера. Заметьте, что маршрута к сети, в которой находится шлюз достаточно, потому что он определяет как найти все хосты в этой сети, включая сам шлюз.

Теперь нужно настроить главную таблицу маршрутизации. Хорошо бы маршрутизировать пакеты для сетей провайдеров через соответствующие интерфейсы. Обратите внимание на аргумент `src', который обеспечивает правильный выбор исходного IP-адреса.

ip route add $P1_NET dev $IF1 src $IP1

ip route add $P2_NET dev $IF2 src $IP2

Теперь задаем маршрут по умолчанию:

ip route add default via $P1

Зададим правила маршрутизации. Они будут отвечать за то, какая таблица будет использоваться при маршрутизации. Вы хотите, чтобы пакет с определенным адресом источника маршрутизировался через соответствующий интерфейс:

ip rule add from $IP1 table T1

ip rule add from $IP2 table T2

Этот набор команд обеспечивает маршрутизацию ответов через интерфейс, на котором был получен запрос.

Warning

Заметка читателя Рода Роака (Rod Roark): если $P0_NET это локальная сеть, а $IF0 — соответствующий ей интерфейс, желательно задать следующие команды:

ip route add $P0_NET dev $IF0 table T1

ip route add $P2_NET dev $IF2 table T1

ip route add 127.0.0.0/8 dev lo table T1

ip route add $P0_NET dev $IF0 table T2

ip route add $P1_NET dev $IF1 table T2

ip route add 127.0.0.0/8 dev lo table T2

Итак, мы рассмотрели очень простой пример. Он будет работать для всех процессов, выполняющихся на маршрутизаторе и для локальной сети, если настроено преобразование адресов (NAT/masquerading). В противном случае, вам будет необходим диапазон IP адресов обоих провайдеров, или выполнять маскирование для одного из провайдеров. В любом случае, вы можете задать правила выбора провайдера для каждого конкретного адреса вашей локальной сети.

4.2.2. Распределение нагрузки.

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

Вместо выбора одного из провайдеров в качестве маршрута по-умолчанию, вы настраиваете т.н. многолучевой (multipath) маршрут. В стандартном ядре это обеспечит балансировку нагрузки между двумя провайдерами. Делается это следующим образом (повторюсь, мы основываемся на примере из раздела Раздельный доступ):

ip route add default scope global nexthop via $P1 dev $IF1 weight 1 \

nexthop via $P2 dev $IF2 weight 1

Результатом команды будет попеременный выбор маршрута по-умолчанию. Вы можете изменить параметр weight , так чтобы один из провайдеров получал большую нагрузку.

Читать дальше
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

Похожие книги на «Linux Advanced Routing & Traffic Control HOWTO»

Представляем Вашему вниманию похожие книги на «Linux Advanced Routing & Traffic Control HOWTO» списком для выбора. Мы отобрали схожую по названию и смыслу литературу в надежде предоставить читателям больше вариантов отыскать новые, интересные, ещё непрочитанные произведения.


Отзывы о книге «Linux Advanced Routing & Traffic Control HOWTO»

Обсуждение, отзывы о книге «Linux Advanced Routing & Traffic Control HOWTO» и просто собственные мнения читателей. Оставьте ваши комментарии, напишите, что Вы думаете о произведении, его смысле или главных героях. Укажите что конкретно понравилось, а что нет, и почему Вы так считаете.

x