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 | ||
doc:reseau:network-manager [10/09/2018 16:28] Beta-Pictoris |
doc:reseau:network-manager [19/06/2023 22:07] (Version actuelle) lagrenouille [Network-Manager : configuration du réseau] |
||
---|---|---|---|
Ligne 5: | Ligne 5: | ||
* Commentaires : //Pour gérer vos connexions réseau avec Network-Manager. // | * Commentaires : //Pour gérer vos connexions réseau avec Network-Manager. // | ||
* Débutant, à savoir : [[:doc:systeme:commandes:le_debianiste_qui_papillonne|Utiliser GNU/Linux en ligne de commande, tout commence là !.]] :-) | * Débutant, à savoir : [[:doc:systeme:commandes:le_debianiste_qui_papillonne|Utiliser GNU/Linux en ligne de commande, tout commence là !.]] :-) | ||
- | * Suivi : {{tag>à-compléter}} | + | * Suivi : {{tag>à-placer}} |
* Création par [[user>captnfab]] le 03/02/2014 | * Création par [[user>captnfab]] le 03/02/2014 | ||
* Testé par [[user>captnfab]] le 01/04/2014 | * Testé par [[user>captnfab]] le 01/04/2014 | ||
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 107: | Ligne 125: | ||
Afficher la liste et l'état des connexions réseaux. \\ | 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]]** : | La commande **nmcli** peut remplacer les commandes **[[doc:reseau:ip|ip a]]** ou **[[doc:reseau:ifconfig|ifconfig]]** : | ||
+ | |||
<code user>nmcli</code> | <code user>nmcli</code> | ||
- | <code>virbr1: connecté to virbr1 | + | <code config retour de la commande nmcli> |
+ | |||
+ | virbr1: connecté to virbr1 | ||
bridge, FE:54:00:78:67:DB, sw, mtu 1500 | bridge, FE:54:00:78:67:DB, sw, mtu 1500 | ||
inet4 192.168.2.1/24 | inet4 192.168.2.1/24 | ||
Ligne 197: | Ligne 218: | ||
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 config retour de la commande nmcli connection show enp3s0> |
+ | connection.id: enp3s0 | ||
connection.uuid: 2864a7ef-2c77-42ba-8875-6effe1b58a4a | connection.uuid: 2864a7ef-2c77-42ba-8875-6effe1b58a4a | ||
connection.stable-id: -- | connection.stable-id: -- | ||
Ligne 320: | Ligne 342: | ||
<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 tip>Dans ce cas particulier, la commande va aussi créer une interface virtuelle, nommée **virbr1**, car elle n'existe pas physiquement.</note> | ||
Ligne 346: | Ligne 368: | ||
=== nmcli> print === | === nmcli> print === | ||
- | Afficher les propriétés du profil | + | Afficher les propriétés du profil : |
<code>nmcli> print</code> | <code>nmcli> print</code> | ||
<code> | <code> | ||
Ligne 448: | Ligne 470: | ||
=== nmcli> verify === | === nmcli> verify === | ||
- | //Vérifier la cohérence des modifications effectuées précédemment:// | + | //Vérifier la cohérence des modifications effectuées précédemment :// |
<code>nmcli> verify</code> | <code>nmcli> verify</code> | ||
=== nmcli> activate === | === nmcli> activate === | ||
- | //Appliquer immédiatement les modifications:// | + | //Appliquer immédiatement les modifications :// |
<code>nmcli> activate</code> | <code>nmcli> activate</code> | ||
=== nmcli> save === | === nmcli> save === | ||
- | //Sauver les modifications:// | + | //Sauver les modifications :// |
<code>nmcli> save</code> | <code>nmcli> save</code> | ||
Ligne 466: | Ligne 488: | ||
<code>nmcli> quit</code> | <code>nmcli> quit</code> | ||
- | === Exemples d'utilisation de nmcli === | + | ==== Exemples d'utilisation de nmcli ==== |
- | == Configuration du wifi == | + | === Configuration d'une connexion wifi === |
- | //Scanner les réseaux wifi:// | + | //Faire un scan manuel des points d'accès disponibles :// |
- | <code root>nmcli device wifi rescan</code> | + | <code bash>nmcli device wifi rescan</code> |
- | //Afficher la liste des réseaux wifi trouvés:// | + | //Afficher la liste des points d'accès trouvés :// |
- | <code root>nmcli device wifi list</code> | + | <code bash>nmcli device wifi list</code> |
<code test>IN-USE SSID MODE CHAN RATE SIGNAL BARS SECURITY | <code test>IN-USE SSID MODE CHAN RATE SIGNAL BARS SECURITY | ||
FreeWifi_secure Infra 10 270 Mo/s 100 ▂▄▆█ WPA1 802.1X | FreeWifi_secure Infra 10 270 Mo/s 100 ▂▄▆█ WPA1 802.1X | ||
Ligne 486: | Ligne 508: | ||
FreeWifi_secure Infra 11 195 Mo/s 12 ▂___ WPA2 802.1X</code> | FreeWifi_secure Infra 11 195 Mo/s 12 ▂___ WPA2 802.1X</code> | ||
- | //Ajouter une nouvelle connexion:// | + | //Se connecter à un réseau wifi :// |
- | <code root>nmcli device wifi connect FreeWifi_secure password <Clé wifi></code> | + | <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 512: | Ligne 595: | ||
- | 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 531: | Ligne 614: | ||
=== 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] |