Problème
Ubuntu 9.10 Desktop Edition (et peut-être les versions précédentes également, je ne les ai pas testées) n'a pas de connexion réseau après le démarrage jusqu'à ce qu'au moins 1 utilisateur se connecte. Cela signifie que tous les services nécessitant une mise en réseau (par exemple, openssh-server) ne sont pas disponibles avant quelqu'un se connecte localement via gdm, kdm ou un ATS.
Contexte
Ubuntu 9.10 Desktop Edition utilise le service NetworkManager pour prendre les commandes de l'applet nm dans Gnome (ou son équivalent dans KDE). Si je comprends bien, alors que NetworkManager est en cours d'exécution au démarrage, aucune commande ne se connecte jusqu'à ce que vous vous connectiez pour la première fois car nm-applet ne fonctionne pas tant que vous ne vous êtes pas connecté et que votre session Gnome ne démarre (ou similaire pour KDE). Je ne sais pas ce qui invite NetworkManager à se connecter au réseau lorsque vous vous connectez via un ATS.
Il existe plusieurs variables pertinentes impliquées dans le démarrage des connexions réseau, notamment:
- Filaire vs sans fil (et les pilotes, SSID, mots de passe et priorités résultants)
- Statique vs DHCP
- Interfaces multiples
Contraintes
- Prise en charge d'Ubuntu 9.10 Karmic Koala (points bonus pour les versions supplémentaires prises en charge)
- Prise en charge de l'interface filaire eth0
- Recevez une adresse IP via DHCP
- Recevoir des informations DNS via DHCP (évidemment le serveur DHCP doit fournir ces informations)
- Activer la mise en réseau au bon moment (par exemple, un certain temps après le chargement des systèmes de fichiers mais avant les services réseau comme le démarrage de ssh)
- Le changement de distributions ou de versions (par exemple vers Server Edition) n'est pas une solution acceptable
- Le passage à une configuration IP statique n'est pas une solution acceptable
Question
- Comment démarrer la mise en réseau sur une interface filaire avant la connexion dans Ubuntu Desktop Edition?
Voir également
Les références
la source
auth eth0
au lieu de:auto eth0
dans votre message est toujours une faute de frappe que vous avez fait uniquement dans le message, non?sudo /etc/init.d/networking restart
a obtenu eth0 et configuré via DHCP./etc/network/interfaces
pour empêcher NetworkManager de gérer l'interface et de la faire apparaître via DHCP" Je dois vérifier et voir si ce correctif le fera apparaître au démarrage avec NM installé ...Debian / Ubuntu a son propre programme pour gérer les serveurs au démarrage.
Essayer
update-rc.d STARTUP-SCRIPT defaults
Recherchez le script spécifique pour eth0 et activez-le avec cela.
Vous pouvez toujours créer votre propre script, le placer dans init.d et exécuter la commande précédente le chargera au démarrage.
ou mettez simplement ces commandes (ifconfig up, dhcpcd) dans /etc/rc.local (ce fichier est lu à chaque fois au démarrage)
la source
dhclient eth0
à /etc/rc.local fait correctement apparaître l'interface eth0 au démarrage et obtient une IP via DHCP. Au moins pour moi, SSH est également disponible avant que quiconque ne se connecte localement maintenant, car openssh-server est configuré pour démarrer au niveau d'exécution 234. Je ne sais pas si tous les services activés en réseau fonctionneront correctement si l'interface est mise en place dans rc.local ( par exemple, ntpdate), car rc.local est exécuté après les services système.