Vous n'êtes pas identifié(e).
L'icône rouge permet de télécharger chaque page du wiki visitée au format PDF et la grise au format ODT →
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente Prochaine révision Les deux révisions suivantes | ||
doc:reseau:network-manager [31/07/2018 15:03] Beta-Pictoris [Utilisation] |
doc:reseau:network-manager [26/08/2018 10:44] smolski [Ligne de commande] |
||
---|---|---|---|
Ligne 24: | Ligne 24: | ||
===== Conflits potentiels ===== | ===== Conflits potentiels ===== | ||
- | Network-Manager, tout comme ifupdown (fichier [[:doc:reseau:interfaces|interfaces]]) et wicd, s'occupe de gérer les connexions réseau. Il peut donc entrer en conflit avec ces autres outils. | + | Network-Manager, tout comme [[doc:systeme:ifup|ifupdown]], wicd et dhcpcd5, s'occupe de gérer les connexions réseau, il peut donc **entrer en conflit** avec ces outils s'ils sont présents ! |
==== Avec Wicd ==== | ==== Avec Wicd ==== | ||
- | La première règle est de ne pas utiliser wicd et Network-Manager en même temps. Pour le cas où il serait installé, nous vous proposons donc de faire : | + | |
- | <code root>apt-get remove wicd</code> | + | La première règle est de : |
+ | <note warning>ne pas utiliser wicd et Network-Manager en même temps.</note> | ||
+ | Pour le cas où wicd serait installé, nous vous proposons donc de [[doc:systeme:apt:apt#supprimer-un-paquet|le supprimer]] ainsi : | ||
+ | <code root>apt remove wicd</code> | ||
==== Avec resolvconf ==== | ==== Avec resolvconf ==== | ||
- | Je ne suis pas sûr du niveau d'incompatibilité entre ces deux là, mais resolvconf fixant les DNS et NM aussi, je préfère l'enlever. | + | |
- | <code root>apt-get remove resolvconf</code> | + | Je ne suis pas sûr du niveau d'incompatibilité entre ces deux là, mais [[doc:systeme:resolv.conf|resolvconf]] fixant les [[doc:reseau:dns|DNS]] et NM((Network-Manager)) aussi, je préfère l'enlever : |
+ | <code root>apt remove resolvconf</code> | ||
==== Avec ifupdown ==== | ==== Avec ifupdown ==== | ||
- | Network-Manager et ifupdown s'entendent très bien entre eux, à condition de ne pas tenter de configurer une même interface avec les deux outils en même temps. | ||
- | Par défaut, l'interface loopback (donnant l'adresse 127.0.0.1) est gérée par ifupdown, ce qui est très bien. | + | Network-Manager et ifupdown s'entendent très bien entre eux, à condition de ne pas tenter de configurer une même interface avec les deux outils en même temps ! |
- | Par défaut, Network-Manager s'occupe uniquement des interfaces qui ne sont pas mentionnées dans le fichier ''/etc/network/interfaces'', ce qui est très bien. | + | |
+ | Par défaut, l'interface loopback((donnant l'adresse 127.0.0.1)) est gérée par ifupdown, ce qui est très bien. \\ | ||
+ | Par défaut, Network-Manager s'occupe uniquement des **interfaces qui ne sont pas mentionnées** dans [[doc:reseau:interfaces|le fichier Interfaces]], ce qui est très bien. ^_^ | ||
- | Ce comportement est réglé par le fichier ''/etc/NetworkManager/NetworkManager.conf''. Assurez-vous de bien avoir les lignes | + | Ce comportement est réglé par le fichier ''/etc/NetworkManager/NetworkManager.conf'', consultez-le avec par exemple la commande [[doc:editeurs:less|less]] ainsi : |
+ | <code user>less /etc/NetworkManager/NetworkManager.conf</code> | ||
+ | Et assurez-vous bien d'y avoir ces lignes : | ||
<code ini>[ifupdown] | <code ini>[ifupdown] | ||
managed=false</code> | managed=false</code> | ||
+ | Sinon éditer le fichier [[doc:systeme:superutilisateur|en root]] pour les ajouter : | ||
+ | <code root>nano /etc/NetworkManager/NetworkManager.conf</code> | ||
- | Et de faire en sorte que le fichier interfaces ne s'occupe que de l'interface loopback. ''/etc/network/interfaces'' ne doit donc contenir que les lignes suivantes : | + | Faire en sorte que [[doc:reseau:interfaces|le fichier interfaces]] ne s'occupe que de l'interface loopback((interface locale seulement)). \\ |
+ | Pour cela, le fichier ''/etc/network/interfaces'' ne doit contenir que les lignes suivantes : | ||
<file bash /etc/network/interfaces># This file describes the network interfaces available on your system | <file bash /etc/network/interfaces># This file describes the network interfaces available on your system | ||
# and how to activate them. For more information, see interfaces(5). | # and how to activate them. For more information, see interfaces(5). | ||
Ligne 50: | Ligne 60: | ||
auto lo | auto lo | ||
iface lo inet loopback</file> | iface lo inet loopback</file> | ||
+ | Sinon, éditer ce fichier pour le modifier : | ||
+ | <code root>nano /etc/network/interfaces</code> | ||
===== Installation ===== | ===== Installation ===== | ||
Ligne 57: | Ligne 68: | ||
Premièrement, le serveur Network-Manager : | Premièrement, le serveur Network-Manager : | ||
- | <code root>apt-get update && apt-get install network-manager</code> | + | <code root>apt update && apt install network-manager</code> |
Et ensuite l'applet qui sera utilisé par l'utilisateur pour faire la configuration. | Et ensuite l'applet qui sera utilisé par l'utilisateur pour faire la configuration. | ||
- | === En ligne de commande === | ||
- | Rien, les utilitaires sont déjà présents dans le paquet ''network-manager''. | ||
- | === Sous KDE === | + | En ligne de commande, les utilitaires sont déjà présents dans le paquet ''network-manager''. ;-) |
- | <code root>apt-get install network-manager-kde</code> | + | |
- | === Sous Gnome et autres === | + | ==== Sous KDE ==== |
- | <code root>apt-get install network-manager-gnome</code> | + | |
- | ===== Utilisation ===== | + | <code root>apt install network-manager-kde</code> |
+ | |||
+ | ==== Sous Gnome et autres ==== | ||
+ | |||
+ | <code root>apt install network-manager-gnome</code> | ||
+ | |||
+ | ===== Graphique ===== | ||
==== Via l'applet GNOME ==== | ==== Via l'applet GNOME ==== | ||
Ligne 80: | Ligne 92: | ||
Ajoutez l'applet dans KDE | Ajoutez l'applet dans KDE | ||
+ | ===== Ligne de commande ===== | ||
- | ==== Via la ligne de commande ==== | + | En ligne de commande les utilitaires sont déjà présents dans le paquet network-manager. ;-) |
Voir le man des commandes ''NetworkManager'', ''nm'', ''nmcli'', ''nm-online'' et ''nm-tool''. | Voir le man des commandes ''NetworkManager'', ''nm'', ''nmcli'', ''nm-online'' et ''nm-tool''. | ||
- | === L'interface commande 'nmcli' === | + | ==== Interface nmcli ==== |
- | nmcli est une commande permettant de créer, modifier, supprimer, activer ou désactiver les interfaces réseaux. | + | L'interface nmcli((Network Manager Command Line Interface)) est une commande permettant de créer, modifier, supprimer, activer ou désactiver les interfaces réseaux. \\ |
+ | nmcli est très simple à utiliser grâce à [[:doc:programmation:bash:autocompletion|l'auto-complétion]]. | ||
- | nmcli est très simple à utiliser grâce à [[:doc:systeme:touch|l'auto-complétion]]. | + | === nmcli === |
- | == Obtenir de l'aide == | + | Afficher la liste et l'état des connexions réseaux. \\ |
+ | La commande **nmcli** peut remplacer les commandes **[[doc:reseau:ip|ip a]]** ou **[[doc:reseau:ifconfig|ifconfig]]** : | ||
+ | <code user>nmcli</code> | ||
+ | <code>virbr1: connecté to virbr1 | ||
+ | bridge, FE:54:00:78:67:DB, sw, mtu 1500 | ||
+ | inet4 192.168.2.1/24 | ||
+ | inet6 fe80::fc54:ff:fe78:67db/64 | ||
- | //Aide générale:// | + | enp3s0: connecté to enp3s0 |
+ | "Realtek RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (Onboard Ethernet)" | ||
+ | ethernet (r8169), xx:xx:xx:xx:xx:xx, hw, mtu 1500 | ||
+ | ip4 default | ||
+ | inet4 192.168.1.254/24 | ||
+ | inet6 fe80::xxxx:xxxx:xxxx:xxx/64 | ||
+ | |||
+ | vnet0: connecté to vnet0 | ||
+ | tun, FE:54:00:78:67:DB, sw, mtu 1500 | ||
+ | master virbr | ||
+ | |||
+ | lo: non-géré | ||
+ | loopback (unknown), 00:00:00:00:00:00, sw, mtu 65536 | ||
+ | |||
+ | DNS configuration: | ||
+ | servers: 212.27.40.241 212.27.40.240 | ||
+ | interface: enp3s0</code> | ||
+ | |||
+ | === nmcli help === | ||
+ | |||
+ | Aide générale : | ||
<code user>nmcli help</code> | <code user>nmcli help</code> | ||
<code>Usage: nmcli [OPTIONS] OBJECT { COMMAND | help } | <code>Usage: nmcli [OPTIONS] OBJECT { COMMAND | help } | ||
Ligne 118: | Ligne 158: | ||
</code> | </code> | ||
- | //Aide sur une sous-commande particulière (ici la sous-commande 'general') :// | + | == Aide sur une sous-commande == |
+ | |||
+ | Ici la sous-commande //general// | ||
<code user>nmcli general help</code> | <code user>nmcli general help</code> | ||
<code>Utilisation : nmcli general { COMMAND | help } | <code>Utilisation : nmcli general { COMMAND | help } | ||
Ligne 132: | Ligne 174: | ||
logging [level <log level>] [domains <log domains>]</code> | logging [level <log level>] [domains <log domains>]</code> | ||
- | == Afficher la liste et l'état des connexions réseaux == | + | === nmcli connection === |
- | //La commande 'nmcli' peut remplacer les commandes 'ip a' ou 'ifconfig':// | + | Dans Network Manager , toutes les interfaces réseaux (sous-commande 'device') sont associées à un ou plusieurs profils (sous-commande //connection//). |
- | <code user>nmcli</code> | + | |
- | <code>virbr1: connecté to virbr1 | + | |
- | bridge, FE:54:00:78:67:DB, sw, mtu 1500 | + | |
- | inet4 192.168.2.1/24 | + | |
- | inet6 fe80::fc54:ff:fe78:67db/64 | + | |
- | enp3s0: connecté to enp3s0 | + | Afficher la liste des profils existants : |
- | "Realtek RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (Onboard Ethernet)" | + | |
- | ethernet (r8169), xx:xx:xx:xx:xx:xx, hw, mtu 1500 | + | |
- | ip4 default | + | |
- | inet4 192.168.1.254/24 | + | |
- | inet6 fe80::xxxx:xxxx:xxxx:xxx/64 | + | |
- | + | ||
- | vnet0: connecté to vnet0 | + | |
- | tun, FE:54:00:78:67:DB, sw, mtu 1500 | + | |
- | master virbr | + | |
- | + | ||
- | lo: non-géré | + | |
- | loopback (unknown), 00:00:00:00:00:00, sw, mtu 65536 | + | |
- | + | ||
- | DNS configuration: | + | |
- | servers: 212.27.40.241 212.27.40.240 | + | |
- | interface: enp3s0</code> | + | |
- | + | ||
- | == Afficher la liste des profils existants == | + | |
- | + | ||
- | Dans Network Manager , toutes les interfaces réseaux (directive device) sont associées à un ou plusieurs profils (directive connection). | + | |
- | + | ||
- | //Afficher la liste de tous les profils:// | + | |
<code user>nmcli connection</code> | <code user>nmcli connection</code> | ||
<code>NOM UUID TYPE PÉRIPHÉRIQUE | <code>NOM UUID TYPE PÉRIPHÉRIQUE | ||
Ligne 169: | Ligne 184: | ||
virbr1 e8bcda63-957a-48df-87c6-ca943dc0c285 bridge virbr1 | virbr1 e8bcda63-957a-48df-87c6-ca943dc0c285 bridge virbr1 | ||
vnet0 201edef9-055d-4a3b-ad1e-9611626aee59 tun vnet0</code> | vnet0 201edef9-055d-4a3b-ad1e-9611626aee59 tun vnet0</code> | ||
+ | <note tip>Le nom du profil peut être différent du nom de l'interface réseau associée.</note> | ||
- | A noter, Le nom du profil peut être différent du nom de l'interface réseau associée. | + | === nmcli connection show === |
- | + | ||
- | //Afficher la liste de tous les profils actifs:// | + | |
+ | Afficher la liste de tous les profils actifs : | ||
<code user>nmcli connection show --active</code> | <code user>nmcli connection show --active</code> | ||
<code>NOM UUID TYPE PÉRIPHÉRIQUE | <code>NOM UUID TYPE PÉRIPHÉRIQUE | ||
Ligne 180: | Ligne 195: | ||
vnet0 201edef9-055d-4a3b-ad1e-9611626aee59 tun vnet0</code> | vnet0 201edef9-055d-4a3b-ad1e-9611626aee59 tun vnet0</code> | ||
- | //Obtenir les propriétés détaillées d'un profil particulier:// | + | Obtenir les propriétés détaillées d'un profil particulier : |
<code user>nmcli connection show enp3s0</code> | <code user>nmcli connection show enp3s0</code> | ||
<code>connection.id: enp3s0 | <code>connection.id: enp3s0 | ||
Ligne 276: | Ligne 291: | ||
</code> | </code> | ||
- | On peut appeler un profil par son nom ou son uuid. | + | On peut appeler un profil par son nom ou son **[[doc:systeme:uuid_des_partitions|uuid]]**. |
- | == Afficher la liste des interfaces réseaux existantes == | + | === nmcli device === |
+ | Afficher la liste des interfaces réseaux existantes : | ||
<code user>nmcli device</code> | <code user>nmcli device</code> | ||
<code> | <code> | ||
Ligne 290: | Ligne 306: | ||
== Arrêter et redémarrer une interface réseau == | == Arrêter et redémarrer une interface réseau == | ||
- | //Arrêt d'une interface réseau:// | + | <note tip>On arrête l'interface, plutôt que son profil, car ce dernier peut démarrer, tout seul, en cas d'événement particulier</note> |
- | On arrête l'interface, plutôt que son profil, car ce dernier peut démarrer, tout seul, en cas d'événement particulier: | + | Arrêt d'une interface réseau : |
- | <code root>nmcli device disconnect enp3s0 | + | <code user>nmcli device disconnect enp3s0</code> |
- | </code> | + | |
- | //Lancement d'une interface réseau:// | + | == Lancement d'une interface réseau : == |
- | On relance plutôt le profil: | + | On relance plutôt le profil : |
- | <code root>nmcli connection up enp3s0</code> | + | <code user>nmcli connection up enp3s0</code> |
== Ajouter un nouveau profil == | == Ajouter un nouveau profil == | ||
- | //On veut, par exemple, créer un bridge nommé virbr1:// | + | //On veut, par exemple, créer un bridge nommé **virbr1**:// |
+ | <code user>nmcli connection add type bridge con-name virbr1 ifname virbr1</code> | ||
- | <code root>nmcli connection add type bridge con-name virbr1 ifname virbr1</code> | + | Dans cet exemple, la commande va créer un nouveau profil nommé **virbr1** (sous-commande //con-name//) associé à l'interface **virbr1** (sous-commande //ifname//). |
- | Dans cette exemple, la commande va créer un nouveau profil nommé virbr1 (directive con-name) associé à l'interface virbr1 (directive ifname). | + | <note important>Dans ce cas particulier, la commande va aussi créer une interface virtuelle, nommée **virbr1**, car elle n'existe pas physiquement.</note> |
- | <note important>Dans ce cas particulier, la commande va aussi créer une interface virtuelle, nommée virbr1, car elle n'existe pas physiquement.</note> | + | //On veut, ensuite, ajouter l'interface réseau enp3s0 à ce bridge// : |
+ | <code user>nmcli connection add type bridge-slave con-name enp3s0 ifname enp3s0 master virbr1</code> | ||
- | //On veut, ensuite, ajouter l'interface réseau enp3s0 à ce bridge:// | + | Avant d'ajouter une interface réseau à un bridge, il est conseillé d'arrêter cette interface. \\ |
- | <code root>nmcli connection add type bridge-slave con-name enp3s0 ifname enp3s0 master virbr1</code> | + | |
- | + | ||
- | Avant d'ajouter une interface réseau à un bridge, il est conseillé d'arrêter cette interface. | + | |
Sinon, l'interface peut se retrouver associée à plusieurs profils. | Sinon, l'interface peut se retrouver associée à plusieurs profils. | ||
== Modifier un profil == | == Modifier un profil == | ||
- | //On veut, par exemple, modifier le paramètre ipv4.addresses du profil virbr1:// | + | //On veut, par exemple, modifier le paramètre ipv4.addresses du profil **virbr1** :// |
- | <code root>nmcli connection modify virbr1 ipv4.addresses 192.168.3.254/24</code> | + | <code user>nmcli connection modify virbr1 ipv4.addresses 192.168.3.254/24</code> |
On redémarrera l'interface réseau pour que la modification soit prise en compte. | On redémarrera l'interface réseau pour que la modification soit prise en compte. | ||
Ligne 328: | Ligne 342: | ||
//On veut éditer le profil virbr1:// | //On veut éditer le profil virbr1:// | ||
- | <code root>nmcli connexion edit virbr1</code> | + | <code user>nmcli connexion edit virbr1</code> |
+ | |||
+ | A partir d'ici, on se retrouve dans l'interface commande de 'nmcli'. Le prompt 'nmcli>' doit être affiché. | ||
//Afficher les propriétes du profil:// | //Afficher les propriétes du profil:// | ||
+ | <code>nmcli> print</code> | ||
<code> | <code> | ||
=============================================================================== | =============================================================================== | ||
Ligne 411: | Ligne 428: | ||
//Obtenir une description de la propriété 'ipv4.method':// | //Obtenir une description de la propriété 'ipv4.method':// | ||
- | <code user>nmcli> describe ipv4.method</code> | + | <code>nmcli> describe ipv4.method</code> |
<code> | <code> | ||
- | |||
=== [method] === | === [method] === | ||
[description de la propriété NM] | [description de la propriété NM] | ||
- | IP configuration method. NMSettingIP4Config and NMSettingIP6Config both support "auto", "manual", and "link-local". See the subclass-specific documentation for other values. In general, for the "auto" method, properties such as "dns" and "routes" specify information that is added on to the information returned from automatic configuration. The "ignore-auto-routes" and "ignore-auto-dns" properties modify this behavior. For methods that imply no upstream network, such as "shared" or "link-local", these properties must be empty. For IPv4 method "shared", the IP subnet can be configured by adding one manual IPv4 address or otherwise 10.42.x.0/24 is chosen. | + | IP configuration method. NMSettingIP4Config and NMSettingIP6Config both support "auto", "manual", and "link-local". |
+ | See the subclass-specific documentation for other values. | ||
+ | In general, for the "auto" method, properties such as "dns" and "routes" specify information that is added on to the information returned from automatic configuration. | ||
+ | The "ignore-auto-routes" and "ignore-auto-dns" properties modify this behavior. | ||
+ | For methods that imply no upstream network, such as "shared" or "link-local", these properties must be empty. | ||
+ | For IPv4 method "shared", the IP subnet can be configured by adding one manual IPv4 address or otherwise 10.42.x.0/24 is chosen. | ||
</code> | </code> | ||
//Modifier la propriété 'ipv4.method':// | //Modifier la propriété 'ipv4.method':// | ||
- | <code>nmcli> set ipv4.method shared</code> | + | <code>nmcli> set ipv4.method auto</code> |
//Vérifier la cohérence des modifications effectuées précédemment:// | //Vérifier la cohérence des modifications effectuées précédemment:// |