Linux Labs

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

Диагностика между двумя машинами

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

Шаг 3 из 7 · на машине · 6 мин

Точный маршрут перекрывает сеть

Одна лишняя запись в таблице маршрутов может отрезать машину от соседа в той же сети.

Правило из урока о маршрутах: если к адресу подходят несколько записей, ядро берёт самую точную — с самым длинным префиксом. Запись /32 описывает один адрес и выигрывает у любой сети. Маршрут blackhole велит выбросить пакеты к этому адресу: молча, без попытки отправить.

Упражнение · посмотреть

Найди перекрывающий маршрут

Прочитай таблицу маршрутов lab-node1 и спроси ядро, каким путём оно отправит пакет к 192.0.2.12.

Сначала предположи

Что напечатает ip route get 192.0.2.12 на lab-node1?

Теперь начни упражнение, выполни команду и сверь прогноз с выводом.

Войти и начать Машина доступна после входа

Ошибка curl в начале урока — Couldn't connect to server … after 0 ms — та же, что в уроке о слушающих сокетах, а причина другая: там отказал сервер, здесь пакет не ушёл с клиента. Различает их ip route get на клиенте.

Удаляют ровно эту запись. ip route flush снёс бы и подключённую сеть, и lab-node1 потеряла бы соседа совсем.

bash
sudo ip -n lab-node1 route del blackhole 192.0.2.12/32
sudo ip netns exec lab-node1 curl -sS -m 3 http://192.0.2.12:8080/health

Такая запись живёт в памяти ядра до перезагрузки. На рабочем сервере после удаления выясни, кто её добавил: сетевые настройки или скрипт вернут её снова.

Ubuntu 24.04
Загрузка…