Сеть в Linux Linux (NetworkManager, systemd-networkd)

Сеть Linux: Linux: два маршрута по умолчанию ломают подключение к внутренней сети

  • Обновлено
  • Чтение ≈ 2 минуты

Краткий ответ

В Linux присутствуют два маршрута по умолчанию, из-за чего обращения к внутренней сети или удалённый доступ идут не через ожидаемый интерфейс. Сначала проверьте маршрутизацию именно нужной подсети, а не удаляйте все default route.

В этой статье
  1. Что происходит и когда это важно
  2. Возможные причины и как их отличить
  3. Пошаговая диагностика и исправление
  4. Команды из инструкции с пояснениями
  5. Как проверить результат
  6. Если проблема не устранена

#Что происходит и когда это важно

При одновременном Ethernet, Wi-Fi или VPN одна часть сетей доступна, другая — нет; после переподключения меняется используемый шлюз.

#Возможные причины и как их отличить

Возможная причинаКак узнатьЧто делать
Разные метрикиМаршрутизатор с меньшей метрикой выбирается для трафика по умолчанию.ip route показывает два default через разные dev.Настроить профильные метрики/приоритеты с учётом назначения.
Отсутствует маршрут к внутренней сетиНужная корпоративная подсеть не имеет специфического маршрута.ip route get показывает default через интернет вместо VPN.Запросить правильный маршрут у администратора.
Policy routingПравило ip rule направляет трафик в отдельную таблицу.Маршрут main выглядит правильным, фактический выбор другой.Исследовать правила и соответствующую таблицу.

#Пошаговая диагностика и исправление

  1. Запишите состояние сети перед изменениямиОткройте терминал. Если это удалённый компьютер, обеспечьте резервную консоль. Не выполняйте ip route del default: команда может мгновенно лишить вас удалённого доступа. Это особенно важно для облачных серверов: некорректный маршрут лишит доступа даже при работающем SSH.
  2. Покажите оба шлюзаВыполните ip -4 route show default. Запишите via, dev, metric. Два маршрута default сами по себе могут быть нормальны при резервировании связи; меньшая metric предпочтительнее в одной таблице, но существуют и policy routing.
  3. Проверьте внутренний адресВыполните ip route get АДРЕС_ВНУТРЕННЕГО_УЗЛА, заменив пример реальным разрешённым IP. Посмотрите via/dev и src. Если запрос идёт через общий интернет, а должен через VPN, чаще нужен отдельный маршрут подсети, а не удаление default.
  4. Посмотрите правила и сетьВыполните ip rule show, ip route show table all и nmcli connection show --active, если используется NetworkManager. Запишите, какие профили управляют каждым default. Это различает ошибку в маршрутах от политики.
  5. Проверьте DNS как отдельную частьЕсли внутренний ресурс не открывается только по имени, а по IP доступен, проверьте resolvectl status и DNS туннеля. Изменение default route не исправит отсутствие корпоративной DNS-зоны.
  6. Согласуйте точечное исправлениеНа личном ПК обратитесь к настройкам соответствующего VPN/Ethernet профиля и проверьте режим «использовать только для ресурсов этой сети» либо routing metric, если такие параметры есть. На сервере администратор сначала резервирует настройки, затем корректирует постоянную маршрутизацию с контрольным откатом. Вручную удалять второй default без понимания назначения нельзя.
  7. Проверьте оба направления и перезагрузкуПосле применения сравните route get до внутреннего IP и до разрешённого внешнего IP. Затем проверьте доступ по HTTPS/SSH к нужным ресурсам и повторите после переподключения сети. Если связь пропала, верните исходный профиль через консоль.

#Команды из инструкции с пояснениями

Linux · Терминал (Bash)Команда
Все IPv4 маршруты по умолчанию.
ip -4 route show default
Linux · Терминал (Bash)Команда
Правила выбора таблиц маршрутизации.
ip rule show
Linux · Терминал (Bash)Команда
Все маршруты включая отдельные таблицы.
ip route show table all
Linux · Терминал (Bash)Команда
Активные подключения NetworkManager, если он используется.
nmcli connection show --active

#Как проверить результат

Внутренние IP направляются в нужный интерфейс/туннель, внешние сайты работают, результат сохраняется после перезапуска.

#Если проблема не устранена

Если ip route get показывает корректный маршрут, но сервис недоступен, проверьте firewall, ICMP и состояние удалённого приложения без отключения защиты.

Источники и обновления

Последнее обновление статьи: 2 ноября 2026. Версии программ и интерфейсы меняются — если шаги не совпадают с вашей версией, сверяйтесь с документацией производителя.