19.3.7. Управление правилами маршрутизации

19.3.7. Управление правилами маршрутизации

Для решения этой задачи предназначена команда ip rule. Маршрутизация производится в зависимости от:

? адреса получателя;

? адреса отправителя;

? IP-протокола;

? транспортного протокола.

По умолчанию используются три таблицы правил маршрутизации:

? Local — содержит таблицы для локальных и широковещательных адресов;

? Main — самая обыкновенная таблица маршрутизации;

? Default — пустая таблица по умолчанию.

Аргументы команды ip rule:

1. адрес отправителя;

2. адрес назначения;

3. имя интерфейса, с которого получен пакет;

4. метка пакета, которая устанавливается брандмауэром;

5. идентификатор таблицы маршрутизации: им может быть номер или строка из файла /etc/iproute2/rt_tables;

6. приоритет таблицы (число).

Вот несколько примеров. Требование пересылать пакеты с сети 192.168.0.0/24 согласно таблице Main:

# ip rule add from 192.203.80.0/24 table main prio 100

Теперь допустим, что у нас есть два канала в Интернет (два провайдера): ppp1 с адресом 193.168.99.99, который связан с 193.168.99.100, и ppp2 с адресом 193.168.100.99, связанный с 195.1.1.1. Пользователь ivanov хочет, чтобы мы его пакеты отправляли через ppp2 (второго провайдера):

# echo 200 ivanov >> /etc/iproute2/rt_tables

# ip rule add from 192.168.0.10 table ivanov

# ip rule ls

0: from all lookup local

32765: from 192.168.0.10 lookup ivanov

32766: from all lookup main

32767: from all lookup default

Теперь для этого пользователя назначим маршрут по умолчанию и очистим кэш-таблицы маршрутизации, чтобы наши изменения вступили в силу:

# ip route add default via 195.1.1.1 dev ppp2 table ivanov

# ip route flush cache

Рассмотрим еще один практический пример. Направим весь трафик на порт 21 через устройство eth1:

# iptables -A PREROUTING -i eth0 -t mangle -p tcp --dport 21 -j MARK --set-mark 2

Теперь нужно создать правила для помеченных пакетов

# echo 202 21,tbl >> /etc/iproute2/rt_tables

# ip rule add fwmark 2 table 21.tbl

# ip route add default via 192.168.0.10 dev eth1 table 21.tbl

# ip route flush cache

Поделитесь на страничке

Следующая глава >

Похожие главы из других книг

13.2.3 Настройка маршрутизации

Из книги Linux для пользователя автора Костромин Виктор Алексеевич

13.2.3 Настройка маршрутизации Правила маршрутизации определяют, куда отправлять IP-пакеты. Данные маршрутизации хранятся в одной из таблиц ядра. Вести таблицы маршрутизации можно статически или динамически. Статический маршрут - это маршрут, который задается явно с


3.5.1 Протоколы маршрутизации

Из книги TCP/IP Архитектура, протоколы, реализация (включая IP версии 6 и IP Security) автора Фейт Сидни М

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


6.5 Хост в таблице маршрутизации IP

Из книги Сетевые средства Linux автора Смит Родерик В.

6.5 Хост в таблице маршрутизации IP Предположим, что нужно переслать данные:Из: 130.15.12.131В: 192.45.89.5Быстрая проверка маски подсети показывает, что система назначения не принадлежит локальной подсети. В этом случае IP должен обратиться к локальной таблице маршрутизации.Таблица


8.4 Метрики маршрутизации

Из книги Linux: Полное руководство автора Колисниченко Денис Николаевич

8.4 Метрики маршрутизации Для сравнения и выбора лучшего из двух маршрутизаторов используется определенный тип метрик (удаленных


8.5 Таблицы маршрутизации

Из книги UNIX: разработка сетевых приложений автора Стивенс Уильям Ричард

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


8.6 Таблица маршрутизации по протоколу RIP

Из книги автора

8.6 Таблица маршрутизации по протоколу RIP Элементы маршрутизации таблицы 8.1 получены из университетского маршрутизатора, работающего по протоколу RIP. В таблице перечислены точки назначения и перемещающиеся по пути следования к этим точкам маршрутизаторы (на них нужно


8.6.5 Метрики маршрутизации

Из книги автора

8.6.5 Метрики маршрутизации В таблице предусмотрено место для нескольких метрик. RIP использует только одну из них — простой счетчик количества попаданий по пути к точке назначения. Неиспользуемые значения установлены в -1. Отметим, что метрика 0 присвоена подсети 128.36.0,


8.7 Таблица маршрутизации IGRP/BGP

Из книги автора

8.7 Таблица маршрутизации IGRP/BGP Элементы маршрутизации в таблице 8.2 получены из маршрутизатора провайдера Интернета. В ней перечислены назначения и идентифицированы маршрутизаторы для следующего попадания, используемые при доставке датаграмм к каждой точке назначения.


8.7.6 Метрики маршрутизации

Из книги автора

8.7.6 Метрики маршрутизации Во второй части таблицы 8.2 видно, что метрика 0 присвоена тем точкам назначения, доступ к которым можно получить в трех непосредственно связанных с маршрутизатором сетях. Как и раньше, значения неиспользуемых метрик равны -1.Всем пяти метрикам


Опции маршрутизации TCP/IP

Из книги автора

Опции маршрутизации TCP/IP Маршрутизатор — это компьютер, который непосредственно передает данные из одной сети в другую. Маршрутизаторы также часто называют шлюзами. Так, например, маршрутизатор может понадобиться для связи сети, принадлежащей отделу большой корпорации,


Заполнение таблицы маршрутизации

Из книги автора

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


Политика маршрутизации

Из книги автора

Политика маршрутизации Одна из опций, определяющих использование расширенных средств маршрутизации Linux, называется IP: Policy Routing. Она поддерживает следующие способы маршрутизации.• Фильтрация на основе маркеров. Пакеты, передаваемые по сети, могут содержать специальные


19.2. Программы маршрутизации в Linux

Из книги автора

19.2. Программы маршрутизации в Linux 19.2.1. Демон routed Стандартной программой маршрутизации в Linux является демон routed. Этот демон, как правило, настраивается сам (динамически) и не требует конфигурирования. Обнаруженные маршруты он заносит в маршрутную таблицу ядра.В своей


19.3.5. Управление таблицей маршрутизации

Из книги автора

19.3.5. Управление таблицей маршрутизации Команда ip route управляет таблицей маршрутизации:ip route add — добавить новый маршрут;ip route change — изменить маршрут;ip route replace — заменить маршрут.Добавим маршрут к сети 192.168.0.0/24 через 192.168.1.1:# ip route add 192.168.0.0/24 via


17.9. Операции с таблицей маршрутизации

Из книги автора

17.9. Операции с таблицей маршрутизации Для работы с таблицей маршрутизации предназначены два вызова функции ioctl. Эти два вызова требуют, чтобы третий аргумент функции ioctl был указателем на структуру rtentry, которая определяется в заголовочном файле <net/route.h>. Обычно эти


27.6. Заголовок маршрутизации IPv6

Из книги автора

27.6. Заголовок маршрутизации IPv6 Заголовок маршрутизации IPv6 используется для маршрутизации от отправителя в IPv6. Первые два байта заголовка маршрутизации такие же, как показанные на рис. 27.3: поле следующего заголовка (next header) и поле длины заголовка расширения (header extension length).