Сеть не подключена: не удалось запустить eth0

Вопрос или проблема

Служба сети не запускается / не стартует при перезагрузке.

Перезапуск сети (через systemctl): networking.serviceJob для networking.service завершился с ошибкой, так как процесс управления завершился с кодом ошибки.

Я все еще могу получить доступ к серверу через удаленную консоль, но больше ничего, так как без сети нет пути ни внутрь, ни наружу.

команда systemctl status networking.service говорит:

● networking.service - Включение сетевых интерфейсов
   Loaded: загружен (/lib/systemd/system/networking.service; включен; предустановленный производителем: включен)
  Drop-In: /run/systemd/generator/networking.service.d
           └─50-insserv.conf-$network.conf
   Active: неактивен (завершился с кодом ошибки) с Mo 2016-04-18 06:53:11 UTC; 43 с назад
     Docs: man:interfaces(5)
  Process: 3551 ExecStart=/sbin/ifup -a --read-environment (код=завершился, статус=
1/НЕУДАЧА)
  Process: 3546 ExecStartPre=/bin/sh -c [ "$CONFIGURE_INTERFACES" != "no" ] && [
 -n "$(ifquery --read-environment --list --exclude=lo)" ] && udevadm settle (код=
завершился, статус=0/УСПЕШНО)
 Main PID: 3551 (код=завершился, статус=1/НЕУДАЧА)

Apr 18 06:53:11 h2502988.stratoserver.net ifup[3551]: Для информации, пожалуйста, посетите htt
ps://www.isc.org/software/dhcp/
Apr 18 06:53:11 h2502988.stratoserver.net ifup[3551]: Использование: dhclient [-4|-6] [-
SNTP1dvrx] [-nw] [-p <порт>] [-D LL|LLT]
Apr 18 06:53:11 h2502988.stratoserver.net ifup[3551]:                 [-s server
-addr] [-cf config-file] [-lf lease-file]
Apr 18 06:53:11 h2502988.stratoserver.net ifup[3551]:                 [-pf pid-f
ile] [--no-pid] [-e VAR=val]
Apr 18 06:53:11 h2502988.stratoserver.net ifup[3551]:                 [-sf scrip
t-file] [interface]
Apr 18 06:53:11 h2502988.stratoserver.net ifup[3551]: Не удалось поднять eth0.
Apr 18 06:53:11 h2502988.stratoserver.net systemd[1]: networking.service: Основной процесс
завершился, код=завершился, статус=1/НЕУДАЧА
Apr 18 06:53:11 h2502988.stratoserver.net systemd[1]: Не удалось запустить Включение сетевых
интерфейсов.
Apr 18 06:53:11 h2502988.stratoserver.net systemd[1]: networking.service: Юнит перешел в
состояние ошибки.
Apr 18 06:53:11 h2502988.stratoserver.net systemd[1]: networking.service: Завершился с результатом 'exit-code'.

Мой /etc/network/interfaces выглядит так:

# Интерфейс сетевой петли
auto lo
iface lo inet loopback

# Основной сетевой интерфейс
auto eth0
iface eth0 inet dhcp

С чего я могу начать отладку?

Спасибо за любую подсказку!
С уважением, K

# sudo ifup --verbose eth0
Настройка интерфейса eth0=eth0 (inet)
/bin/run-parts --exit-on-error --verbose /etc/network/if-pre-up.d
run-parts: выполнение /etc/network/if-pre-up.d/ethtool
run-parts: выполнение /etc/network/if-pre-up.d/wireless-tools
run-parts: выполнение /etc/network/if-pre-up.d/wpasupplicant

/sbin/dhclient -1 -v -pf /run/dhclient.eth0.pid -lf /var/lib/dhcp/dhclient.eth0.leases -I -df /var/lib/dhcp/dhclient6.eth0.leases eth0  
Клиент DHCP от Интернет-системного консорциума 4.2.4
Copyright 2004-2012 Internet Systems Consortium.
Все права защищены.
Для информации, пожалуйста, посетите https://www.isc.org/software/dhcp/
Использование: dhclient <snip>
Не удалось поднять eth0.

Со мной это только что произошло. Причиной была несогласованность зависимостей пакетов, которая прервала мой переход с trusty на xenial, так что некоторые версии пакетов были не согласованы. В моем случае дилемму вызвали squid3 и ca-certificates-java.

Я восстановил сетевое подключение, просто запустив dhclient eth0. После того как я устранил несогласованность пакетов, удалив вызывающие проблемы пакеты и запустив apt-get install -f, я выполнил apt-get dist-upgrade и apt-get install ubuntu-standard. Это полностью решило мою проблему.

Что привело меня к подозрению на несогласованность, так это то, что бинарник /sbin/ifup содержал устаревшую командную строку dhclient с более не поддерживаемой опцией -I. Это должно быть несоответствие версии пакетов.

Я предполагаю, что вы только что установили/обновили более новую ОС, такую как Ubuntu 16.04, и из-за отказа от традиционных схем именования интерфейсов, таких как eth0 или eth1, система не может запустить ваш интерфейс.

Попробуйте отредактировать ваш /etc/network/interfaces, чтобы использовать ens32 или ens192 вместо eth0, как

# Интерфейс сетевой петли
auto lo
iface lo inet loopback

# Ethernet интерфейс
auto ens192
iface ens192 inet dhcp

Это должно позволить вам перезапустить сетевой интерфейс. Надеюсь, это поможет.
Для получения подробной информации об изменениях предсказуемых имен сетевых интерфейсов

https://www.freedesktop.org/wiki/Software/systemd/PredictableNetworkInterfaceNames/

Не уверен, насколько это все еще полезно: кажется, что у dhclient больше нет опций “-I” или “-df”, которые, согласно man-странице выполняют DDNS:

-I Использовать стандартную схему DDNS от RFCs 4701 & 4702.

Как только я убрал эту опцию из командной строки, dhclient смог поднять eth0.

[ИЗМЕНЕНО]: Теперь, если бы я мог найти, где находится эта опция “-I”…

У меня была схожая проблема, как у автора вопроса и Wei Wang, когда ifup пытался запустить dhclient с опцией -I, но моя версия dhclient была старой, которая ее не поддерживала. Предполагаю, это было вызвано моей предыдущей попыткой загрузки/установки Chromium для Xenial (16.04) в то время, как моя система оставалась на Trusty (14.04), что, вероятно, также обновило некоторые другие части моей системы.

В итоге, мое решение заключалось в том, чтобы вручную загрузить и установить соответствующие пакеты, связанные с dhclient, из официальной версии Xenial. Требуется три пакета, и их необходимо устанавливать в следующем порядке:

  1. libisc-export160 (https://ubuntu.pkgs.org/16.04/ubuntu-main-amd64/libisc-export160_9.10.3.dfsg.P4-8_amd64.deb.html)
  2. libdns-export162 (https://ubuntu.pkgs.org/16.04/ubuntu-main-amd64/libdns-export162_9.10.3.dfsg.P4-8_amd64.deb.html)
  3. isc-dhcp-client_4.3.3 (https://ubuntu.pkgs.org/16.04/ubuntu-main-amd64/isc-dhcp-client_4.3.3-5ubuntu12_amd64.deb.html)

После этого команда dhclient --version показала, что у меня версия 4.3.3, которая поддерживает опцию -I, и я смог снова использовать ifup.

Попробуйте это:

sudo ifdown --exclude=lo -a && sudo ifup --exclude=lo -a

Таким образом замените networking restart на ifdown... && ifup....

К слову: ifconfig также давно устарел – используйте ip из пакета iproute2

Попробуйте также

ifconfig eth0 down && ifconfig eth0 up

(или как там называется ваш сетевой интерфейс), чтобы перезапустить сеть.

@jos упоминает в комментарии к оригинальному посту:

Наличие строк “Использование:…” выглядит так, будто команда dhclient завершилась с ошибкой из-за неверных параметров…

У меня была точно такая же проблема, и ведение подробного журнала было ключом.

ifup --verbose eth0

Ищите вывод, объясняющий параметры DHCP.

Затем я взял вывод из:

/sbin/dhclient -4 -v -pf /run/dhclient.eth0.pid -if /var/lib/dhcp/dhclient.eth0.leases -I -df /var/lib/dhcp/dhclient6.eth0.leases eth0

и изменил на:

/sbin/dhclient -4 -v -pf /run/dhclient.eth0.pid eth0 и затем я получил адрес.

Полагаю, что какое-либо обновление программного обеспечения сделало так, чтобы dhclient вышел из синхронизации с тем, что происходило на моей системе Debian 7.11.

Para resolver é simples.

В /etc/network/interfaces.d/
удалите все файлы внутри этого каталога

В /etc/network/
создайте файл с именем interfaces
и внутри него поместите текст ниже

source /etc/network/interfaces.d/*
auto lo
iface lo inet loopback

Перезагрузите компьютер и в рабочем столе создайте сетевое соединение.

Если используется только терминал, придется вписать в файл interfaces настройки для активации сетевой карты.

Это также подходит для ошибки Debian 12, который создает файл с именем setup внутри интерфейсов.d с eth0 и возникает ошибка при запуске службы сети.

abçs

.

Ответ или решение

Когда сеть eth0 не поднимается, это, как правило, связано с несоответствием конфигураций или с ошибками в параметрах запуска сетевых интерфейсов. Попробуем подробно разобрать шаги, которые помогут вам устранить эту проблему.

Изучение проблемы

  1. Анализ сообщений об ошибках:
    Проверьте вывод systemctl status networking.service. Здесь указано, что главный процесс ifup завершился с ошибкой из-за неверных параметров команды dhclient. Система сообщает о том, что она не может поднять интерфейс eth0.

  2. Проверка конфигурационного файла:
    Ваш файл /etc/network/interfaces содержит состояние для интерфейса eth0, который пытается получить IP-адрес по DHCP. Убедитесь, что синтаксис файла правильно оформлен, что можно сделать через команду ifdown eth0 && ifup eth0.

Возможные решения

  1. Проблема с параметрами dhclient:
    Ошибка в сообщении указывает на некорректные параметры dhclient. Запустите dhclient eth0 вручную, чтобы проверить, работает ли команда отдельно. Если команда выполняется без ошибок и интерфейс получает IP-адрес, то проблема скорее всего в конфигурации запуска ifup.

  2. Несоответствие версий пакетов:
    Проверьте, все ли пакеты обновлены и совместимы. Ошибки могут возникать из-за устаревшей версии dhclient, которая не поддерживает новые параметры. Используйте команды apt-get install -f и apt-get dist-upgrade, чтобы устранить несоответствия пакетов.

  3. Изменение имен сетевых интерфейсов в Ubuntu:
    В более новых версиях Ubuntu сетевые интерфейсы больше не имеют имен формата eth0. Проверьте текущее имя интерфейса при помощи ip link list и обновите файл /etc/network/interfaces, чтобы использовать правильное имя интерфейса, например, ens192 или ens32.

  4. Удаление ненужных файлов конфигурации:
    Проверьте папку /etc/network/interfaces.d/ и удалите все некорректные файлы, которые могут мешать запуску сетевых интерфейсов. Создайте единый файл конфигурации в /etc/network/interfaces с корректными настройками.

Итог

Для решения проблемы вы должны сфокусироваться на нескольких аспектах: корректности конфигурационных файлов, совместимости версий пакетов и актуальности имен сетевых интерфейсов. После проведения описанных выше шагов, ваш интерфейс eth0 должен быть поднят корректно, что обеспечит нормальную работу сетевых служб вашего сервера. Если проблема сохраняется, обратитесь за консультацией к более опытному администратору или в службу поддержки вашего дистрибутива.

Оцените материал
Добавить комментарий

Капча загружается...