Политика маршрутизации в Linux с использованием нескольких таблиц маршрутизации работает следующим образом: 5
- Система начинает просматривать правила в порядке возрастания их приоритета (от 0 до 32767). 5 В качестве критерия отбора может использоваться адрес отправителя, адрес получателя, tos и fwmark (пакеты, маркированные iptables). 5
- Если пакет удовлетворяет какому-либо критерию отбора, то дальнейший поиск осуществляется по таблице, заданной в правиле. 5
Изначально ядро ОС создаёт три правила, которые указывают на три основных таблицы: local, main и default: 5
- Таблица local содержит маршруты для локальных и широковещательных адресов. 5 Правило отбора в эту таблицу имеет самый высокий приоритет. 5
- Таблица main содержит маршруты, добавляемые пользователем. 5 Это основная таблица маршрутизации. 5 Правило, передающее пакеты в эту таблицу, имеет приоритет 32766. 5
- После неё рассматривается только таблица default — обычно она пуста. 5
Все таблицы определяются в файле /etc/iproute2/rt_tables. 5 Каждая его строка задаёт одну таблицу. 5 Сначала идёт ID таблицы: он может быть любым в диапазоне 1–255 и должен быть уникальным. 5 Дальше указывается имя таблицы; оно также может быть любым и используется только для удобства при настройке. 5
Все таблицы маршрутизации ядра никак между собой не связаны, таким образом, у может быть несколько идентичных маршрутов в различных таблицах, которые не будут конфликтовать. 1