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 [26/08/2018 10:44] smolski [Ligne de commande] |
doc:reseau:network-manager [30/10/2019 20:48] Beta-Pictoris |
||
---|---|---|---|
Ligne 24: | Ligne 24: | ||
===== Conflits potentiels ===== | ===== Conflits potentiels ===== | ||
- | 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 ! | + | Network-Manager, tout comme [[doc:systeme:ifup|ifupdown]], wicd, Connection-Manager 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 Connection-Manager ==== | ||
+ | |||
+ | Pour le cas où Connection-Manager serait installé, nous vous proposons donc de [[doc:systeme:apt:apt#supprimer-un-paquet|le supprimer]] ainsi : | ||
+ | <code root>apt remove connman</code> | ||
+ | |||
+ | ==== Avec dhcpcd5 ==== | ||
+ | |||
+ | Pour le cas où dhcpcd5 serait installé, nous vous proposons donc de [[doc:systeme:apt:apt#supprimer-un-paquet|le supprimer]] ainsi : | ||
+ | <code root>apt remove dhcpcd5</code> | ||
==== Avec Wicd ==== | ==== Avec Wicd ==== | ||
- | 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 : | 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> | <code root>apt remove wicd</code> | ||
Ligne 52: | Ligne 60: | ||
Sinon éditer le fichier [[doc:systeme:superutilisateur|en root]] pour les ajouter : | Sinon éditer le fichier [[doc:systeme:superutilisateur|en root]] pour les ajouter : | ||
<code root>nano /etc/NetworkManager/NetworkManager.conf</code> | <code root>nano /etc/NetworkManager/NetworkManager.conf</code> | ||
+ | |||
+ | En Wifi, si votre connexion est détectée. Si vous avez entré le mot de passe du wifi et que la connexion ne s'établit pas avec la Box (routeur). | ||
+ | Vous pouvez ajouter au fichier, //NetworkManager.conf//, les lignes suivantes: | ||
+ | |||
+ | <file config /etc/NetworkManager/NetworkManager.conf> | ||
+ | [device] | ||
+ | wifi.scan-rand-mac-address=no | ||
+ | </file> | ||
+ | |||
+ | Redémarrez et la connexion devrait s’établir. | ||
Faire en sorte que [[doc:reseau:interfaces|le fichier interfaces]] ne s'occupe que de l'interface loopback((interface locale seulement)). \\ | Faire en sorte que [[doc:reseau:interfaces|le fichier interfaces]] ne s'occupe que de l'interface loopback((interface locale seulement)). \\ | ||
Ligne 84: | Ligne 102: | ||
==== Via l'applet GNOME ==== | ==== Via l'applet GNOME ==== | ||
- | Si l'applet Network-Manager n'est pas lancé automatiquement, exécutez-le via la commande | + | Si l'applet Network-Manager n'est pas lancé automatiquement, exécutez-le via la commande : |
<code user>nm-applet</code> | <code user>nm-applet</code> | ||
Ligne 176: | Ligne 194: | ||
=== nmcli connection === | === nmcli connection === | ||
- | Dans Network Manager , toutes les interfaces réseaux (sous-commande 'device') sont associées à un ou plusieurs profils (sous-commande //connection//). | + | Dans Network Manager, toutes les interfaces réseaux (sous-commande //device//) sont gérées à travers des profils (sous-commande //connection//). |
Afficher la liste des profils existants : | Afficher la liste des profils existants : | ||
Ligne 290: | Ligne 308: | ||
IP6.PASSERELLE: -- | IP6.PASSERELLE: -- | ||
</code> | </code> | ||
- | + | <note tip>On peut appeler un //profil// par son //nom// ou son //uuid//</note> | |
- | On peut appeler un profil par son nom ou son **[[doc:systeme:uuid_des_partitions|uuid]]**. | + | |
=== nmcli device === | === nmcli device === | ||
Ligne 304: | Ligne 321: | ||
lo loopback non-géré --</code> | lo loopback non-géré --</code> | ||
- | == Arrêter et redémarrer une interface réseau == | + | === nmcli device disconnect === |
+ | Arrêter et redémarrer 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> | <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> | ||
Ligne 311: | Ligne 329: | ||
<code user>nmcli device disconnect enp3s0</code> | <code user>nmcli device disconnect enp3s0</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 user>nmcli connection up enp3s0</code> | <code user>nmcli connection up enp3s0</code> | ||
- | == Ajouter un nouveau profil == | + | === nmcli connection add === |
- | //On veut, par exemple, créer un bridge nommé **virbr1**:// | + | **Ajouter un nouveau profil.** \\ |
+ | //On veut, par exemple ici, créer un bridge nommé //**virbr1** //:// | ||
<code user>nmcli connection add type bridge con-name virbr1 ifname virbr1</code> | <code user>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 cet exemple, la commande va créer un nouveau profil nommé **virbr1** (directive //con-name//) associé à l'interface **virbr1** (directive //ifname//). |
+ | <note tip>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> | + | **Ajouter l'interface réseau.** \\ |
- | + | <note important>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.</note> | |
- | //On veut, ensuite, ajouter l'interface réseau enp3s0 à ce bridge// : | + | //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> | <code user>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. \\ | + | === nmcli connection modify === |
- | 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 user>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> | ||
+ | <note tip>On redémarrera l'interface réseau pour que la modification soit prise en compte.</note> | ||
- | On redémarrera l'interface réseau pour que la modification soit prise en compte. | + | === nmcli connexion edit === |
- | == Éditer un profil == | + | Éditer un profil. \\ |
+ | //On veut éditer le profil //**virbr1**// :// | ||
+ | <code user>nmcli connexion edit virbr1</code> | ||
+ | <note warning>A partir d'ici, on se retrouve dans l'**interface commande de nmcli**. \\ Le prompt ''nmcli> '' doit être affiché !</note> | ||
- | //On veut éditer le profil virbr1:// | + | ==== nmcli prompt ==== |
- | + | ||
- | <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é. | + | === nmcli> print === |
- | //Afficher les propriétes du profil:// | + | Afficher les propriétés du profil : |
<code>nmcli> print</code> | <code>nmcli> print</code> | ||
<code> | <code> | ||
Ligne 427: | Ligne 445: | ||
</code> | </code> | ||
- | //Obtenir une description de la propriété 'ipv4.method':// | + | === describe ipv4.method === |
+ | |||
+ | //Obtenir maintenant une description de la propriété //''ipv4.method''// :// | ||
<code>nmcli> describe ipv4.method</code> | <code>nmcli> describe ipv4.method</code> | ||
- | + | <code>=== [method] === | |
- | <code> | + | |
- | === [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". | IP configuration method. NMSettingIP4Config and NMSettingIP6Config both support "auto", "manual", and "link-local". | ||
Ligne 441: | Ligne 459: | ||
</code> | </code> | ||
- | //Modifier la propriété 'ipv4.method':// | + | === ipv4.method auto === |
+ | |||
+ | //Modifier la propriété //''ipv4.method''// :// | ||
<code>nmcli> set ipv4.method auto</code> | <code>nmcli> set ipv4.method auto</code> | ||
- | //Vérifier la cohérence des modifications effectuées précédemment:// | + | === nmcli> verify === |
+ | |||
+ | //Vérifier la cohérence des modifications effectuées précédemment :// | ||
<code>nmcli> verify</code> | <code>nmcli> verify</code> | ||
- | //Appliquer immédiatement les modifications:// | + | === nmcli> activate === |
+ | |||
+ | //Appliquer immédiatement les modifications :// | ||
<code>nmcli> activate</code> | <code>nmcli> activate</code> | ||
- | //Sauver les modifications:// | + | === nmcli> save === |
+ | |||
+ | //Sauver les modifications :// | ||
<code>nmcli> save</code> | <code>nmcli> save</code> | ||
- | //Quitter l'interface commande nmcli:// | + | === nmcli> quit === |
+ | |||
+ | //Quitter l'interface commande nmcli :// | ||
<code>nmcli> quit</code> | <code>nmcli> quit</code> | ||
+ | |||
+ | ==== Exemples d'utilisation de nmcli ==== | ||
+ | |||
+ | === Configuration d'une connexion wifi === | ||
+ | |||
+ | //Faire un scan manuel des points d'accès disponibles :// | ||
+ | <code bash>nmcli device wifi rescan</code> | ||
+ | |||
+ | //Afficher la liste des points d'accès trouvés :// | ||
+ | <code bash>nmcli device wifi list</code> | ||
+ | <code test>IN-USE SSID MODE CHAN RATE SIGNAL BARS SECURITY | ||
+ | FreeWifi_secure Infra 10 270 Mo/s 100 ▂▄▆█ WPA1 802.1X | ||
+ | FreeWifi Infra 3 195 Mo/s 62 ▂▄▆_ -- | ||
+ | Freebox-59C501 Infra 3 195 Mo/s 57 ▂▄▆_ WPA1 | ||
+ | FreeWifi_secure Infra 3 195 Mo/s 52 ▂▄__ WPA2 802.1X | ||
+ | SFR_8368 Infra 6 130 Mo/s 19 ▂___ WPA1 | ||
+ | Bbox-78EFB3 Infra 1 54 Mo/s 17 ▂___ WPA1 WPA2 | ||
+ | Livebox-9a79 Infra 6 130 Mo/s 17 ▂___ WPA1 WPA2 | ||
+ | orange Infra 6 130 Mo/s 17 ▂___ -- | ||
+ | FreeWifi_secure Infra 11 195 Mo/s 12 ▂___ WPA2 802.1X</code> | ||
+ | |||
+ | //Se connecter à un réseau wifi :// | ||
+ | <code bash>nmcli device wifi connect 'SSID' password 'CLÉ_WIFI' ifname 'NOM_DE_L_INTERFACE_WIFI' name 'NOM_DU_PROFIL'</code> | ||
+ | |||
+ | Vous pouvez omettre la directive ''name 'NOM_DU_PROFIL'''. Dans ce cas [[doc:reseau:network-manager|Network Manager]] va attribuer un nom arbitraire au profil.\\ | ||
+ | |||
+ | Vous pouvez omettre la directive ''ifname 'NOM_DE_L_INTERFACE_WIFI''' si vous n'avez qu'une interface wifi.\\ | ||
+ | <note tip>Il semblerait plus logique de créer un nouveau profil wifi avec la commande **nmcli connection**.\\ | ||
+ | Toutefois, la commande dédiée **nmcli device wifi** permet de faire cela plus facilement.</note> | ||
+ | |||
+ | Exemple : | ||
+ | <code bash>nmcli device wifi connect 'FreeWifi_secure' password 'XXXXXXXXXXXXXXXX' ifname 'wlan0' name 'wlan0_FreeWifi_secure'</code> | ||
+ | |||
+ | Ou bien, plus simplement : | ||
+ | <code bash>nmcli device wifi connect 'FreeWifi_secure' password 'XXXXXXXXXXXXXXXX'</code> | ||
+ | |||
+ | === Donner un accès au réseau local et à internet à des machines virtuelles === | ||
+ | |||
+ | On veut créer un bridge partagé, nommé ''lxcbr0'', sur l'hôte, qui aura comme [[doc:reseau:ip|adresse ip]] : 192.168.2.1, sur le réseau 192.168.2.0/24 : | ||
+ | <code user>nmcli connection add type 'bridge' con-name 'lxcbr0' ifname 'virbr0' ipv4.method 'shared' ipv4.addresses '192.168.2.1/24'</code> | ||
+ | |||
+ | //Explication// | ||
+ | |||
+ | La commande précédente a créé un nouveau profil de type bridge nommé ''lxcbr0'' (**con-name**) associé à l'interface réseau ''virbr0'' (**ifname**). \\ | ||
+ | L'interface réseau ''virbr0'' n'existe pas physiquement, elle n'est créée que pour l'occasion et donc elle est une //interface virtuelle//. | ||
+ | <note tip>En pratique, on essayera de donner le même nom au profil et à son interface réseau.</note> | ||
+ | Les directives //ipv4.method// et //ipv4.addresses// sont optionnelles. | ||
+ | |||
+ | La directive **ipv4.method shared** signifie que le [[https://fr.wikipedia.org/wiki/Network_address_translation|NAT]] va être activé pour les invités connectés au bridge.\\ | ||
+ | On peut le vérifier en interrogeant [[doc:reseau:iptables|le pare-feu]]. | ||
+ | |||
+ | Par exemple : | ||
+ | <code root>iptables -t nat -L</code> | ||
+ | <code>Chain POSTROUTING (policy ACCEPT) | ||
+ | target prot opt source destination | ||
+ | MASQUERADE all -- 192.168.2.0/24 !192.168.2.0/24</code> | ||
+ | Par ailleurs, la directive **ipv4.method shared** active aussi le routage ipv4 : | ||
+ | <code root>cat /proc/sys/net/ipv4/ip_forward</code> | ||
+ | <code>1</code> | ||
+ | De plus, elle lance //dnsmasq// pour fournir du service [[doc:reseau:dhcp|dhcp]] et [[doc:reseau:dns|dns]] aux invités. | ||
+ | |||
+ | Enfin, si on n'utilise pas la directive **ipv4.addresses**, | ||
+ | [[doc:reseau:network-manager|Network Manager]] va utiliser le réseau ''10.42.x.0/24'' par défaut. | ||
+ | |||
+ | === Assigner une interface réseau à un vlan === | ||
+ | |||
+ | On veut, par exemple, ajouter l'interface nommée ''ens3'' au vlan 1 : | ||
+ | |||
+ | <code user>nmcli connection add type vlan con-name vlan1 id 1 dev ens3</code> | ||
+ | |||
+ | //Explication// | ||
+ | |||
+ | La commande précédente a créé un nouveau profil de type vlan, nommé vlan1 (con-name) et utilisant le vlan id 1 : | ||
+ | <code user>nmcli connection</code> | ||
+ | <code>NOM UUID TYPE PÉRIPHÉRIQUE | ||
+ | ens3 ceaf1df2-113c-46d2-b8b4-e7aa0a2d6b5f 802-3-ethernet ens3 | ||
+ | vlan1 6c2063ea-d3e6-442b-a7c6-5e515c000fd7 vlan ens3.1</code> | ||
+ | De plus, une interface virtuelle nommée ''ens3.1'' a été créée pour l'occasion : | ||
+ | <code user>nmcli device</code> | ||
+ | <code>PÉRIPHÉRIQUE TYPE ÉTAT CONNEXION | ||
+ | ens3 ethernet connecté ens3 | ||
+ | ens3.1 vlan connecté vlan1</code> | ||
+ | |||
+ | Lien externe : [[https://fr.wikipedia.org/wiki/R%C3%A9seau_local_virtuel|Réseau local virtuel]] | ||
==== Obtenir un IP fixe et garder l`itinérance ==== | ==== Obtenir un IP fixe et garder l`itinérance ==== | ||
Ligne 461: | Ligne 573: | ||
=== Connaître le routeur === | === Connaître le routeur === | ||
+ | |||
1. Savoir où notre ordinateur se trouve. L`adresse IP fixe choisi par NM en fonction de l`adresse MAC du routeur. Donc il faut que vous connaissiez et preniez note de l`adresse MAC du routeur. Nombreux routeurs se trouvent à l`adrese 192.168.0.1. Accédez à la page dont le titre peut ressembler à ``MAC address`` ou ``Clone MAC``. | 1. Savoir où notre ordinateur se trouve. L`adresse IP fixe choisi par NM en fonction de l`adresse MAC du routeur. Donc il faut que vous connaissiez et preniez note de l`adresse MAC du routeur. Nombreux routeurs se trouvent à l`adrese 192.168.0.1. Accédez à la page dont le titre peut ressembler à ``MAC address`` ou ``Clone MAC``. | ||
=== Déterminer votre IP fixe === | === Déterminer votre IP fixe === | ||
+ | |||
2. Pour faciliter les choses, établissons une connexion filaire eth0. Cliquez (bouton de droite) sur l`icône de NM. Cliquez sur "Modification des connexions". | 2. Pour faciliter les choses, établissons une connexion filaire eth0. Cliquez (bouton de droite) sur l`icône de NM. Cliquez sur "Modification des connexions". | ||
Ligne 477: | Ligne 591: | ||
- | 2b. Dans le taquet "Paramètres IPv4", chosissez d`abord le mode "manuel" dans la première case, puis ajoutez votre adresse, son masque de sous-réseau et la passserelle de votre choix. C`est tout. | + | 2b. Dans le taquet "Paramètres IPv4", choisissez d`abord le mode "manuel" dans la première case, puis ajoutez votre adresse, son masque de sous-réseau et la passserelle de votre choix. C`est tout. \\ |
Les autres cases peuvent rester vierges ou vous les complèterez à votre convenance. | Les autres cases peuvent rester vierges ou vous les complèterez à votre convenance. | ||
{{/file-R916ad20e6783ac39411dd340392c4081.png?300}} | {{/file-R916ad20e6783ac39411dd340392c4081.png?300}} | ||
- | |||
=== Reconnecter === | === Reconnecter === | ||
- | 3. Étape essentielle: passer au nouvel IP, le fixe que vous souhaitiez tant. Pour cela, assurez-vous que /etc/network/interfaces ne contienne aucun information relativement à l`interface que vous souhaitez utiliser pour obtenir votre IP fixe. | + | |
+ | 3. Étape essentielle : passer au nouvel IP, le fixe que vous souhaitiez tant. Pour cela, assurez-vous que /etc/network/interfaces ne contienne aucun information relativement à l`interface que vous souhaitez utiliser pour obtenir votre IP fixe. | ||
3a. Coupez le contact avec le réseau: cliquez sur "déconnecter" ou déconnectez le fil. NM ne s`en offusquera pas. | 3a. Coupez le contact avec le réseau: cliquez sur "déconnecter" ou déconnectez le fil. NM ne s`en offusquera pas. | ||
Ligne 496: | Ligne 610: | ||
=== Résultat final === | === Résultat final === | ||
- | Le fichier généré se trouvera dans /etc/NetworkManager/system-connections sous le nom que vous avez donné à votre connexion et ressemblera à ceci: | + | |
+ | Le fichier généré se trouvera dans /etc/NetworkManager/system-connections sous le nom que vous avez donné à votre connexion et ressemblera à ceci : | ||
<code>[802-3-ethernet] | <code>[802-3-ethernet] |