Aucun réseau après la mise à niveau vers 16.04

11

J'ai mis à niveau mon serveur à 16.04 à partir de 14.04, qui à son tour a été mis à niveau à partir de 12.04, tous en utilisant la ligne de commande do-release-upgrade. Il s'agit d'une version serveur, sans interface graphique. Il exécute apache2, bind9, nfs et quelques autres services liés au réseau. Pour la plupart, rien n'a été cassé dans la mise à niveau ... sauf le réseau. Maintenant, je dois courir

sudo /etc/init.d/networking start

après chaque redémarrage pour qu'il se connecte au réseau. Pas très utile pour un serveur. Je suppose que le script de mise en réseau n'est tout simplement pas exécuté au démarrage; normalement, je pourrais résoudre le problème en exécutant

sudo update-rc.d networking defaults

mais la commande ci-dessus donne juste une erreur sur l'impossibilité de se connecter à upstart.

Que puis-je faire pour réparer mon réseau?

Edit: Le contenu de / etc / network / interfaces:

#loopback
auto lo
iface lo inet loopback

#eth0
auto eth0
iface eth0 inet dhcp
ArmanX
la source
pouvez-vous ajouter les lignes de votre /etc/network/interfacesfichier à votre question?
John Orion
@JohnOrion fait. J'ai également vérifié que le périphérique réseau était bien eth0; J'ai déjà fait changer d'appareil entre eth0 et eth1. C'est, en effet, eth0.
ArmanX
Que ifconfigmontre-t-on? Que se passe-t-il lorsque vous courez sudo ifup eth0?
Cerin
1
Pour les futurs chercheurs d'informations: "ifconfig" ne montre rien; "ifconfig -a" indique que l'adaptateur est là, mais pas activé. "sudo ifup eth0" (ou "sudo ifconfig eth0 up") affichera l'adaptateur, mais ne lancera pas le client DHCP. Le lancement manuel de l'adaptateur et le démarrage de dhclient se connectent comme prévu.
ArmanX
Cela dit, j'ai finalement réinstallé tout à partir de zéro, ce qui l'a corrigé.
ArmanX

Réponses:

22

pareil ici.

Je pense que quelque chose s'est mal passé lors de la migration de upstart vers systemd dans le processus d'installation?

je vais décrire comment je l'ai réparé

En suivant ce guide, j'ai activé la mise en réseau systemd: http://xmodulo.com/switch-from-networkmanager-to-systemd-networkd.html

Étapes que j'ai faites:

$ 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

Contenu:

[Match]
Name=e*

[Network]
DHCP=yes

Maintenant, tout fonctionne bien :-)

HerrTaschenbier
la source
huzzah! Cela m'a aussi résolu!
Craig
N'a pas fonctionné ici. La troisième déclaration s'est trompée.
jjmerelo
2

Solution d'adresse statique:

Pour ajouter à la réponse de HerrTaschenbier: Si vous avez une adresse statique sur votre serveur, vous devriez vérifier si la carte réseau a été renommée en faisant. ifconfig -a J'ai trouvé que eth0 a été renommé ens32. Utilisez ces informations et appliquez-les à la réponse de HerrTaschenbier. Vous devrez également créer le nouveau fichier comme il a demandé, sudo vi /etc/systemd/network/20-ens32.network. Le contenu est légèrement différent.

[Match] 
Name=ens32

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

Notez que le format du nom de fichier contient le nom de la carte réseau. N'oubliez pas de modifier également le nom de l'adaptateur dans le fichier / etc / network / interfaces. Cela m'est arrivé d'une mise à niveau du 14.04 au 16.04.

G_Style
la source
0

J'ai rencontré le même problème après une longue utilisation de 16.04, probablement une mise à jour a gâché les choses.

L'exécution a systemctl status networking.servicemontré que le service n'a pas pu démarrer en raison d'une erreur d' ifup -aappel. L'exécution ifup -aséparée a révélé qu'elle essayait de fonctionner avec l' eth0interface, alors qu'elle était ifconfig -arépertoriée uniquement enp0s31f6et les lointerfaces. La vérification a /etc/network/interfacesmontré:

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

auto eth0
iface eth0 inet dhcp

Correction du nom de l'interface à ce qui a été trouvé par ifconfigrésolu le problème:

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

auto enp0s31f6
iface enp0s31f6 inet dhcp
Nykodym
la source