Linux Labs

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

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

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

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

Чьё это наблюдение

Каждый вывод говорит о той машине, где выполнена команда. Прежде чем чинить, опиши соединение целиком.

Соединение описывает характеристика соединения: адреса откуда и куда, протокол и порты. Здесь это 192.0.2.11 → 192.0.2.12, TCP, порт 8080. Запрос на самой lab-node2 шёл с 192.0.2.12 на 192.0.2.12. Это другое соединение, и его успех о соседе ничего не говорит.

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

Машина Что на ней проверить
lab-node1, клиент маршрут к серверу, запрос к сайту
lab-node2, сервер слушатель, фильтр, маршрут обратно к клиенту

sudo ip -n lab-node1 route — короткая форма для команд ip в пространстве. Остальные программы запускают через ip netns exec.

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

В таблице lab-node1 одна строка: 192.0.2.0/24 dev lab0. Шлюза и default нет. Дойдёт ли пакет до 192.0.2.12?

  • Шлюз ведёт в другие сети. Соседу в той же /24 пакет уходит напрямую, без посредника.

  • Ответ идёт по таблице lab-node2, а в ней такая же подключённая сеть 192.0.2.0/24. Без лишних записей ответ вернётся.

  • Маршрут по умолчанию нужен для адресов вне известных сетей. 192.0.2.12 входит в 192.0.2.0/24, и ip route get 192.0.2.12 покажет dev lab0.

Подключённой сети хватает, чтобы говорить с соседями в ней. Шлюз и default нужны для адресов за пределами 192.0.2.0/24.

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

  • Наблюдение относится к машине, где выполнена команда; успех на сервере не проверяет запрос соседа.
  • Пакет к серверу выбирает таблица клиента, ответ обратно — таблица сервера.
Ubuntu 24.04
Загрузка…