Không kết nối mạng: Không thể đưa eth0 lên


12

Dịch vụ mạng không khởi động / không bắt đầu khởi động lại.

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

Tôi vẫn có thể truy cập máy chủ thông qua bảng điều khiển từ xa, nhưng không có gì khác, vì không có mạng, không có lối thoát cũng như không có.

tình trạng systemctl mạng.service nói:

● 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'.

Giao diện / etc / mạng / của tôi trông như sau:

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
auto eth0
iface eth0 inet dhcp

Tôi có thể bắt đầu gỡ lỗi ở đâu?

Cảm ơn cho bất kỳ gợi ý! Trân trọng, 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
Hệ thống cố gắng mang giao diện mạng của bạn upbằng cách thực thi, từng cái một, các tập lệnh được đặt trong đó /etc/network/if-up.d. Một trong số này chứa mộtdhclient lệnh thất bại. Vì vậy, làm một cái gì đó như grep -R dhclient /etc/network/if-up.d/*và xem những gì bạn nhận được.
Jos

Cảm ơn thông tin này. Không có lệnh dhclient, không có trong if-up.d hay ở trên.
Katja Süss

Bạn có thể làm một hướng dẫn sudo ifup --verbose eth0 để xem mọi thứ đi sai ở đâu?
Jos

Tôi đã thêm đầu ra của # sudo ifup --verbose eth0 vào câu hỏi của tôi.
Katja Süss

Sự hiện diện của các dòng "Cách sử dụng: ..." làm cho nó trông như thể lệnh dhclient không thành công vì có lỗi trong các tham số. Tuy nhiên, theo như tôi có thể nói lệnh là chính xác. Hơn nữa, tôi có cùng dòng "Cách sử dụng" /var/log/syslog. Bạn có thể cố gắng tự thực hiện dhclientlệnh bằng tay. Nếu không có thông báo lỗi sau, không có vấn đề với dhclient.
Jos

Câu trả lời:


7

Nó vừa mới xảy ra với tôi. Lý do là có sự không nhất quán phụ thuộc gói đã làm gián đoạn quá trình nâng cấp của tôi từ đáng tin cậy sang xenial, vì vậy một số phiên bản gói không nhất quán. Trong trường hợp của tôi, sự không nhất quán là do squid3 và ca-cert-java.

Tôi đã khôi phục kết nối mạng bằng cách chạy dhclient eth0. Sau khi giải quyết sự không nhất quán của gói bằng cách loại bỏ các gói vi phạm và chạy apt-get install -f, tôi đã chạy apt-get dist-upgradeapt-get install ubuntu-standard. Điều này giải quyết hoàn toàn vấn đề của tôi.

Điều khiến tôi nghi ngờ sự không nhất quán là /sbin/ifupnhị phân chứa dhclientdòng lệnh lỗi thời với -Itùy chọn không còn được hỗ trợ . Nó phải là một phiên bản gói không nhất quán.


bằng cách nào đó, bản nâng cấp do phát hành của tôi cũng bị kẹt và điều này cũng hiệu quả với tôi, cảm ơn!.
Evert

6

Tôi giả sử rằng bạn vừa cài đặt / nâng cấp lên HĐH mới hơn như Ubuntu 16.04 và do sự rời khỏi các sơ đồ đặt tên giao diện truyền thống như eth0, hoặc eth1hệ thống không thể khởi động giao diện của bạn.

Hãy thử chỉnh sửa /etc/network/interfacesđể sử dụng ens32hoặcens192 thay vì eth0thích

# The loopback network interface
auto lo
iface lo inet loopback

# The Ethernet interface
auto ens192
iface ens192 inet dhcp

Điều đó sẽ cho phép bạn khởi động lại giao diện mạng. Tôi hy vọng nó sẽ giúp. Để biết chi tiết về các thay đổi giao diện mạng dự đoán

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


cách khắc phục đối với tôi là: askubfox.com/a/830163/543586
theINtoy

Thật là một sự cứu rỗi. Đây chính xác là những gì đã khiến máy chủ linux ảo của tôi không quay trở lại mạng sau khi họ thực hiện cập nhật kernel bắt buộc cho meltdown. của tôi là const3 (làm ip link show và tìm cái nào áp dụng cho bạn)
Patrick F

2

Không chắc chắn nếu điều này vẫn hữu ích: Dường như dhclient không còn tùy chọn "-I" hoặc "-df", mà theo trang man thực hiện DDNS:

-Tôi sử dụng sơ đồ DDNS tiêu chuẩn từ RFC 4701 & 4702.

Khi tôi xóa tùy chọn đó khỏi dòng lệnh, dhclient có thể hiển thị eth0.

[EDIT] : Bây giờ nếu tôi có thể tìm thấy tùy chọn "-I" đó ở đâu ...


1
Tôi đang cố gắng tìm ra lệnh "dhclient" được gọi với các tùy chọn đó. Tôi tạm thời có được mạng bằng cách chạy thủ công lệnh dhclient mà không có hai tùy chọn đó. - Tôi dường như không có đủ danh tiếng để bình luận ở nơi khác vì vậy tôi đang thêm vào câu trả lời của riêng mình ở đây.
Wei Wang

1
TLin (bên dưới) là đúng. Gói isc-dhcp-client bị kẹt trên phiên bản cũ hơn. Nắm bắt tốt! Tôi chỉ cần thực hiện một "apt-get install isc-dhcp-client" để cài đặt 4.3.3 và hệ thống rất vui sau đó.
Ngụy Vương

Wei Wang: Cảm ơn rất nhiều, cài đặt lại 'isc-dhcp-client' như bạn đề xuất đã thực hiện thủ thuật! Tôi đã giết được máy chủ (VM khách!) Ở giữa bản nâng cấp do phát hành, điều này không thực sự thông minh. Bây giờ tôi có thể tiếp tục sửa chữa những thứ này thông qua ssh và với mạng một lần nữa! Cảm ơn.
stolsvik

1

Tôi gặp vấn đề tương tự như OP và Wei Wang, nơi ifupđang cố gắng chạy nhanh với-I tùy chọn, nhưng dhclient của tôi là một phiên bản cũ hơn không hỗ trợ nó. Tôi đoán là do cách hack trước đây của tôi để tải xuống / cài đặt Chromium Xenial (16.04) trong khi giữ hệ thống của tôi trên Trusty (14.04), nó cũng phải nâng cấp một số phần khác trong hệ thống của tôi.

Tóm lại, cách khắc phục của tôi là tải xuống và cài đặt thủ công các gói có liên quan đến dhclient trong thượng nguồn Xenial. Có ba gói cần thiết và nó cần được cài đặt theo thứ tự sau:

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

Sau đó, dhclient --versioncho thấy tôi có 4.3.3 hỗ trợ -Itùy chọn và tôi có thể sử dụng ifuplại.


0

Thử đi:-

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

Vì vậy, thay thế networking restartbằngifdown... && ifup....

Chỉ là một bên: ifconfigđã bị iptừ chối trong một thời gian dài - sử dụng từ góiiproute2

Bạn cũng có thể thử

ifconfig eth0 down && ifconfig eth0 up

(hoặc bất cứ điều gì giao diện mạng của bạn được gọi) để khởi động lại mạng.


0

@jos đề cập trong một bình luận về bài viết gốc:

Sự hiện diện của các dòng "Cách sử dụng: ..." làm cho nó trông như thể lệnh dhclient không thành công vì có lỗi trong các tham số ...

Tôi đã có vấn đề chính xác này và đăng nhập dài dòng là gợi ý.

ifup --verbose eth0

Tìm đầu ra giải thích các tham số DHCP.

Sau đó tôi lấy đầu ra từ:

/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

chỉ đơn giản là:

/sbin/dhclient -4 -v -pf /run/dhclient.eth0.pid eth0 và sau đó tôi nhận được một địa chỉ.

Tôi tin rằng một số cập nhật phần mềm đã khiến dhclient không đồng bộ hóa những gì đang xảy ra trên hệ thống Debian 7.11 của tôi.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.