Ağ yok: eth0 getirilemedi


13

Ağ hizmeti başlatılamıyor / yeniden başlatıldığında başlamıyor.

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

Sunucuya hala uzak konsoldan erişebiliyorum, ancak başka bir şey yok, çünkü ağ olmadan, çıkış veya giriş yok.

systemctl status networking.service diyor ki:

● 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 / arayüzlerim şöyle:

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
auto eth0
iface eth0 inet dhcp

Nerede hata ayıklamaya başlayabilirim?

Herhangi bir ipucu için teşekkürler! Saygılarımızla, 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.

1
Sistem up, bulunan komut dosyalarını tek tek çalıştırarak ağ arayüzünüzü getirmeye çalışır /etc/network/if-up.d. Bunlardan biri dhclientbaşarısız olan bir komut içeriyor . Yani böyle bir şey yapın grep -R dhclient /etc/network/if-up.d/*ve ne elde ettiğinizi görün.
Jos

Bu bilgi için teşekkürler. Dhclient komutu yoktur, if-up.d veya üstü komutlarda yoktur.
Katja Süss

sudo ifup --verbose eth0İşlerin nerede yanlış gittiğini görmek için bir kılavuz yapabilir misiniz ?
Jos

Soruma # sudo ifup --verbose eth0 çıktısını ekledim.
Katja Süss

"Usage: ..." satırlarının varlığı, parametrelerde bir hata olduğu için dhclient komutu başarısızmış gibi görünmesini sağlar. Ancak komutun doğru olduğunu söyleyebildiğim kadarıyla. Üstelik aynı "Kullanım" satırlarımda var /var/log/syslog. dhclientKomutu manuel olarak tek başına yürütmeyi deneyebilirsiniz . Takip eden bir hata mesajı yoksa, hiçbir sorun yoktur dhclient.
Jos

Yanıtlar:


7

Bu benim başıma geldi. Bunun nedeni, yükseltmemi güvenilirden ksenal'e kesintiye uğratan bir paket bağımlılığı tutarsızlığı olmasıydı, bu nedenle bazı paket sürümleri tutarsızdı. Benim durumumda tutarsızlık squid3 ve ca-certificate-java neden oldu.

Sadece çalışarak ağ bağlantısını yeniden kurdum dhclient eth0. Rahatsız edici paketleri kaldırarak ve çalıştırarak paket tutarsızlığını çözdükten sonra apt-get install -f, koştum apt-get dist-upgradeve apt-get install ubuntu-standard. Bu benim sorunumu tamamen çözdü.

Beni tutarsızlıktan şüphelenmeye iten şey, /sbin/ifupikili programın dhclientartık desteklenmeyen -Iseçenekle eski komut satırını içermesidir . Bir paket sürümü tutarsızlığı olmalıdır.


bir şekilde benim serbest bırakma-yükseltme de sıkıştı ve bu benim için de çalıştı, teşekkürler !.
Evert

6

Ubuntu 16.04 gibi daha yeni bir işletim sistemine yeni yüklediğinizi / yükselttiğinizi ve gelenek arabirimi adlandırma şemalarından ayrılma nedeniyle eth0veya eth1sistem arabiriminizi başlatamadığını varsayıyorum .

Düzenleme deneyin /etc/network/interfacesya kullanımına ens32veya ens192yerine eth0benzeri

# The loopback network interface
auto lo
iface lo inet loopback

# The Ethernet interface
auto ens192
iface ens192 inet dhcp

Bu, ağ arabiriminin yeniden başlatılmasını sağlayacaktır. Umut ediyorum bu yardım eder. Tahmini ağ arayüzü değişiklikleri hakkında ayrıntılar için

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


benim için düzeltme: askubuntu.com/a/830163/543586
theINtoy

Ne hayat kurtarıcı. Bu, sanal linux ana bilgisayarımı erime için zorunlu bir çekirdek güncellemesi yaptıktan sonra ağa geri dönmesini engelleyen şeydi. benimki ens3 idi ( ip link show hangisinin sizin için geçerli olduğunu bulun ve bulun)
Patrick F

2

Bunun hala faydalı olup olmadığından emin değilim: dhclient'in artık "-I" veya "-df" seçeneğine sahip olmadığı anlaşılıyor, bu da man sayfasına göre DDNS yapıyor:

-I RFC 4701 ve 4702 standart DDNS şemasını kullanın.

Bu seçeneği komut satırından kaldırdığımda, dhclient eth0'ı getirebilir.

[EDIT] : Şimdi bu "-I" seçeneğinin nerede olduğunu bulabilirsem ...


1
Bu seçeneklerle "dhclient" komutunun nerede çağrıldığını anlamaya çalışıyorum. Bu iki seçenek olmadan dhclient komutunu manuel olarak çalıştırarak ağı geçici olarak kurdum. - Başka bir yerde yorum yapmak için yeterli üne sahip değilim, bu yüzden burada kendi cevabımı ekliyorum.
Wei Wang

1
TLin (aşağıda) doğru. İsc-dhcp-client paketi daha eski bir sürüme yapışmıştı. İyi yakalama! Ben sadece 4.3.3 yüklemek için "apt-get install isc-dhcp-client" yapmak zorunda kaldı ve sistem bundan sonra mutlu.
Wei Wang

Wei Wang: Çok teşekkürler, hile yaptığınızı önerdiğiniz gibi 'isc-dhcp-client'ı yeniden yüklemek! Ben tam olarak akıllı değildi bir do-release-yükseltme ortasında ana bilgisayar (VM konuk!) Öldürmek başardı. Şimdi ssh ile bu şeyleri düzeltmeye ve tekrar ağ yapmaya devam edebilirim! Teşekkürler.
stolsvik

1

OP ve Wei Wang ile benzer bir sorunum vardı, burada ifupdhclient'i -Iseçenekle çalıştırmaya çalışıyordum , ancak dhclient bunu desteklemeyen eski bir sürümdü. Tahminimce bu, sistemimi Trusty (14.04) üzerinde tutarken Xenial (16.04) Chromium'u indirmek / yüklemek için önceki hacky yolumdan kaynaklanıyordu, ayrıca sistemimin bazı diğer kısımlarını da yükseltmiş olmalı.

Uzun lafın kısası, düzeltmem, dhclient ile ilgili paketleri yukarı doğru Xenial'e manuel olarak indirmek ve kurmaktı. Üç paket gereklidir ve aşağıdaki sırayla yüklenmesi gerekir:

  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 )

Bundan sonra dhclient --version, -Iseçeneği destekleyen 4.3.3'üm olduğunu gösterdi ve ifuptekrar kullanabildim .


0

Bunu dene:-

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

Yani yerini networking restartileifdown... && ifup....

Bir kenara olduğu gibi: ifconfiguzun zamandır kullanımdan kaldırıldı - ippaketten kullanıniproute2

Ayrıca deneyebilirsin

ifconfig eth0 down && ifconfig eth0 up

(veya ağ arayüzünüzün adı ne olursa olsun) ağı yeniden başlatmak için.


0

@jos orijinal gönderiye yaptığı bir yorumda bahsediyor:

"Kullanım: ..." satırlarının varlığı, parametrelerde bir hata olduğu için dhclient komutu başarısız gibi görünüyor ...

Bu kesin sorun vardı ve ayrıntılı günlük ipucu oldu.

ifup --verbose eth0

DHCP parametrelerini açıklayan çıktıya bakın.

Daha sonra çıktıyı aldım:

/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

basitçe:

/sbin/dhclient -4 -v -pf /run/dhclient.eth0.pid eth0 ve sonra bir adres aldım.

Bazı yazılım güncellemelerinin Debian 7.11 sistemimde olanların senkronizasyondan çıkmasına neden olduğuna inanıyorum.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.