Brak sieci po aktualizacji do 16.04

12

Zaktualizowałem mój serwer do wersji 16.04 z 14.04, która z kolei została zaktualizowana z 12.04, wszystkie za pomocą wiersza polecenia do-release-upgrade. To jest wersja serwerowa, absolutnie bez GUI. Działa z apache2, bind9, nfs i kilkoma innymi usługami sieciowymi. W przeważającej części podczas aktualizacji nic się nie zepsuło ... oprócz sieci. Teraz muszę biec

sudo /etc/init.d/networking start

po każdym ponownym uruchomieniu, aby uzyskać połączenie z siecią. Niezbyt pomocny dla serwera. Domyślam się, że skrypt sieciowy po prostu nie jest uruchamiany podczas uruchamiania; normalnie mogę rozwiązać problem, uruchamiając

sudo update-rc.d networking defaults

ale powyższe polecenie po prostu wyświetla błąd dotyczący niemożności połączenia się z programem upstart.

Co mogę zrobić, aby naprawić moją sieć?

Edycja: zawartość / etc / network / interfaces:

#loopback
auto lo
iface lo inet loopback

#eth0
auto eth0
iface eth0 inet dhcp
ArmanX
źródło
czy możesz dodać linie w swoim /etc/network/interfacespliku do swojego pytania?
John Orion
@JohnOrion gotowe. Upewniłem się również, że urządzenie sieciowe to tak naprawdę eth0; Wcześniej miałem urządzenia zmieniające się między eth0 i eth1. Rzeczywiście jest to eth0.
ArmanX
Co ifconfigpokazuje Co dzieje się, gdy biegniesz sudo ifup eth0?
Cerin,
1
Dla przyszłych osób poszukujących informacji: „ifconfig” nic nie pokazuje; „ifconfig -a” pokazuje, że adapter tam jest, ale nie został aktywowany. „sudo ifup eth0” (lub „sudo ifconfig eth0 up”) uruchomi adapter, ale nie uruchomi klienta dhcp. Ręczne uruchamianie adaptera i uruchamianie programu dhclient łączy się zgodnie z oczekiwaniami.
ArmanX
To powiedziawszy, w końcu ponownie zainstalowałem wszystko od zera, co naprawiło.
ArmanX

Odpowiedzi:

23

to samo tutaj.

Myślę, że coś poszło nie tak podczas migracji z wersji upstart do systemd w procesie instalacji?

opiszę jak to naprawiłem

Postępując zgodnie z tym przewodnikiem, włączyłem systemową sieć: http://xmodulo.com/switch-from-networkmanager-to-systemd-networkd.html

Kroki, które zrobiłem:

$ 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

Zadowolony:

[Match]
Name=e*

[Network]
DHCP=yes

Teraz wszystko działa dobrze :-)

HerrTaschenbier
źródło
huzzah! To rozwiązało również dla mnie!
Craig
Nie działało tutaj. Trzecie zdanie było błędne.
jjmerelo
2

Rozwiązanie adresu statycznego:

Aby dodać do odpowiedzi HerrTaschenbier: Jeśli masz statyczny adres na swoim serwerze, powinieneś sprawdzić, czy nazwa karty sieciowej została zmieniona przez to, ifconfig -a że znalazłem nazwę eth0 ens32. Wykorzystaj te informacje i zastosuj je do odpowiedzi HerrTaschenbier. Potrzebny będzie również, aby utworzyć nowy plik jako polecił, sudo vi /etc/systemd/network/20-ens32.network. Treść jest nieco inna.

[Match] 
Name=ens32

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

Uwaga: format nazwy pliku zawiera nazwę karty sieciowej. Nie zapomnij również zmienić nazwy adaptera w pliku / etc / network / interfaces. Zdarzyło mi się to z aktualizacji 14.04 na 16.04.

G_Style
źródło
1

Ten sam problem napotkałem po długim użyciu 16.04, prawdopodobnie niektóre aktualizacje zawiodły.

Uruchomienie systemctl status networking.servicepokazało, że usługa nie uruchomiła się z powodu błędu w ifup -apołączeniu. Uruchamianie ifup -aosobno ujawniło, że próbuje współpracować z eth0interfejsem, a jednocześnie ifconfig -atylko z listą enp0s31f6i lointerfejsami. Sprawdzanie /etc/network/interfaceswykazało:

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

auto eth0
iface eth0 inet dhcp

Korekta nazwy interfejsu do tego, co zostało znalezione przez ifconfigrozwiązanie problemu:

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

auto enp0s31f6
iface enp0s31f6 inet dhcp
Nykodym
źródło