58 votes

Quelle est la différence entre le gestionnaire réseau et 'ifconfig' 'ifup', etc?

Ubuntu semble fournir au moins deux ensembles d'outils réseau (faute d'un meilleur terme). Je rencontre des conflits entre ces deux.

Je rencontre souvent des conflits entre ces différents ensembles d'outils. Par exemple, j'utilise Ubuntu Desktop à la maison et j'utilise des logiciels comme KVM/libvirt qui recommandent que je désactive Network Manager, mais désactiver Network Manager cause d'autres problèmes.

Quelle est la différence entre Network Manager et les outils réseau traditionnels? Ces deux ensembles peuvent-ils fonctionner côte à côte ou dois-je choisir l'un ou l'autre? Existe-t-il un document qui résume la différence entre ces différents outils? Je n'ai pas réussi à en trouver un.

(Pardonnez le caractère vague de cette question. J'ai cherché et cherché une réponse, mais je n'ai trouvé que des réponses vagues qui ne semblent pas pertinentes pour Ubuntu 10.04/Lucid, et je ne comprends peut-être pas pleinement le but de NetworkManager. Cependant, il semble s'agir d'une question fréquemment posée. Si vous avez des conseils pour clarifier cette question, veuillez laisser un commentaire.)

59voto

NickNameNick Points 91

NetworkManager et ifconfig ne sont pas (par défaut) compatibles (NetworkManager ne configurera pas les interfaces répertoriées dans /etc/network/interfaces). NetworkManager est une sorte de démon de paramètres qui s'assure que plusieurs utilisateurs peuvent modifier les connexions réseau, ce qui est très intelligent dans un environnement de bureau (surtout sur les ordinateurs portables qui pourraient se déplacer entre différents réseaux sans fil). Fondamentalement, NetworkManager est une interface pour iproute, dhclient, wpa_supplicant et ppp.

ifconfig est un outil général pour configurer les interfaces réseau, vous pouvez par exemple faire comme ceci :

ifconfig eth1 10.0.0.1 netmask 255.0.0.0 hw ether 10:10:10:10:10:10
ifconfig eth1 down

pour définir votre IP, masque de sous-réseau et adresse MAC de eth1, puis désactiver (éteindre) votre interface. ifconfig ne lit aucun fichier de configuration et ne fait que ce qu'on lui demande.

ifup et ifdown sont des programmes d'aide qui utilisent ifconfig pour configurer une interface réseau conformément à /etc/network/interfaces ce qui garantira que si des scripts up, down, pre-up, pre-down, post-up, post-down doivent être exécutés, ils le seront.

Ok, ensuite il y a wpa_supplicant et dhclient. dhclient est un client DHCP - ifup l'utilisera si une interface réseau est configurée pour le DHCP, tout comme NetworkManager. wpa_supplicant est un outil pour configurer le cryptage sur les réseaux sans fil.

La plupart de ces outils ont des pages de manuel, par exemple le fichier d'interfaces a sa propre page de manuel qui décrit le format de ce fichier de configuration.

man interfaces
man ifconfig
man ifup

Donc, étant donné cela, je vous recommande de supprimer (ou de désactiver) NetworkManager, je ne pense pas que quelque chose se cassera en supprimant NetworkManager sauf les outils graphiques pour configurer le réseau. Si vous voulez configurer le sans fil sans NetworkManager, vous voudrez peut-être jeter un coup d'œil à ceci.

7voto

alastairs Points 3045

Ces ensembles d'outils sont complémentaires, pas mutuellement exclusifs.

Pour ce que ça vaut, ifconfig est juste un outil parmi d'autres outils *config qui sont utilisés pour configurer les interfaces réseau.

Les outils ifup(8) et ifdown(8) sont une couche au-dessus des outils *config. Vous pouvez les considérer comme des outils auxiliaires.

De même, NetworkManager est un niveau au-dessus des outils ifup(8) et ifdown(8). Faute de meilleur terme, NetworkManager est capable d'orchestrer les outils des niveaux inférieurs afin d'accomplir des tâches de niveau supérieur comme le partage de connexion Internet avec une plus grande facilité par rapport à l'utilisation uniquement des outils des niveaux inférieurs.

2voto

explogx Points 251

Sur une distribution Debian typique, vous avez deux utilitaires en ligne de commande utilisés pour configurer les interfaces réseau : le ifconfig obsolète provenant de net-tools et le plus récent ip provenant de iproute2.

Cependant, ces deux utilitaires configurant directement le noyau ne sauvegardent pas votre configuration, si vous redémarrez votre machine, vous devrez reconfigurer vos interfaces à nouveau.

Vous avez trois principaux paquets disponibles à cet effet :

En général, vous devriez en choisir un et vous y tenir, même si ifupdown fonctionne bien avec NetworkManager, cela pourrait quand même créer des problèmes de configuration inattendus.

ifupdown

Assez obsolète mais fiable, vous pourriez le rencontrer sur de nombreux anciens systèmes. La configuration est stockée dans /etc/network/interfaces et gérée par le démon networking.service qui est un wrapper des commandes ifup et ifdown qui sont également des wrappers pour ifconfig (ou ip pour ifupdown2).

Lisez le manuel sur ifupdown.

NetworkManager

Généralement inclus dans les distributions de bureau puisque de nombreuses interfaces graphiques sont disponibles, la configuration est stockée dans /etc/NetworkManager et gérée par le démon NetworkManager.service.

Vous pouvez gérer la configuration avec les utilitaires inclus nmcli ou nmtui.

Lisez le manuel sur NetworkManager.

systemd-networkd

Généralement utilisé sur les distributions serveur et le successeur officiel de ifupdown puisqu'il est inclus dans systemd, la configuration est stockée dans /etc/systemd/network et gérée par le démon systemd-networkd.service.

Lisez le manuel sur systemd-networkd.

dhclient

Bien que ce ne soit pas un démon, dhclient provenant de isc-dhcp-client reste un package très important et souvent requis sur les distributions de bureau car vous avez souvent besoin d'obtenir une IPv4 d'un serveur DHCP.

Heureusement, à mesure que l'IPv6 (qui utilise SLAAC) est lentement adoptée, cela changera probablement dans un futur proche ou lointain.

1voto

AdamTheHutt Points 1516

Network Manager est un programme GUI utilisé lors de l'utilisation d'Ubuntu en tant que système d'exploitation de poste de travail installé sur votre ordinateur de bureau/portable.

Les utilitaires de type ifconfig sont basés sur la ligne de commande et sont utilisés lors de l'utilisation d'Ubuntu en tant que système d'exploitation serveur, lorsque vous n'avez pas d'interface graphique disponible (par exemple, lorsque vous démarrez une instance Amazon EC2 basée sur Ubuntu). Ils sont généralement utilisés via une connexion ssh.

0voto

solrize Points 21

Si vous supprimez le gestionnaire de réseau, je suppose que vous devez configurer /etc/network/interface pour que les interfaces fonctionnent.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X