Linux Labs

Сеть / Ступень 2 из 14

Как Linux выбирает маршрут

Не запущена Запускается обычно ~20 с
Выйти из урока

Шаг 4 из 7 · теория · 4 мин

Спроси ядро о пути

Какую строку таблицы ядро выберет для адреса, показывает ip route get. Пакетов эта команда не отправляет.

После маршрута из упражнения ответ для сервиса такой:

text
198.51.100.20 via 192.0.2.1 dev lab0 src 192.0.2.10 uid 0
    cache

Пакет уйдёт через lab0 шлюзу 192.0.2.1 с адресом отправителя 192.0.2.10. uid 0 и cache — служебные поля, на выбор пути они не влияют. Подходящей строки нет — ip route get печатает RTNETLINK answers: Network is unreachable.

ip route get описывает решение клиента, а дошёл ли пакет, показывает ping. Для ответа нужен и обратный путь: сервер отправляет его по своей таблице. Здесь клиент — сосед сервера по 192.0.2.0/24, и обратный путь есть сам собой.

Проверь себя 1 вопрос

ip route get 198.51.100.20 напечатал 198.51.100.20 via 192.0.2.1 dev lab0 src 192.0.2.10. Что из этого следует?

Верных вариантов несколько.

  • ip route get пакетов не отправляет — он описывает выбор пути. Ответит ли узел, покажет ping.

  • Это решение таблицы клиента. Ответ сервер отправит по своей таблице, её смотрят на нём: sudo ip -n lab-server route.

ip route get показывает решение ядра клиента: шлюз, интерфейс и адрес отправителя. Дошёл ли пакет и вернулся ли ответ, проверяет ping.

Главное в шаге

  • ip route get АДРЕС показывает выбранный путь: шлюз, интерфейс, адрес отправителя.
  • ip route get пакетов не отправляет; обмен проверяет ping.
  • Ответ возвращается по таблице маршрутов другой стороны.
Ubuntu 24.04
Загрузка…