Tanpa jaringan: Gagal menampilkan eth0

13

Layanan jaringan gagal untuk memulai / tidak memulai saat reboot.

Restarting networking (via systemctl): networking.serviceJob for networking.service failed because the control process exited with error code.

Saya masih dapat mengakses server melalui konsol jarak jauh, tetapi tidak ada yang lain, karena tanpa jaringan, tidak ada jalan keluar atau masuk.

systemctl status networking.service mengatakan:

● 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 / interface saya terlihat seperti:

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
auto eth0
iface eth0 inet dhcp

Di mana saya bisa mulai men-debug?

Terima kasih atas petunjuknya! Salam, 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.
Katja Süss
sumber
1
Sistem mencoba menghadirkan antarmuka jaringan Anda updengan mengeksekusi, satu per satu, skrip yang berlokasi di /etc/network/if-up.d. Salah satunya berisi dhclientperintah yang gagal. Jadi lakukan sesuatu seperti grep -R dhclient /etc/network/if-up.d/*dan lihat apa yang Anda dapatkan.
Jos
Terima kasih atas informasi ini. Tidak ada perintah dhclient, tidak ada di if-up.d atau di atas.
Katja Süss
Bisakah Anda melakukan manual sudo ifup --verbose eth0untuk melihat kesalahannya?
Jos
Saya menambahkan output # sudo ifup --verbose eth0 ke pertanyaan saya.
Katja Süss
Kehadiran baris "Usage: ..." membuatnya tampak seolah-olah perintah dhclient gagal karena ada kesalahan dalam parameter. Namun sejauh yang saya tahu perintah itu benar. Selain itu, saya memiliki baris "Penggunaan" yang sama di blog saya /var/log/syslog. Anda dapat mencoba menjalankan dhclientperintah secara manual sendiri. Jika tidak ada pesan kesalahan yang mengikuti, tidak ada masalah dengan dhclient.
Jos

Jawaban:

7

Ini baru saja terjadi pada saya. Alasannya adalah bahwa ada inkonsistensi ketergantungan paket yang mengganggu upgrade saya dari trusty ke xenial, sehingga beberapa versi paket tidak konsisten. Dalam kasus saya, inkonsistensi disebabkan oleh squid3 dan ca-sertifikat-java.

Saya memulihkan koneksi jaringan dengan menjalankan hanya dhclient eth0. Setelah menyelesaikan paket inkonsistensi dengan menghapus paket yang menyinggung dan berjalan apt-get install -f, saya berlari apt-get dist-upgradedan apt-get install ubuntu-standard. Ini menyelesaikan masalah saya sepenuhnya.

Apa yang membuat saya mencurigai ketidakkonsistenan adalah bahwa /sbin/ifupbiner berisi dhclientbaris perintah yang sudah usang dengan opsi yang tidak lagi didukung -I. Itu harus inkonsistensi versi paket.

furstex
sumber
entah bagaimana upgrade-do-release saya juga macet, dan ini berhasil juga untuk saya, terima kasih!
Evert
6

Saya berasumsi bahwa Anda baru saja menginstal / meningkatkan ke OS yang lebih baru seperti Ubuntu 16.04, dan karena keberangkatan dari skema penamaan antarmuka tradisional seperti eth0atau eth1, sistem tidak dapat memulai antarmuka Anda.

Coba edit Anda /etc/network/interfacesuntuk digunakan ens32atau ens192bukan eth0suka

# The loopback network interface
auto lo
iface lo inet loopback

# The Ethernet interface
auto ens192
iface ens192 inet dhcp

Itu akan memungkinkan Anda me-restart antarmuka jaringan. Saya harap ini membantu. Untuk detail tentang perubahan antarmuka jaringan prediktif

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

P. Ntende
sumber
perbaikan untuk saya adalah: askubuntu.com/a/830163/543586
theINtoy
Sungguh penyelamat hidup. Inilah yang menjaga agar host virtual linux saya tidak kembali ke jaringan setelah mereka melakukan pembaruan kernel secara paksa untuk meltdown. punyaku adalah ens3 (lakukan ip link show dan temukan yang mana yang berlaku untukmu)
Patrick F
2

Tidak yakin apakah ini masih berguna: Tampaknya dhclient tidak lagi memiliki opsi "-I" atau "-df", yang menurut halaman manual melakukan DDNS:

-Saya Gunakan skema DDNS standar dari RFC 4701 & 4702.

Setelah saya menghapus opsi itu dari baris perintah, dhclient dapat membuka eth0.

[EDIT] : Sekarang jika saya bisa menemukan di mana opsi "-I" itu ...

Wei Wang
sumber
1
Saya mencoba mencari tahu di mana perintah "dhclient" dipanggil dengan opsi-opsi itu. Saya sementara mendapatkan jaringan dengan secara manual menjalankan perintah dhclient tanpa dua opsi itu. - Saya sepertinya tidak memiliki reputasi yang cukup untuk berkomentar di tempat lain, jadi saya menambahkan jawaban saya sendiri di sini.
Wei Wang
1
TLin (di bawah) benar. Paket isc-dhcp-client macet di versi yang lebih lama. Tangkapan yang bagus! Saya hanya perlu melakukan "apt-get install isc-dhcp-client" untuk menginstal 4.3.3 dan sistem senang setelah itu.
Wei Wang
Wei Wang: Terima kasih banyak, menginstal ulang 'isc-dhcp-client' seperti yang Anda sarankan lakukan triknya! Saya berhasil membunuh host (tamu VM!) Di tengah-tengah do-release-upgrade, yang tidak terlalu pintar. Sekarang saya bisa memperbaiki hal ini melalui ssh dan dengan jaringan lagi! Terima kasih.
stolsvik
1

Saya memiliki masalah yang sama seperti OP dan Wei Wang, di mana ifupmencoba menjalankan dhclient dengan -Iopsi, tetapi dhclient saya adalah versi yang lebih lama yang tidak mendukungnya. Dugaan saya adalah ini karena cara hacky saya sebelumnya untuk mengunduh / menginstal Chromium Xenial (16,04) sambil menjaga sistem saya pada Trusty (14,04), itu juga harus meningkatkan beberapa bagian lain dari sistem saya.

Singkatnya, perbaikan saya adalah secara manual mengunduh dan menginstal paket yang relevan terkait dengan dhclient di upstream Xenial. Ada tiga paket yang diperlukan, dan perlu diinstal dalam urutan berikut:

  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 )

Setelah itu, dhclient --versionmenunjukkan saya memiliki 4.3.3 yang mendukung -Iopsi, dan saya bisa menggunakannya ifuplagi.

TLin
sumber
0

Coba ini:-

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

Jadi gantikan networking restartdenganifdown... && ifup....

Sama seperti kata sampingan: ifconfigjuga sudah lama tidak digunakan - digunakan ipdari paketiproute2

Anda bisa coba juga

ifconfig eth0 down && ifconfig eth0 up

(atau apa pun antarmuka jaringan Anda dipanggil) untuk me-restart jaringan.

Afaque
sumber
0

@ jo menyebutkan dalam komentar di posting asli:

Kehadiran baris "Usage: ..." membuatnya tampak seolah-olah perintah dhclient gagal karena ada kesalahan dalam parameter ...

Saya punya masalah yang tepat ini dan logging verbose adalah petunjuknya.

ifup --verbose eth0

Cari output yang menjelaskan parameter DHCP.

Saya kemudian mengambil output dari:

/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

hanya:

/sbin/dhclient -4 -v -pf /run/dhclient.eth0.pid eth0 dan kemudian saya mendapat alamat.

Saya percaya beberapa pembaruan perangkat lunak membuat dhclient keluar dari sinkronisasi apa yang terjadi pada sistem Debian 7.11 saya.

Eugene van der Merwe
sumber