Таблица маршрутизации
100%

Маршрутизация · Урок 2

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

Узнайте, как читать маршруты Linux и проверять маршрут, выбранный для назначения.

Состояние маршрутизации Linux определяет, какие следующий переход, интерфейс и источник подходят для IP-назначения. Устаревшее представление route -n всё ещё встречается, но ip route точнее показывает современные понятия маршрутизации ядра.

Чтение маршрутов IPv4

Пример вывода:

$ ip -4 route show
default via 192.168.224.2 dev eth0 proto dhcp src 192.168.224.10 metric 100
192.168.224.0/24 dev eth0 proto kernel scope link src 192.168.224.10 metric 100

Подключённый маршрут /24 отправляет совпавшие назначения напрямую через eth0. Маршрут по умолчанию использует шлюз следующего перехода 192.168.224.2. proto описывает способ установки маршрута, src — предпочтительный источник для совпавшего трафика, а метрика помогает ранжировать другие сопоставимые маршруты.

Что обозначает via 192.168.224.2?

Подключённые маршруты и маршруты по умолчанию

Маршрут со scope link и без следующего перехода via считает префикс непосредственно доступным через интерфейс. Маршрут по умолчанию совпадает с любым адресом, но уступает каждому подходящему более конкретному маршруту.

Как обычно достигается подключённое назначение scope link?

Длина префикса и метрика

Выбор маршрута учитывает правила политик и использует самый длинный подходящий префикс. Метрики ранжируют маршруты внутри подходящих сопоставимых наборов; маршрут по умолчанию с малой метрикой не переопределяет совпавший /24 только потому, что его число меньше.

Какой маршрут конкретнее совпадает с 192.168.224.50?

Правила политик и несколько таблиц

Linux может обращаться к нескольким таблицам маршрутизации согласно политике ip rule, основанной на источнике, метке, интерфейсе и других селекторах. Поэтому просмотр только основной таблицы может не показать фактический путь:

$ ip rule show
$ ip route show table all

Сетевые пространства имён и VRF также могут иметь отдельное состояние. Выполняйте проверку в том же контексте, что и затронутый процесс.

Почему одного ip route show может быть недостаточно для объяснения пути приложения?

Запрос фактического маршрута

Попросите ядро оценить назначение и необязательный источник:

$ ip route get 203.0.113.10
$ ip route get 203.0.113.10 from 192.168.224.10

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

Чего не делает ip route get?

Урок завершён

Вы завершили Таблица маршрутизации

Теперь вы можете читать записи маршрутизации Linux и запрашивать фактическое локальное решение.

  • Отличайте подключённые маршруты от маршрутов через шлюз.

  • Читайте поля префикса, интерфейса, протокола, источника и метрики.

  • Применяйте сопоставление по самому длинному префиксу до сравнения подходящих метрик.

  • Учитывайте таблицы политик, пространства имён и VRF.

  • Рассматривайте ip route get как поиск, а не проверку доступности.

Сохраните прогресс

Создайте бесплатный аккаунт, чтобы сохранить этот урок и продолжить на любом устройстве.

Создать бесплатный аккаунт
Следующий Урок
Назад к Маршрутизация