Ответ
Статические маршруты определяют, через какой сетевой интерфейс и шлюз должны отправляться пакеты для достижения определённых сетей или хостов. Для их просмотра в Linux используются следующие команды.
1. ip route (предпочтительный, современный инструмент из пакета iproute2):
ip route show
Или просто ip r.
Пример вывода:
default via 192.168.1.1 dev eth0 proto static
10.0.0.0/24 dev docker0 proto kernel scope link src 10.0.0.1
192.168.1.0/24 dev eth0 proto kernel scope link src 192.168.1.100
default via ...— маршрут по умолчанию (шлюз).proto static— указывает, что маршрут добавлен статически (вручную или через сетевой менеджер).proto kernel— маршрут, автоматически добавленный ядром для сети, связанной с интерфейсом.
2. route (устаревшая утилита из пакета net-tools):
route -n
Флаг -n отключает разрешение имён хостов (DNS lookup), что ускоряет вывод и полезно при проблемах с сетью.
DevOps-применение:
- Диагностика сетевых проблем: Первое, что проверяю, если контейнер или сервер не может выйти в интернет или достичь другого сегмента сети — таблицу маршрутизации. Убеждаюсь, что есть корректный маршрут по умолчанию и маршруты до внутренних сетей (например, VPN).
- Работа в облачных средах: В AWS/GCP/Azure часто приходится управлять маршрутами через таблицы маршрутизации (Route Tables) в VPC, но на самом инстансе их можно проверить именно через
ip route. Например, маршруты для метаданных или других подсетей VPC. - Маршрутизация для контейнеров и overlay-сетей: Такие технологии, как Docker или Kubernetes (CNI), добавляют свои маршруты для overlay-сетей. Их видно в выводе
ip route, что помогает при отладке сетевой связности между подами.