Kein Netzwerk nach dem Upgrade auf 16.04

11

Ich habe meinen Server von 14.04 auf 16.04 aktualisiert, was wiederum von 12.04 aktualisiert wurde, und zwar alle über die Befehlszeile do-release-upgrade. Dies ist ein Server-Build ohne GUI. Es werden Apache2, Bind9, NFS und einige andere netzwerkbezogene Dienste ausgeführt. Zum größten Teil war beim Upgrade nichts kaputt ... außer dem Netzwerk. Jetzt muss ich rennen

sudo /etc/init.d/networking start

Nach jedem Neustart wird eine Verbindung zum Netzwerk hergestellt. Nicht sehr hilfreich für einen Server. Ich vermute, dass das Netzwerkskript beim Start einfach nicht ausgeführt wird. Normalerweise könnte ich das Problem durch Ausführen beheben

sudo update-rc.d networking defaults

Der obige Befehl gibt jedoch nur einen Fehler darüber aus, dass keine Verbindung zum Upstart hergestellt werden kann.

Was kann ich tun, um mein Netzwerk zu reparieren?

Bearbeiten: Der Inhalt von / etc / network / interfaces:

#loopback
auto lo
iface lo inet loopback

#eth0
auto eth0
iface eth0 inet dhcp
ArmanX
quelle
Können Sie die Zeilen in Ihrer /etc/network/interfacesDatei zu Ihrer Frage hinzufügen ?
John Orion
@ JohnOrion fertig. Ich habe auch sichergestellt, dass das Netzwerkgerät tatsächlich eth0 ist. Ich habe schon einmal Geräte zwischen eth0 und eth1 wechseln lassen. Es ist in der Tat eth0.
ArmanX
Was ifconfigzeigt? Was passiert beim Laufen sudo ifup eth0?
Cerin
1
Für zukünftige Informationssuchende: "ifconfig" zeigt nichts an; "ifconfig -a" zeigt an, dass der Adapter vorhanden, aber nicht aktiviert ist. "sudo ifup eth0" (oder "sudo ifconfig eth0 up") bringt den Adapter hoch, startet aber nicht den DHCP-Client. Das manuelle Aufrufen des Adapters und das Starten von dhclient stellt wie erwartet eine Verbindung her.
ArmanX
Das heißt, ich habe schließlich alles von Grund auf neu installiert, wodurch es behoben wurde.
ArmanX

Antworten:

21

hier gilt das gleiche.

Ich denke, bei der Migration von upstart auf systemd im Installationsprozess ist ein Fehler aufgetreten.

Ich werde beschreiben, wie ich es behoben habe

Nach diesem Handbuch habe ich das systemd-Netzwerk aktiviert: http://xmodulo.com/switch-from-networkmanager-to-systemd-networkd.html

Schritte, die ich gemacht habe:

$ sudo systemctl enable systemd-networkd
$ sudo systemctl enable systemd-resolved
$ sudo systemctl start systemd-resolved
$ sudo rm /etc/resolv.conf
$ sudo ln -s /run/systemd/resolve/resolv.conf /etc/resolv.conf
$ sudo vi /etc/systemd/network/20-dhcp.network

Inhalt:

[Match]
Name=e*

[Network]
DHCP=yes

Jetzt funktioniert alles gut :-)

HerrTaschenbier
quelle
huzzah! Das hat es auch für mich gelöst!
Craig
Hat hier nicht funktioniert. Die dritte Aussage ist fehlerhaft.
Jjmerelo
1

Lösung für statische Adressen:

Um die Antwort von HerrTaschenbier zu ergänzen: Wenn Sie eine statische Adresse auf Ihrem Server haben, sollten Sie überprüfen, ob die ifconfig -a Netzwerkkarte umbenannt wurde, indem Sie tun , dass eth0 in umbenannt wurde ens32. Verwenden Sie diese Informationen und wenden Sie sie auf die Antwort von HerrTaschenbier an. Sie müssen auch die neue Datei gemäß den Anweisungen erstellen sudo vi /etc/systemd/network/20-ens32.network. Der Inhalt ist etwas anders.

[Match] 
Name=ens32

[Network]
DNS=xxx.xxx.xxx.xxx
Domains=somedomain.com
Address=xxx.xxx.xxx
Gateway=xxx.xxx.xxx

Beachten Sie, dass das Dateinamenformat den Namen des Netzwerkadapters enthält. Vergessen Sie nicht, den Adapternamen auch in der Datei / etc / network / interfaces zu ändern. Dies ist mir von einem Upgrade vom 14.04 auf 16.04 passiert.

G_Style
quelle
0

Ich bin nach langer Nutzung von 16.04 auf dasselbe Problem gestoßen, wahrscheinlich haben einige Updates die Dinge durcheinander gebracht.

Das Ausführen systemctl status networking.servicezeigte, dass der Dienst aufgrund eines Anruffehlers nicht gestartet werden konnte ifup -a. Laufen ifup -aseparat gezeigt , dass es an der Arbeit mit versucht eth0Schnittstelle, während ifconfig -anur aufgelistet enp0s31f6und loSchnittstellen. Überprüfung /etc/network/interfacesergab:

# interfaces(5) file used by ifup(8) and ifdown(8)
auto lo
iface lo inet loopback

auto eth0
iface eth0 inet dhcp

Die Korrektur des Schnittstellennamens auf das, was gefunden wurde, ifconfiglöste das Problem:

# interfaces(5) file used by ifup(8) and ifdown(8)
auto lo
iface lo inet loopback

auto enp0s31f6
iface enp0s31f6 inet dhcp
Nykodym
quelle