2.3. Utiliser l'outil de ligne de commandes du NetworkManager, nmcli
nmcli OPTIONS OBJECT { COMMAND | help }
général, réseautage, radio, connexion, ou périphérique. Les options les plus utilisées sont les suivantes : -t, --terse pour les scripts, l'option -p, --pretty pour les utilisateurs et l'option -h, --help pour assistance. La complétion de commande est maintenant en place pour nmcli, donc n'oubliez pas d'appuyer sur Tab (onglet) quand vous hésitez sur les commandes disponibles. Voir la page man nmcli(1) pour obtenir une liste complète des options et des commandes. Pour obtenir une liste des configurations des périphérique de réseau connus, exécuter la commande nmcli device sans arguments.
~]$ nmcli help
Usage: nmcli [OPTIONS] OBJECT { COMMAND | help }
OPTIONS
-t[erse] terse output
-p[retty] pretty output
-m[ode] tabular|multiline output mode
-f[ields] <field1,field2,...>|all|common specify fields to output
-e[scape] yes|no escape columns separators in values
-n[ocheck] don't check nmcli and NetworkManager versions
-a[sk] ask for missing parameters
-w[ait] <seconds> set timeout waiting for finishing operations
-v[ersion] show program version
-h[elp] print this help
OBJECT
g[eneral] NetworkManager's general status and operations
n[etworking] overall networking control
r[adio] NetworkManager radio switches
c[onnection] NetworkManager's connections
d[evice] devices managed by NetworkManager
a[gent] NetworkManager secret agent or polkit agent
m[onitor] monitor NetworkManager changes
~]$ nmcli general help
Usage: nmcli general { COMMAND | help }
COMMAND := { status | hostname | permissions | logging }
status
hostname [<hostname>]
permissions
logging [level <log level>] [domains <log domains>]
general.
nmcli-examples(5) contient un certain nombre d'exemples utiles. En voici une brève sélection :
nmcli statut general
nmcli general logging
nmcli connection show
- a,--active, comme suit : nmcli connection show --active
nmcli device status
nmcli connection modify id 'MyCafe' 802-11-wireless.mtu 1350
nmcli con mod MyCafe 802-11-wireless.mtu 1350
id peut été omise car l'ID de connexion (nom) est sans équivoque pour nmcli dans ce cas. Au fur et à mesure que vous vous familiariserez avec les commandes, d'autres abréviations peuvent être faites. Par exemple, nmcli connection add type ethernet
nmcli c a type eth
Note
Lancer et arrêter une interface en utilisant nmcli
nmcli con up id bond0
nmcli con up id port0
nmcli dev disconnect bond0
nmcli dev disconnect ens3
Note
nmcli dev disconnect iface-name plutôt que nmcli con down id id-string, car la disconnexion met l'interface en mode « manual », et aucune connexion automatique ne démarrera tant que l’utilisateur n'aura pas demandé au NetworkManager de démarrer une connexion ou tant qu'un événement externe tel qu'un changement d'opérateur, une hibernation,une mise en veille n'ait eu lieu.
L'éditeur de connexions interactives nmcli
~]$ nmcli con edit
type de connexion valide à la commande nmcli con edit, et être pris directement à l'invite de nmcli. Le format est le suivant pour l'édition d'un profil de connexion existant : nmcli con edit [id | uuid | path] ID
nmcli con edit [saisir new-connection-type de type] [con-name new-connexion- name]
help à l'invite de nmcli pour voir une liste de commandes valides. Utiliser la commande describe pour obtenir une liste des paramètres et de leurs propriétés. Le format est le suivant : describe setting.property
nmcli> describe team.config
2.3.1. Comprendre les options nmcli Copier lienLien copié sur presse-papiers!
type— le type de connexion.- Les valeurs autorisées sont les suivantes :
adsl,bond,bond-slave,bridge,bridge-slave,bluetooth,cdma,ethernet,gsm,infiniband,olpc-mesh,team,team-slave,vlan,wifi,wimax.Chaque type de connexion contient des options de commande spécifiques à un type. Appuyer sur Tab pour en obtenir une liste ou pour voir la listeTYPE_SPECIFIC_OPTIONSdans la page mannmcli(1). L'optiontypes'applique après les commandes suivantes :nmcli connection addetnmcli connection edit. con-name— le nom assigné à un profil de connexion.- Si vous n'indiquez pas de nom de connexion, il sera généré suivant le format suivant :
type-ifname[-number]Le nom de connexion est le nom d'un profil de connexion et ne doit pas être confondu avec le nom de l'interface qui représente un périphérique comme wlan0, ens3, em1 et ainsi de suite). Les utilisateurs peuvent toutefois nommer les connexions d'après les interfaces, mais ce n'est pas la même chose. Il peut y avoir plusieurs profils de connexion pour un périphérique. Ceci est particulièrement utile pour les appareils mobiles ou quand on fait des changements de câble réseau entre différents appareils. Plutôt que de modifier la configuration, créer des profils différents et les appliquer à l'interface selon les besoins. L'optionidfait également référence au nom du profil de connexion. id— une chaîne d'identification assignée par l'utilisateur à un profil de connexion.- L'ID peut être utilisé avec les commandes
nmcli connectionpour identifier une connexion. Le champ NAME figurant dans la sortie indique l'ID de connexion (nom). Il se rapporte au même nom de connexion que celui ducon-name. uuid— une chaîne d'identification unique assignée par le système à un profil de connexion.- L'UUID peut être utilisé par les commandes
nmcli connectionpour identifier une connexion.
2.3.2. Se connecter à réseau par nmcli Copier lienLien copié sur presse-papiers!
~]$ nmcli con show
NAME UUID TYPE DEVICE
Auto Ethernet 9b7f2511-5432-40ae-b091-af2457dfd988 802-3-ethernet --
ens3 fb157a65-ad32-47ed-858c-102a48e064a2 802-3-ethernet ens3
MyWiFi 91451385-4eb8-4080-8b82-720aab8328dd 802-11-wireless wlan0
ens3 du champ NAME correspond à l'ID de connexion donné au profil qui s'applique à l'interface ens3. Dans la dernière connexion ci-dessus, l'utilisateur assigne l'ID de connexion MyWiFi à l'interface wlan0.
~]$ nmcli dev status
DEVICE TYPE STATE CONNECTION
ens3 ethernet disconnected --
ens9 ethernet disconnected --
lo loopback unmanaged --
Ajouter une connexion Ethernet dynamique
IP dynamique, ce qui permet à DHCP d'assigner la configuration de réseau, on peut utiliser une commande du format suivant : nmcli connection add type ethernet con-name connection-name ifname interface-name
~]$ nmcli con add type ethernet con-name my-office ifname ens3
Connection 'my-office' (fb157a65-ad32-47ed-858c-102a48e064a2) successfully added.
connection.autoconnect à yes. Le NetworkManager inscrira également des paramètres de config dans /etc/sysconfig/network-scripts/ifcfg-my-office avec la directive ONBOOT définie sur yes.
~]$ nmcli con up my-office
Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/5)
~]$ nmcli device status
DEVICE TYPE STATE CONNECTION
ens3 ethernet connected my-office
ens9 ethernet disconnected --
lo loopback unmanaged --
DHCP, modifier la propriété dhcp-hostname comme suit :
~]$ nmcli con modify my-office my-office ipv4.dhcp-hostname host-name ipv6.dhcp-hostname host-name
IPv4 envoyé par un hôte à un serveur DHCP, modifier la propriété dhcp-client-id comme suit :
~]$ nmcli con modify my-office my-office ipv4.dhcp-client-id client-ID-string
dhcp-client-id pour IPv6, le dhclient crée un identifiant pour IPv6. Voir la page man dhclient(8) pour plus d'informations.
DNS envoyés à un hôte par un serveur DHCP, modifier la propriété ignore-auto-dns comme suit :
~]$ nmcli con modify my-office my-office ipv4.ignore-auto-dns yes ipv6.ignore-auto-dns yes
nm-settings(5) pour obtenir plus d'informations sur les propriétés et leurs paramètres de configurations.
Exemple 2.1. Configurer une connexion Ethernet dynamique par l'éditeur interactif
~]$ nmcli con edit type ethernet con-name ens3
===| nmcli interactive connection editor |===
Ajouter une nouvelle connexion '802-3-ethernet'
Tapez 'help' ou '?' pour interroger les commandes disponibles.
Tapez 'describe [<setting>.<prop>]' pour obtenir une description de propriété détaillée.
Vous pouvez modifier les paramètres suivants : connection, 802-3-ethernet (ethernet), 802-1x, ipv4, ipv6, dcb
nmcli> describe ipv4.method
=== [method] ===
[NM property description]
IPv4 configuration method. Si 'auto' est spécifié, alors la méthode automatique (DHCP, PPP, etc) qui convient sera utilisée par l'interface, et la plupart des autres propriétés devront demeurer non définies. Si 'link-local' est spécifié, alors une adresse de lien-local dans l'intervalle de valeurs 169.254/16 sera assignée à l'interface. Si 'manual' est spécifié, l'adressage IP statique est utilisé, et une adresse IP au moins devra être donnée dans la propriété 'addresses' . Si 'shared' est spécifié (indiquant ainsi que cette connexion donnera un accès réseau à d'autres machines) alors, l'interface reçoit une adresse dans la plage de valeurs 10.42.x.1/24 et un DHCP, le serveur de transfert DNS est démarré, et l'interface est en NAT-ed dans la connexion réseau courante par défaut. 'disabled' signifie qu' IPv4 ne sera pas utilisé pour cette connnexion. Cette propriété devra être définie.
nmcli> set ipv4.method auto
nmcli> save
Sauvegarde de la connexion avec 'autoconnect=yes'. Peut résulter en activation immédiate de la connexion.
Souhaitez-vous toujours sauvegarder ? [yes] yes
Connexion 'ens3' (090b61f7-540f-4dd6-bf1f-a905831fc287) sauvegardée.
nmcli> quit
~]$
save temporary.
Ajouter une connexion Ethernet statique
IPv4 statique, utiliser une commande sous le format suivant : nmcli connection add type ethernet con-name connection-name ifname interface-name ip4 address gw4 address
IPv6. L'adresse et la passerelle peuvent être ajoutées en utilisant les options ip6 et gw6.
IPv4 et une passerelle :
~]$ nmcli con add type ethernet con-name test-lab ifname ens9 ip4 10.10.10.10/24 \
gw4 10.10.10.254
IPv6 et la passerelle pour le périphérique comme suit :
~]$ nmcli con add type ethernet con-name test-lab ifname ens9 ip4 10.10.10.10/24 \
gw4 10.10.10.254 ip6 abbe::cafe gw6 2001:db8::1
Connection 'test-lab' (05abfd5e-324e-4461-844e-8501ba704773) successfully added.
ipv4.method à manual et connection.autoconnect à yes. Le NetworkManager inscrira également des paramètres de config dans /etc/sysconfig/network-scripts/ifcfg-my-office avec la directive BOOTPROTO définie sur none et ONBOOT définie sur yes..
IPv4 DNS :
~]$ nmcli con mod test-lab ipv4.dns "8.8.8.8 8.8.4.4"
DNS déjà définis. Pour définir deux adresses de serveur IPv6 DNS :
~]$ nmcli con mod test-lab ipv6.dns "2001:4860:4860::8888 2001:4860:4860::8844"
DNS déjà définis. Pour ajouter deux serveurs DNS à un serveur déjà défini, utiliser le préfixe + comme suit :
~]$ nmcli con mod test-lab +ipv4.dns "8.8.8.8 8.8.4.4"
~]$ nmcli con mod test-lab +ipv6.dns "2001:4860:4860::8888 2001:4860:4860::8844"
~]$ nmcli con up test-lab ifname ens9
Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/6)
~]$ nmcli device status
DEVICE TYPE STATE CONNECTION
ens3 ethernet connected my-office
ens9 ethernet connected test-lab
lo loopback unmanaged --
~]$ nmcli -p con show test-lab
===============================================================================
Connection profile details (test-lab)
===============================================================================
connection.id: test-lab
connection.uuid: 05abfd5e-324e-4461-844e-8501ba704773
connection.interface-name: ens9
connection.type: 802-3-ethernet
connection.autoconnect: yes
connection.timestamp: 1410428968
connection.read-only: no
connection.permissions:
connection.zone: --
connection.master: --
connection.slave-type: --
connection.secondaries:
connection.gateway-ping-timeout: 0[output truncated]
-p, --pretty ajoute un titre de bannière et une séparation de section à la sortie.
Exemple 2.2. Configurer une connexion Ethernet statique par l'éditeur interactif
~]$ nmcli con edit type ethernet con-name ens3
===| nmcli interactive connection editor |===
Ajouter une nouvelle connexion '802-3-ethernet'
Tapez 'help' ou '?' pour interroger les commandes disponibles.
Tapez 'describe [<setting>.<prop>]' pour obtenir une description de propriété détaillée.
Vous pouvez modifier les paramètres suivants : connection, 802-3-ethernet (ethernet), 802-1x, ipv4, ipv6, dcb
nmcli> set ipv4.routes 192.168.122.88/24
Souhaitez-vous également définir 'ipv4.method' à 'manual'? [yes]: yes
nmcli>
nmcli> save temporary
Sauvegarde de la connexion avec 'autoconnect=yes'. Peut résulter en activation immédiate de la connexion.
Souhaitez-vous toujours sauvegarder ? [yes] no
nmcli> save
Souhaitez-vous toujours sauvegarder ? [yes] yes
Connexion 'ens3' (704a5666-8cbd-4d89-b5f9-fa65a3dbc916) sauvegardée.
nmcli> quit
~]$
save temporary.
Verrouiller un profil sur un périphérique particulier
nmcli connection add type ethernet con-name connection-name ifname interface-name
nmcli connection add type ethernet con-name connection-name ifname "*"
ifname même si vous ne souhaitez pas définir une interface spécifique. Utilisez le caractère générique * pour spécifier que le profil puisse être utilisé avec n'importe quel périphérique compatible.
nmcli connection add type ethernet con-name "connection-name" ifname "*" mac 00:00:5E:00:53:00
Ajout d'une connexion Wi-Fi
~]$ nmcli dev wifi list
SSID MODE CHAN RATE SIGNAL BARS SECURITY
FedoraTest Infra 11 54 MB/s 98 ▂▄▆█ WPA1
Red Hat Guest Infra 6 54 MB/s 97 ▂▄▆█ WPA2
Red Hat Infra 6 54 MB/s 77 ▂▄▆_ WPA2 802.1X
* Red Hat Infra 40 54 MB/s 66 ▂▄▆_ WPA2 802.1X
VoIP Infra 1 54 MB/s 32 ▂▄__ WEP
MyCafe Infra 11 54 MB/s 39 ▂▄__ WPA2
IP statique, tout en autorisant l'attribution d'adresses DNS automatiques, exécutez une commande comme suit :
~]$ nmcli con add con-name MyCafe ifname wlan0 type wifi ssid MyCafe \
ip4 192.168.100.101/24 gw4 192.168.100.1
~]$ nmcli con modify MyCafe wifi-sec.key-mgmt wpa-psk
~]$ nmcli con modify MyCafe wifi-sec.psk caffeine
~]$ nmcli radio wifi [on | off ]
Changer une propriété spécifique
mtu, exécutez une commande comme suit :
~]$ nmcli connection show id 'MyCafe' | grep mtu
802-11-wireless.mtu: auto
~]$ nmcli connection modify id 'MyCafe' 802-11-wireless.mtu 1350
~]$ nmcli connection show id 'MyCafe' | grep mtu
802-11-wireless.mtu: 1350
802-3-ethernet et 802-11-wireless et mtu comme propriétés de configuration. Voir la page man nm-settings(5) pour plus d'informations sur les propriétés et leurs configurations.
2.3.3. Configuration des routages statiques par nmcli Copier lienLien copié sur presse-papiers!
Exemple 2.3. Configuration des routages statiques par nmcli
~]# nmcli connection modify eth0 +ipv4.routes "192.168.122.0/24 10.10.10.1"
192.168.122.0/24 vers la passerelle 10.10.10.1
Exemple 2.4. Configuration des routages statiques par l'éditeur nmcli
~]$ nmcli con edit type ethernet con-name ens3
===| nmcli interactive connection editor |===
Ajouter une nouvelle connexion '802-3-ethernet'
Tapez 'help' ou '?' pour interroger les commandes disponibles.
Tapez 'describe [<setting>.<prop>]' pour obtenir une description de propriété détaillée.
Vous pouvez modifier les paramètres suivants : connection, 802-3-ethernet (ethernet), 802-1x, ipv4, ipv6, dcb
nmcli> set ipv4.routes 192.168.122.0/24 10.10.10.1
nmcli>
nmcli> save persistent
Sauvegarde de la connexion avec 'autoconnect=yes'. Peut résulter en activation immédiate de la connexion.
Souhaitez-vous toujours sauvegarder ? [yes] yes
Connexion 'ens3' (704a5666-8cbd-4d89-b5f9-fa65a3dbc916) sauvegardée.
nmcli> quit
~]$