Какую строку таблицы ядро выберет для адреса, показывает ip route get. Пакетов эта команда не отправляет.
После маршрута из упражнения ответ для сервиса такой:
Пакет уйдёт через 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, и обратный путь есть сам собой.
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. - Ответ возвращается по таблице маршрутов другой стороны.