Сетевая служба не запускается / не запускается при перезагрузке.
Restarting networking (via systemctl): networking.serviceJob for networking.service failed because the control process exited with error code.
Я все еще могу получить доступ к серверу через удаленную консоль, но больше ничего, так как без сети нет выхода, ни в.
systemctl status network.service говорит:
● networking.service - Raise network interfaces
Loaded: loaded (/lib/systemd/system/networking.service; enabled; vendor prese
t: enabled)
Drop-In: /run/systemd/generator/networking.service.d
└─50-insserv.conf-$network.conf
Active: failed (Result: exit-code) since Mo 2016-04-18 06:53:11 UTC; 43s ago
Docs: man:interfaces(5)
Process: 3551 ExecStart=/sbin/ifup -a --read-environment (code=exited, status=
1/FAILURE)
Process: 3546 ExecStartPre=/bin/sh -c [ "$CONFIGURE_INTERFACES" != "no" ] && [
-n "$(ifquery --read-environment --list --exclude=lo)" ] && udevadm settle (cod
e=exited, status=0/SUCCESS)
Main PID: 3551 (code=exited, status=1/FAILURE)
Apr 18 06:53:11 h2502988.stratoserver.net ifup[3551]: For info, please visit htt
ps://www.isc.org/software/dhcp/
Apr 18 06:53:11 h2502988.stratoserver.net ifup[3551]: Usage: dhclient [-4|-6] [-
SNTP1dvrx] [-nw] [-p <port>] [-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]: Failed to bring up eth0.
Apr 18 06:53:11 h2502988.stratoserver.net systemd[1]: networking.service: Main p
rocess exited, code=exited, status=1/FAILURE
Apr 18 06:53:11 h2502988.stratoserver.net systemd[1]: Failed to start Raise netw
ork interfaces.
Apr 18 06:53:11 h2502988.stratoserver.net systemd[1]: networking.service: Unit e
ntered failed state.
Apr 18 06:53:11 h2502988.stratoserver.net systemd[1]: networking.service: Failed
with result 'exit-code'.
Мой / etc / network / interfaces выглядит так:
# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
auto eth0
iface eth0 inet dhcp
Где я могу начать отлаживать?
Спасибо за любую подсказку! С уважением, K
# sudo ifup --verbose eth0
Configuring interface eth0=eth0 (inet)
/bin/run-parts --exit-on-error --verbose /etc/network/if-pre-up.d
run-parts: executing /etc/network/if-pre-up.d/ethtool
run-parts: executing /etc/network/if-pre-up.d/wireless-tools
run-parts: executing /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
Internet Systems Consortium DHCP Client 4.2.4
Copyright 2004-2012 Internet Systems Consortium.
All rights reserved.
For info, please visit https://www.isc.org/software/dhcp/
Usage: dhclient <snip>
Failed to bring up eth0.
networking
server
16.04
Катя Сюсс
источник
источник
up
, выполняя, один за другим, скрипты, которые находятся в/etc/network/if-up.d
. Один из них содержитdhclient
команду, которая не выполняется. Так что сделайте что-нибудь подобноеgrep -R dhclient /etc/network/if-up.d/*
и посмотрите, что вы получите.sudo ifup --verbose eth0
чтобы увидеть, где все идет не так?/var/log/syslog
. Вы можете попробовать выполнитьdhclient
команду вручную самостоятельно. Если сообщение об ошибке не появляется, проблема не возникаетdhclient
.Ответы:
Это только что случилось со мной. Причина заключалась в том, что была несогласованность зависимостей пакетов, которая прервала мое обновление с доверенного на 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
какЭто должно позволить вам перезагрузить сетевой интерфейс. Я надеюсь, что это помогает. Подробнее о прогнозируемых изменениях сетевого интерфейса
https://www.freedesktop.org/wiki/Software/systemd/PredictableNetworkInterfaceNames/
источник
ip link show
и находи, какой это относится к тебе)Не уверен, что это все еще полезно: кажется, что у dhclient больше нет опции "-I" или "-df", которая согласно man-странице делает DDNS:
Как только я уберу эту опцию из командной строки, dhclient сможет вызвать eth0.
[РЕДАКТИРОВАТЬ] : Теперь, если бы я мог найти, где эта опция "-I" ...
источник
У меня была похожая проблема с OP и Wei Wang, где я
ifup
пытался запустить dhclient с-I
опцией, но мой dhclient был более старой версией, которая не поддерживала ее. Я предполагаю, что это произошло из-за моего предыдущего хакерского способа загрузки / установки Xenial (16.04) Chromium, в то время как моя система работала на Trusty (14.04), он также должен был обновить некоторые другие части моей системы.Короче говоря, мое исправление состояло в том, чтобы вручную загрузить и установить соответствующие пакеты, относящиеся к dhclient, в исходной версии Xenial. Требуется три пакета, и их необходимо установить в следующем порядке:
После этого
dhclient --version
показал, что у меня есть 4.3.3, которая поддерживает эту-I
опцию, и я смог использоватьifup
снова.источник
Попробуй это:-
Так что заменить
networking restart
наifdown... && ifup....
Просто как в стороне:
ifconfig
также давно устарел - использоватьip
из пакетаiproute2
Вы также можете попробовать
(или как называется ваш сетевой интерфейс), чтобы перезапустить сеть.
источник
@jos упоминает в комментарии к оригинальному сообщению:
У меня была эта точная проблема, и подробное ведение журнала было намеком.
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.
источник