SystemdDoctor
служба не работает сеть ipv6

Network is unreachable в журнале службы

Сообщение Network is unreachable (номер 101, ENETUNREACH) означает, что ядро не видит пути в нужную сеть. Частый случай на серверах — попытка соединения по IPv6 при отсутствии его настройки.

Вероятные причины

По порядку: сверху то, что встречается чаще.

  1. Попытка соединения по IPv6 без настроенного IPv6

    Имя разрешается в адрес IPv6, а машина его не умеет. Программа пробует и получает эту ошибку — иногда молча переходя на IPv4, иногда падая.

  2. Интерфейс не поднят

    При загрузке или после правки настроек сети интерфейс может быть неактивен.

  3. Нет маршрута в нужную сеть

    Отсутствует маршрут или шлюз. Отличается от отсутствия маршрута до узла тем, что недостижима вся сеть.

Диагностика

Команды идут в том порядке, в котором их стоит выполнять: каждая следующая проверяет то, что осталось после предыдущей.

Адреса и маршруты машины.

ip -brief addr && ip route

В какие адреса разрешается имя, включая IPv6.

getent ahosts имя-узла

Решение

Решение своё для каждой причины. Сначала определите, какая из них ваша, — иначе правки наложатся друг на друга.

1. Попытка соединения по IPv6 без настроенного IPv6
Почему происходит
Имя разрешается в адрес IPv6, а машина его не умеет. Программа пробует и получает эту ошибку — иногда молча переходя на IPv4, иногда падая.
Как проверить
Посмотрите адреса машины и разрешение имени.
ip -6 addr | head
getent ahosts имя-узла | head
Как исправить
Либо настройте IPv6, либо заставьте программу предпочитать IPv4. Отключать IPv6 целиком стоит осознанно: часть служб рассчитывает на петлевой адрес этого семейства.
2. Интерфейс не поднят
Почему происходит
При загрузке или после правки настроек сети интерфейс может быть неактивен.
Как проверить
Посмотрите состояние интерфейсов.
ip -brief link
ip -brief addr
Как исправить
Поднимите интерфейс и проверьте настройки сети. Для служб добавьте ожидание готовности сети.
3. Нет маршрута в нужную сеть
Почему происходит
Отсутствует маршрут или шлюз. Отличается от отсутствия маршрута до узла тем, что недостижима вся сеть.
Как проверить
Посмотрите маршруты.
ip route
ip route get адрес
Как исправить
Добавьте маршрут в конфигурации сети, а не командой: иначе он исчезнет после перезагрузки.

Пример вывода

Программа пытается соединиться по IPv6. Пример показательный: он собран на тестовой машине специально для этой страницы, а не взят из чужого журнала.

myapp[1200]: error: dial tcp [2001:db8::1]:443: connect: network is unreachable

$ ip -6 addr | grep -c inet6
1

Связанные ошибки

Источники

  • connect(2): ошибка ENETUNREACH документация программы
    сверено 15 сентября 2026
  • Воспроизведено на тестовой машине, systemd 255 (Ubuntu 24.04)
    Воспроизведено обращением к адресу IPv6 на машине без его настройки.
    собственная проверка, systemd 255
    сверено 15 сентября 2026