Pourquoi le gestionnaire de réseau ne démarre-t-il pas au démarrage?

10

Je pense que cela a commencé il y a quelques mois lorsque je suis passé de 10.04 à 12.04.

Chaque fois que je redémarre, le gestionnaire de réseau ne démarre pas. Je dois exécuter manuellement sudo start network-manager, puis tout fonctionne bien.

Choses que j'ai déjà essayées (redémarrage après chaque tentative de correction):

  • Vérifié que tous les liens /etc/rc*.d/*network-manager existent comme ils le devraient.
  • Étant donné que le fichier de configuration upstart du gestionnaire de réseau mentionne local-filesystemset que mon fstab avait une référence à un disque dur USB qui n'est pas connecté, j'ai commenté cette ligne hors du fstab.
  • sudo dpkg-reconfigure network-manager puis sudo apt-get install --reinstall network-manager
  • Regardé dans syslog pour des indices, je n'ai rien vu qui a sauté.

Je ne pense pas avoir modifié /etc/init/network-manager.conf, mais ici, c'est pour référence:

# network-manager - network connection manager
#
# The Network Manager daemon manages the system's network connections,
# automatically switching between the best available.

description "network connection manager"

start on (local-filesystems
      and started dbus
      and static-network-up)
stop on stopping dbus

expect fork
respawn

script
    # set $LANG so that messages appearing on the GUI will be translated. See LP: 875017
    if [ -r /etc/default/locale ]; then
        . /etc/default/locale
        export LANG LANGUAGE LC_MESSAGES LC_ALL
    fi

    exec NetworkManager
end script
bstpierre
la source

Réponses:

15

La section 'start on' vous permet de savoir quels événements doivent être émis avant que upstart ne démarre le gestionnaire de réseau.

Dans ce cas, c'est:

  • systèmes de fichiers locaux
  • dbus
  • statique-réseau-up

Les chances sont que les deux premiers ont déjà été émis si vous avez démarré sur un bureau.

static-network-up est émis par /etc/network/if-up.d/upstart script, ce qui est crucial, l'événement ne sera pas émis à moins que chaque interface configurée comme 'auto' in /etc/network/interfacessoit active.

Dans mon cas, j'avais une entrée restante pour eth0 dans /etc/network/interfaceslaquelle était configuré pour utiliser DHCP, mais comme il n'y avait pas d'Ethernet branché sur eth0, DHCP ne pourrait jamais réussir.

Vous pouvez dire à upstart d'émettre des événements et l'utiliser pour vérifier si c'est l'événement statique du réseau qui manque.

  • Redémarrez votre ordinateur et ne démarrez pas le gestionnaire de réseau
  • man initctl(vous devez exécuter la commande emit avec sudo, il n'est donc pas dangereux d'exécuter man initctlpour vérifier les commandes publiées sur Internet en premier)
  • sudo initctl emit static-network-up(vous devrez peut-être Ctrl+ Cceci après un certain temps)
  • initctl status network-manager (pour vérifier si ça a commencé)

Si cela résout votre problème, vérifiez /etc/network/interfacestout autre chose que:

auto lo
iface lo inet loopback

Ensuite, redémarrez et, espérons-le, le gestionnaire de réseau démarrera comme prévu.

Gordon
la source
Vous avez tout à fait raison, c'est un comportement idiot stupide de NetworkManager décidant de ne pas démarrer parce que quelque chose d'autre que ce qui loest dans ce fichier, même s'il laisse le WIFI complètement non configuré!
Forbesmyester
travaillé pour moi, assez magique: P
boh
5

Sur mon Arch Linux, j'avais besoin d'exécuter la commande suivante et NetworkManagerdémarre maintenant automatiquement:

systemctl enable NetworkManager

Cela permet NetworkManagerd'être exécuté au démarrage. Voilà ce que je comprends.

Sufian
la source
Merci, cela a résolu mon problème. Échouait après la mise à jour + le plantage avant le redémarrage. Atelier 19.1
Toni Homedes i Saun
4

Eu le même problème mais aucune des solutions proposées (y compris certaines des autres forums) n'a aidé.

Quoi qu'il en soit, après avoir lu la réponse de Gordon , j'ai simplement supprimé la and static-network-upligne de /etc/init/network-manager.conf. Ça a marché.

Mike
la source
Je suppose que le problème ici est que le réseau statique doit être déclenché, mais ce n'est pas le cas. Voyez-vous un message de démarrage "en attente de configuration réseau"?
Andy
@Andy, s'il est sans fil, il n'a pas d'interface statique. S'il a auth eth0dans ses interfaces, il attendra plusieurs minutes, échouera et ne déclenchera jamais l'événement.
Cerin
Je suppose que tu veux dire auto eth0? En attendant plusieurs minutes, il dit "en attente de configuration réseau", c'est pourquoi j'ai demandé.
Andy
2

J'ai eu le même problème après avoir changé mon thinkpad lors de la réutilisation de l'ancien disque. Il se souvenait toujours des anciennes adresses MAC. J'ai dû les supprimer manuellement dans /etc/udev/rules.d/70-persistent-net.rules, ce qui a résolu le problème pour moi.

Roman Pletka
la source
0

Idem ici le 12.04 - J'ai fait:

sudo -s
mv /etc/udev/rules.d/70-persistent-net.rules ~/
touch /etc/udev/rules.d/70-persistent-net.rules
reboot

Fixé!

Vous pouvez également modifier manuellement ce fichier et corriger les adresses mac ...

epek
la source
0

Dès READMEle /etc/udev/rules.d:

Les fichiers de ce répertoire sont lus par udev (7) et utilisés lorsque des événements sont effectués par le noyau. Le démon udev surveille ce répertoire avec inotify afin que les modifications apportées à ces fichiers soient automatiquement récupérées , pour cette raison, il doit s'agir de fichiers et non de liens symboliques vers un autre emplacement comme dans le cas de Debian.

plus loin:

Écrivez vos propres règles dans ce répertoire en attribuant le nom, les liens symboliques, les autorisations, etc. que vous souhaitez. Choisissez un nombre supérieur aux règles que vous souhaitez remplacer et le vôtre sera utilisé.

Veuillez donc , comme décrit dans la réponse @epek , ne pas copier / coller de fichiers, mais simplement y ajouter un autre fichier avec un entier plus élevé au début du nom de fichier. Par exemple

// Ubuntu core:
70-persistent-net.rules
// Custom overrides and/or additions:
80-persistent-net.rules
kaiser
la source
0

pour ubuntu 14.04 a obtenu le hit home "hit applications" hit add name-networks cmd-sudo service network-manager restart recommant- - [son travail uniquement les paramètres réseau valides comme ips, dns, passerelle etc]

Vijay Galagali
la source
0

Une solution de contournement simple consiste à modifier /etc/rc.local afin de démarrer le NetworkManager à chaque démarrage de votre ordinateur. Cela ne résout pas vraiment le problème racine, mais cela a rendu les choses fonctionnelles et simples pour moi.

Tout d'abord, exécutez cette commande:

sudo vim /etc/rc.local

Ensuite, le contenu devrait ressembler à ceci:

#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.

#Sleeping a little might be necessary to let it catch up the boot. 
#However, for me, this sleep was a useless overhead.
#sleep 3 
service network-manager restart

exit 0
Michael Fayad
la source