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