
Сетевая служба не запускается/не запускается при перезагрузке.
Restarting networking (via systemctl): networking.serviceJob for networking.service failed because the control process exited with error code.
Я по-прежнему могу получить доступ к серверу через удаленную консоль, но больше ничего, поскольку без сети нет ни выхода, ни входа.
systemctl status networking.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
С чего начать отладку?
Спасибо за любую подсказку! С уважением, К.
# 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.
решение1
Это только что произошло со мной. Причина была в несоответствии зависимостей пакетов, которое прервало мое обновление с 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
. Должно быть, это несоответствие версии пакета.
решение2
Я предполагаю, что вы только что установили/обновили ОС до более новой версии, например Ubuntu 16.04, и из-за отхода от традиционных схем именования интерфейсов, таких как eth0
или eth1
, система не может запустить ваш интерфейс.
Попробуйте отредактировать свой вариант, /etc/network/interfaces
чтобы использовать ens32
или ens192
вместо eth0
нравится
# The loopback network interface
auto lo
iface lo inet loopback
# The Ethernet interface
auto ens192
iface ens192 inet dhcp
Это должно позволить перезапустить сетевой интерфейс. Надеюсь, это поможет. Подробности об изменениях предиктивного сетевого интерфейса
https://www.freedesktop.org/wiki/Software/systemd/PredictableNetworkInterfaceNames/
решение3
Не уверен, что это все еще полезно: похоже, что у dhclient больше нет опции "-I" или "-df", которая, согласностраница руководстваDDNS:
-Я использую стандартную схему DDNS из RFC 4701 и 4702.
После удаления этой опции из командной строки dhclient сможет запустить eth0.
[РЕДАКТИРОВАТЬ]: Теперь бы мне найти, где находится эта опция «-I»…
решение4
Попробуй это:-
sudo ifdown --exclude=lo -a && sudo ifup --exclude=lo -a
Поэтому замените networking restart
наifdown... && ifup....
Просто в качестве отступления: ifconfig
также уже давно не поддерживается — используйте ip
из пакетаiproute2
Вы также можете попробовать
ifconfig eth0 down && ifconfig eth0 up
(или как там называется ваш сетевой интерфейс) для перезапуска сети.