Сеть в Linux Linux Network is unreachable

Linux: ошибка «Network is unreachable» при подключении

  • Обновлено
  • Чтение ≈ 3 минуты
  • Нужны права администратора

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

Network is unreachable означает, что в таблице маршрутизации нет маршрута к нужной сети: обычно не поднят интерфейс, не получен адрес по DHCP или отсутствует шлюз по умолчанию. Проверьте ip a и ip route; запустите интерфейс и получите адрес.

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

#Что означает ошибка

Network is unreachable
connect: Network is unreachable ping: connect: Network is unreachable
По-русскиСистема не знает маршрут к узлу: нет шлюза по умолчанию или не поднят сетевой интерфейс.

Ошибка «Network is unreachable» в Linux означает, что в таблице маршрутизации нет маршрута к нужной сети: обычно отсутствует маршрут по умолчанию (default gateway). Интерфейс может быть включён, но без IP-адреса или шлюза система не знает, куда отправлять пакеты.

Проверка занимает минуту: смотрим адрес интерфейса и маршруты.

Чтобы отправить пакет, система ищет маршрут. Если ни один не подходит (нет default via ...), она сразу возвращает эту ошибку, не пытаясь связаться.

#Причины и решения

Возможная причинаКак узнатьЧто делать
Интерфейс выключен или нет кабеля/Wi-FiСетевой интерфейс в состоянии DOWN.ip a показывает state DOWN.Включите интерфейс, проверьте кабель или подключение к Wi-Fi.
Нет адреса или DHCP не ответилАдрес не получен.У интерфейса нет адреса inet или адрес 169.254.x.x.Перезапустите сетевую службу, проверьте DHCP на роутере.
Нет шлюза по умолчаниюМаршрут default отсутствует.ip route не содержит строки default via.Добавьте шлюз или исправьте настройки сети.
VPN или контейнер изменил маршрутыМаршруты перезаписаны.Проблема после включения VPN или запуска контейнеров.Отключите VPN, проверьте таблицу маршрутов.

#Пошаговое решение

  1. Проверьте интерфейсОткройте терминал Linux и выполните ip -br link и ip -br addr. Найдите интерфейс по имени и посмотрите UP/DOWN, наличие адреса inet и тип подключения. Если интерфейс отключён, прежде чем включать его вручную, выясните, управляет ли им NetworkManager (nmcli device status) или systemd-networkd (networkctl status). Запишите результаты: отсутствие адреса и отсутствие маршрута требуют разной диагностики.
  2. Проверьте маршрутОткройте терминал на устройстве или подключитесь по SSH к нужному серверу. Выполните ip route и прочитайте вывод: команда покажет маршруты, включая default — шлюз по умолчанию. Если маршрута нет, компьютер может не выходить в другие сети. Если команда не найдена, сначала убедитесь, что нужная программа установлена.
  3. Получите адресВыясните менеджер сети: для NetworkManager выполните nmcli con show --active, запишите имя подключения и включите его штатной командой nmcli con up "ИМЯ_ПОДКЛЮЧЕНИЯ", подставив реальное имя. На системе без NetworkManager запрос DHCP выполняется средствами её сетевого менеджера; dhclient может быть не установлен и не должен конкурировать с уже работающим DHCP-клиентом. После изменения проверьте ip -br addr и ip route; на удалённом сервере требуется резервный канал доступа.
  4. Добавьте маршрут при необходимостиПрежде чем менять таблицу маршрутов, выполните ip route и найдите, есть ли маршрут default и какой интерфейс получил адрес. Добавлять шлюз можно только по значениям, предоставленным вашей сетью: sudo ip route add default via АДРЕС_ШЛЮЗА dev ИНТЕРФЕЙС — шаблон, вместо заглушек подставьте проверенные значения. Команда временная и может оборвать SSH-сессию; при ошибочном маршруте восстановите прежний через резервный доступ. Для постоянной настройки используйте свой менеджер сети.
  5. Замените eth0 на имя вашего интерфейса
    Linux · Терминал (Bash)С осторожностьюНужен sudo
    Замените eth0 на имя вашего интерфейса. Перезапуск NetworkManager кратко разорвёт соединения; по SSH будьте осторожны — можно потерять доступ.
    ip a
    ip route
    sudo ip link set eth0 up
    sudo systemctl restart NetworkManager

    Команда может изменить состояние системы или её настройки. Проверьте параметры и последствия перед запуском.

  6. Проверьте результатПосле исправления адреса или маршрута откройте терминал Linux и выполните ip -br addr и ip route: у нужного интерфейса должен быть допустимый адрес, а для выхода в интернет — маршрут default, соответствующий сети. Попробуйте ping -c 3 АДРЕС_ШЛЮЗА, **заменив образец фактическим шлюзом из ip route**. Если он отвечает, проверьте доступ к нужному сервису; ICMP может блокироваться, поэтому при отсутствии ответов сопоставьте с другими проверками. Если маршрута нет, вернитесь к настройке сетевого менеджера, не добавляя случайный шлюз.

#Если не помогло

Если вы подключены по SSH, не перезапускайте сеть без запасного доступа (консоль хостера). На сервере со статическим адресом проверьте конфигурацию (netplan, /etc/network/interfaces) на опечатки.

#Диагностика

ip a — у интерфейса должен быть адрес inet; ip route — должна быть строка default via ШЛЮЗ dev интерфейс. Если default-маршрута нет, система не выходит за пределы локальной сети. Проверьте nmcli device status: интерфейс должен быть в состоянии connected.

#Типичные причины

Не получен адрес по DHCP, отключён интерфейс, ошибка в netplan/NetworkManager, неверная маска, конфликт VPN-маршрутов, IPv6-маршрут без IPv6-связности. Для IPv6 проверьте ping -4 8.8.8.8 и ping -6 ipv6.google.com.

Linux · Терминал (Bash)Команда
Проверка адреса, маршрута и связности.
ip a
ip route
ping -c 3 8.8.8.8

Так эту ошибку тоже называют

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

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