\documentclass{report}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{textcomp}
\usepackage{geometry}
\geometry{top=15mm, bottom=15mm, left=1cm, right=1cm}
\usepackage[french]{babel}
\usepackage{pslatex}
\usepackage[colorlinks=true,urlcolor=black]{hyperref}
\usepackage{graphicx}
\usepackage{fancyhdr}
\pagestyle{fancy}
\renewcommand{\footrulewidth}{0.4pt}
\fancyfoot[L]{Uubu.fr}
\fancyfoot[R]{ven. mai 5 10:11:54 CEST 2017}
\lfoot{\Large \textit{Uubu.fr}}
\hypersetup{pdfinfo={
Title={nmcli},
Author={Sylvain Girod},
Creator={Bash script from uubu.fr's format version 1},
Producer={Bash script and PDFLaTeX},
Subject={Outil d'administration de NetworkManager},
CreationDate={D:20170505101154},
ModDate={D:20170505101154},
Keywords={réseaux;Linux;NetworkManager}
}}
\begin{document}
 
\begin{center}
{\Huge nmcli }
\end{center}
\vspace{1cm}
 
\begin{flushleft}
 
{\large Outil d'administration de NetworkManager}
 
\vspace{10mm}
 
\hspace{1mm}  Cet outil contrôle NetworkManager et affiche le status réseaux.
\vspace{5mm} \\
 
 
\vspace{1cm}{\huge OPTIONS }
 
\
 
\begin{description} \normalsize
\item[\hspace{1mm} -t, --terse]{Affichage adapté aux traitement dans les scripts}
\item[\hspace{1mm} -p, --pretty]{Affiche plus compréhensible}
\item[\hspace{1mm} -m, --mode \{ tabular | multiline \}]{Affichage tabulaire ou multiligne. Défaut: multiline}
\item[\hspace{1mm} -c, --colors \{yes | no | auto\}]{Contrôle si la sortie utilise les couleurs. Défaut: auto}
\item[\hspace{1mm} -f, --fields \{ field1,field2...|all|common \}]{Contrôle les champs affiché sur la sortie. Défaut: common}
\item[\hspace{1mm} -e, --escape \{yes|no\}]{Indisque si les caractères : et \textbackslash{} sont échappés en mode terse. Défaut: yes}
\item[\hspace{1mm} -a,--ask]{nmcli stop et demande des arguments. Utile pour demander un mot de passe}
\item[\hspace{1mm} -s, --show-secrets]{Affiche les mots de passe et secrets qui peuvent être présent dans la sortie.}
\item[\hspace{1mm} -w, --wait seconds]{Délai d'attente d'une opération NetworkManager. Utile pour les commande qui prennent du temps comme l'activation de connection. 0 signifie pas d'attente}
\item[\hspace{1mm} --complete-args]{Affiche la liste des arguments possible pour le dernier argument.}
\end{description}
 
\vspace{1cm}{\huge Commande general }
 
\
 
\begin{description} \normalsize
\item[\hspace{1mm} status]{Affiche le status général de NetworkManager}
\item[\hspace{1mm} hostname \texttt{[}hostname\texttt{]}]{Affiche ou définis le nom d'hôte.}
\item[\hspace{1mm} permissions]{Affiche les permissions qu'un appelant a pour diverses opérations authentifiées}
\item[\hspace{1mm} logging \texttt{[}level level\texttt{]}\texttt{[}domains domains...\texttt{]}]{Affiche ou change le niveau de log de NetworkManager et les domaines.}
\end{description}
 
\vspace{1cm}{\huge Commande networking }
 
\
 
\begin{description} \normalsize
\item[\hspace{1mm} on, off]{Active ou désactive le contrôle du réseaux par NetworkManager.}
\item[\hspace{1mm} connectivity \texttt{[}check\texttt{]}]{Affiche l'état de la connectivité réseaux. L'état indiques:}
\end{description}
 
\begin{description} \normalsize
\item[\hspace{6mm} none]{L'hôte n'est pas connecté à un réseau}
\item[\hspace{6mm} portal]{L'hôte est derrière un portail captif et ne peut pas accéder à Internet}
\item[\hspace{6mm} limited]{L'hôte est connecté à un réseau, mais n'a pas accès à internet}
\item[\hspace{6mm} full]{L'hôte est connecté à un réseau et a pleinement accès à internet}
\item[\hspace{6mm} unknown]{Le status de connectivité ne peut être trouvé}
\end{description}
 
\vspace{1cm}{\huge Commande radio }
 
\
 
\begin{description} \normalsize
\item[\hspace{1mm} wifi \texttt{[}on|off\texttt{]}]{Affiche ou définis le status du WiFi dans NetworkManager.}
\item[\hspace{1mm} wwan \texttt{[}on|off\texttt{]}]{Affiche ou définis le status de WWAN dans NetworkManager}
\item[\hspace{1mm} al \texttt{[}on|off\texttt{]}]{Affiche ou dfinis le status du wifi et WWAN dans NetworkManager}
\end{description}
 
\vspace{1cm}{\huge Commande monitor }
 
\
 
\hspace{1mm}  Observe l'activité NetworkManager. Regarde les changements d'état de connectivité, périphérique ou profiles de connexion.
\vspace{5mm} \\
 
 
\vspace{1cm}{\huge Commande connection }
 
\
 
\begin{description} \normalsize
\item[\hspace{1mm} show \texttt{[}--active\texttt{]}\texttt{[}--order\texttt{[}+-\texttt{]}category:...\texttt{]}]{Liste les profiles de connection sur disque et en mémoire. --order permet d'afficher dans un ordre particulier (active, name, type, path). sans préfix ou avec +, trie dans l'ordre ascendant.}
\item[\hspace{1mm} show \texttt{[}--active\texttt{]}\texttt{[}id|uuid|path|apath\texttt{]} ID...]{Affiche des détails pour les connections spécifiées. --active affiche seulement les profiles actifs. Les mots clés sont utilisé si l'ID est ambigus:}
\end{description}
 
\begin{description} \normalsize
\item[\hspace{6mm} id]{L'ID dénote le nom d'une connexion}
\item[\hspace{6mm} uuid]{L'ID dénote un UUID de connexion}
\item[\hspace{6mm} path]{l'ID dénote un chemin de connexion D-Bus}
\item[\hspace{6mm} apath]{L'ID dénote un chemin de connexion actif D-Bus}
\end{description}
 
\begin{description} \normalsize
\item[\hspace{1mm} up \texttt{[}id|uuid|path\texttt{]} ID \texttt{[}ifname ifname\texttt{]} \texttt{[}ap BSSID\texttt{]} \texttt{[}passwd-file file\texttt{]}]{Active une connexion. La connexion est identifiée par son nom, UUID ou chemin D-Bus. Si l'ID est ambigus le mot clé id, uuid ou path peut être utilisé. si requis, ifname sélectionne un périphérique particulier. ap spcécifie un BSSID de l'AP à utiliser dans le cas de connexions Wi-Fi. --wait spécifie le timeout (defaut: 90s). passwd-file spécifie les accréditifs pour l'activation. peut être sous la forme:}
\end{description}
 
\begin{description} \normalsize
\item[\hspace{6mm} setting\_name.property\_name:the password]{Spécifie le mot de passe explicitement}
\item[\hspace{6mm} 802-11-wireless-security.psk:secret12345]{Pour WPA PSK}
\item[\hspace{6mm} 802-1x.password:my 1X password]{mot de passe 802.1x}
\end{description}
 
\begin{description} \normalsize
\item[\hspace{1mm} down \texttt{[} id | uuid | path | apath \texttt{]} ID...]{Désactive une connexion}
\item[\hspace{1mm} modify \texttt{[}--temporary\texttt{]} \texttt{[} id | uuid | path \texttt{]} ID \{ option value | \texttt{[}+|-\texttt{]}setting.property value \} ...]{Ajoute, modify ou supprime des propriétés dans le profile de connexion. une valeur "" supprime la valeur.}
\item[\hspace{1mm} add \texttt{[}save \{ yes | no \}\texttt{]} \{ option value | \texttt{[}+|-\texttt{]}setting.property value \} ...]{Créé une nouvelle connexion en utilisant les propriétés spécifiées.. Pour construire une connexion significative il faut nécessairement la propriété connection.type (ethernet, wifi, wimax, pppoe, gsm, cdma, infiniband, bluetooth, vlan, bond, bond-slave, team, team-slave, bridge, bridge-slave, vpn, olpc-mesh, adsl, tun, ip-tunnel, macvlan, vxlan). save contrôle si la connexion doit être persistante}
\item[\hspace{1mm} edit \{ \texttt{[} id | uuid | path \texttt{]} ID | \texttt{[}type type\texttt{]} \texttt{[}con-name name\texttt{]} \}]{Édite une connexion existante, ou en ajouter une, en utilisant un éditeur interactif. type spécifie le type de connexion, et con-name spécifie le nom pour la connexion.}
\item[\hspace{1mm} clone \texttt{[}--temporary\texttt{]} \texttt{[} id | uuid | path \texttt{]} ID new\_name]{Clone une connexion. La connexion clonée est identifiée par son nom, UUID, ou chemin D-Bus. --temporary ne conserve pas le nouveau profile au redémarrage}
\item[\hspace{1mm} delete \texttt{[} id | uuid | path \texttt{]} ID...]{Supprime une connexion configurée}
\item[\hspace{1mm} monitor \texttt{[} id | uuid | path \texttt{]} ID...]{supervise l'activité du profile de connexion. Affiche une ligne si la connexion spécifiée change}
\item[\hspace{1mm} reload]{Recharge tous les fichiers de connexion depuis le disque}
\item[\hspace{1mm} load filename]{Charge/recharge un ou plusieurs fichiers de connexion.}
\item[\hspace{1mm} import \texttt{[}--temporary\texttt{]} type type file file]{Importe une configuration externe comme profile NetworkManager. Le type de fichier d'entrée est spécifiée par type}
\item[\hspace{1mm} export \texttt{[}id|uuid|path\texttt{]} ID \texttt{[}file\texttt{]}]{Exporte une connexion. Seul les connexions VPN sont supportés pour le moment.}
\end{description}
 
\vspace{1cm}{\huge Commande device }
 
\
 
\begin{description} \normalsize
\item[\hspace{1mm} status]{Affiche le status du périphérique. C'est l'action par défaut}
\item[\hspace{1mm} show \texttt{[}ifname\texttt{]}]{Affiche des informations détaillées sur les périphériques. Sans argument, examine tous les périphériques.}
\item[\hspace{1mm} set \texttt{[}ifname\texttt{]} ifname \texttt{[} autoconnect \{ yes | no \} \texttt{]} \texttt{[} managed \{ yes | no \} \texttt{]}]{Définis les propriétés du périphérique}
\item[\hspace{1mm} connect ifname]{Connecte le périphérique. NetworkManager tente de trouver une connexion convenable à activer. Il considère également les connexions non-autoconnect}
\item[\hspace{1mm} reapply ifname]{Tente de mettre à jours de le périphérique}
\item[\hspace{1mm} modify ifname \{ option value | \texttt{[}+|-\texttt{]}setting.property value \}...]{Modifie le paramètre courant du périphérique. Cette commande permet d'effectuer des changements temporaires de la configuration active.}
\item[\hspace{1mm} disconnect ifname]{Déconnecte un périphérique et empêche de périphérique d'activer d'autres connections sans intervention manuelle.}
\item[\hspace{1mm} delete ifname]{Supprime un périphérique. Supprime l'interaface du système. Ne fonctionne que pour les périphériques logiciels}
\item[\hspace{1mm} monitor \texttt{[}ifname...\texttt{]}]{Supervise l'activité du périphérique. Affiche une ligne indiquant le changement d'état de l'interface}
\item[\hspace{1mm} wifi \texttt{[}list \texttt{[}ifname ifname\texttt{]}\texttt{[}bssid BSSID\texttt{]}\texttt{]}]{Liste les points d'accès wifi.}
\item[\hspace{1mm} wifi connect (B)SSID \texttt{[}password password\texttt{]} \texttt{[} wep-key-type \{ key | phrase \} \texttt{]} \texttt{[}ifname ifname\texttt{]} \texttt{[}bssid BSSID\texttt{]} \texttt{[}name name\texttt{]} \texttt{[} private \{ yes | no \} \texttt{]} \texttt{[} hidden \{ yes | no \} \texttt{]}]{Connecte un réseaux Wi-Fi spécifié par son SSID ou BSSID. La commande créé une nouvelle connexion et l'active sur un périphérique.}
\end{description}
 
\begin{description} \normalsize
\item[\hspace{6mm} password]{Mot de passe WEP ou WPA}
\item[\hspace{6mm} wep-key-type]{Type de secret WEP, (key ou phrase)}
\item[\hspace{6mm} ifname]{Interface à utiliser pour l'activation}
\item[\hspace{6mm} bssid]{La connexion créée est restreinte pour le BSSID}
\item[\hspace{6mm} name]{Nom de la connexion}
\item[\hspace{6mm} private]{à yes, la connexion n'est visible que de l'utilisateur qui l'a créé.}
\item[\hspace{6mm} hidden]{à yes, pour les points d'accès qui ne broadcast pas le SSID}
\end{description}
 
\begin{description} \normalsize
\item[\hspace{1mm} wifi hotspot \texttt{[}ifname ifname\texttt{]} \texttt{[}con-name name\texttt{]} \texttt{[}ssid SSID\texttt{]} \texttt{[} band \{ a | bg \} \texttt{]} \texttt{[}channel channel\texttt{]} \texttt{[}password password\texttt{]}]{Créé un hotspot Wi-Fi. La commande créé un profile de connection hotspot en accord avec les capacités du périphérique Wi-Fi, et l'active. Le hotspot est sécurisé avec WPA si le périphérique/pilote le supporte, WEP sinon. Utiliser connection down ou device disconnect pour stopper le hotspot. Les paramètres sont:}
\end{description}
 
\begin{description} \normalsize
\item[\hspace{6mm} ifname]{Périphérique à utiliser}
\item[\hspace{6mm} con-name]{Nom du profile à créer}
\item[\hspace{6mm} ssid]{SSID du hotspot}
\item[\hspace{6mm} band]{bande Wi-Fi à utiliser}
\item[\hspace{6mm} channel]{Canal Wi-Fi à utiliser}
\item[\hspace{6mm} password]{Mode de passe à utiliser. Non fournis, nmcli en génère un. Noter que --show-secrets peut être utilisé pour afficher le mot de passe.}
\item[\hspace{6mm} wifi rescan \texttt{[}ifname ifname\texttt{]}\texttt{[}ssid SSID...\texttt{]}]{Rescan immédiatement les points d'accès disponibles. en spécifiant le SSID, il est possible de rechercher ce SSID spécifique.}
\item[\hspace{6mm} lldp \texttt{[} list \texttt{[} ifname ifname \texttt{]}\texttt{]}]{Affiche des informations sur les périphériques voisins appris via le protocole lldp.}
\end{description}
 
\vspace{1cm}{\huge Commande agent }
 
\
 
\begin{description} \normalsize
\item[\hspace{1mm} secret]{Enregistre nmcli comme agent secret NetworkManager et écoute les demandes de secrets. Ce n'est généralement pas nécessaire parce que nmcli peut gérer les secrets à la connection aux réseaux.}
\item[\hspace{1mm} polkit]{Enregistre nmcli comme agent polkit pour la session utilisateur.}
\item[\hspace{1mm} all]{Lance nmcli comme secret NetworkManager et agent polkit}
\end{description}
 
\vspace{1cm}{\huge Variables d'environnement }
 
\
 
\begin{description} \normalsize
\item[\hspace{1mm} LC\_ALL]{Langage à utiliser pour déterminer le jeu de caractères}
\item[\hspace{1mm} LC\_MESSAGES]{Utilisé pour rechercher les locales}
\item[\hspace{1mm} LANG]{Langage à utiliser pour déterminer le jeu de caractères}
\end{description}
 
\vspace{1cm}{\huge Codes de sortie }
 
\
 
\begin{description} \normalsize
\item[\hspace{1mm} 0]{succès}
\item[\hspace{1mm} 1]{Erreur non-spécifiée ou inconnue}
\item[\hspace{1mm} 2]{entrée utilisateur invalide}
\item[\hspace{1mm} 3]{Timeout expiré (--wait)}
\item[\hspace{1mm} 4]{Activation de connexion échouée}
\item[\hspace{1mm} 5]{Désactivation de connexion échouée}
\item[\hspace{1mm} 6]{Déconnexion de périphérique échouée}
\item[\hspace{1mm} 7]{Suppression de connexion échouée}
\item[\hspace{1mm} 8]{NetworkManager n'est pas en cours de fonctionnement}
\item[\hspace{1mm} 10]{La connection, périphérique ou point d'accès n'existe pas}
\item[\hspace{1mm} 65]{avec --complete-args, un nom de fichier est attendu.}
\end{description}
 
\vspace{1cm}{\huge Exemples }
 
\
 
\hspace{1mm} Voir si NetworkManager est en cours de fonctionnement \\
\hspace{1mm} \textbf{nmcli -t -f RUNNING general} \\
\hspace{1mm} Affiche le status de NetworkManager \\
\hspace{1mm} \textbf{nmcli -t -f STATE general} \\
\hspace{1mm} Désactiver le wifi \\
\hspace{1mm} \textbf{nmcli radio wifi off} \\
\hspace{1mm} Lister les connexions que possède NetworkManager \\
\hspace{1mm} \textbf{nmcli connection show} \\
\hspace{1mm} Afficher toutes les connexions configurées en mode multiligne \\
\hspace{1mm} \textbf{nmcli -p -m multiline -f all con show} \\
\hspace{1mm} Lister toutes les connexions actives \\
\hspace{1mm} \textbf{nmcli connection show --active} \\
\hspace{1mm} Afficher tous les noms de profile de connexion et leur propriété auto-connect \\
\hspace{1mm} \textbf{nmcli -f name,autoconnect c s} \\
\hspace{1mm} afficher des détails pour le profile de connexion "My default em1" \\
\hspace{1mm} \textbf{nmcli -p connection show "My default em1"} \\
\hspace{1mm} AFficher des détails pour "My Home Wifi" avec tous les mots de passe: \\
\hspace{1mm} \textbf{nmcli --show-secrets connection show "My Home WiFi"} \\
\hspace{1mm} Affiche des détails pour la connexion active "My default em1": \\
\hspace{1mm} \textbf{nmcli -f active connection show "My default em1"} \\
\hspace{1mm} afficher les détails de configuration statique du profile de connexion \\
\hspace{1mm} \textbf{nmcli -f profile con s "My wired connection"} \\
\hspace{1mm} Activer un profile de connexion sur eth0 \\
\hspace{1mm} \textbf{nmcli -p con up "My wired connection" ifname eth0} \\
\hspace{1mm} Connecter le Wi-Fi avec l'uuid spécifié au point d'accès donné \\
\hspace{1mm} \textbf{nmcli con up 6b028a27-6dc9-4411-9886-e9ad1dd43761 ap 00:3A:98:7C:42:D3} \\
\hspace{1mm} Aficher le status de tous les périphériques \\
\hspace{1mm} \textbf{nmcli device status} \\
\hspace{1mm} Déconnecter une connection de l'interface em2 et marquer le périphérique comme indisponibble pour l'auto-connexion. \\
\hspace{1mm} \textbf{nmcli dev disconnect em2} \\
\hspace{1mm} Afficher des détails pour wlan0, en limitant aux sections GENERAL et WIFI-PROPERTIES \\
\hspace{1mm} \textbf{nmcli -f GENERAL,WIFI-PROPERTIES dev show wlan0} \\
\hspace{1mm} Afficher tous les profiles de connection disponibles pour l'interface Wi-Fi wlp3s0 \\
\hspace{1mm} \textbf{nmcli -f CONNECTIONS device show wlp3s0} \\
\hspace{1mm} Lister tous les points d'accès disponibles connus \\
\hspace{1mm} \textbf{nmcli dev wifi} \\
\hspace{1mm} Créer une nouvelle connexion nommée "My cafe" et le connecter au SSID "Cafe Hotspot 1" avec le mot de passe caffeine. \\
\hspace{1mm} \textbf{nmcli dev wifi con "Cafe Hotspot 1" password caffeine name "My cafe"} \\
\hspace{1mm} Créer un profile hotspot et se connecter. Affiche le mot de passe \\
\hspace{1mm} \textbf{nmcli -s dev wifi hotspot con-name QuickHotspot} \\
\hspace{1mm} Démarre un partage de connexion IPv4 en utilisant le périphérique em1. Le partage est activé jusqu'à ce que le périphérique soit déconnecté \\
\hspace{1mm} \textbf{nmcli dev modify em1 ipv4.method shared} \\
\hspace{1mm} Ajoute temporairement une adresse IP au périphérique \\
\hspace{1mm} \textbf{nmcli dev modify em1 ipv6.address 2001:db8::a:bad:c0de} \\
\hspace{1mm} Ajoute non-interactivement une connexion Ethernel à eth0 avec DHCP, puis désactive le flag autoconnect \\
\hspace{1mm} \textbf{nmcli connection add type ethernet autoconnect no ifname eth0} \\
\hspace{1mm} Ajoute un VLAM avec l'id 55, sur eth0 et nommé Maxipes-fik \\
\hspace{1mm} \textbf{nmcli c a ifname Maxipes-fik type vlan dev eth0 id 55} \\
\hspace{1mm} Ajoute une connexion qui utiliser eth0 et a seulement une IPv6 lien-local \\
\hspace{1mm} \textbf{nmcli c a ifname eth0 type ethernet ipv4.method disabled ipv6.method link-local} \\
\hspace{1mm} Édite une connexion existante dans un éditeur interactif \\
\hspace{1mm} \textbf{nmcli connection edit ethernet-em1-2} \\
\hspace{1mm} Ajoute une nouvelle connexion Ethernet dans l'éditeur interactif \\
\hspace{1mm} \textbf{nmcli connection edit type ethernet con-name "yet another Ethernet connection"} \\
\hspace{1mm} Modifie la propriété autoconnect \\
\hspace{1mm} \textbf{nmcli con mod ethernet-2 connection.autoconnect no} \\
\hspace{1mm} Modifie le propriété mtu dans les paramètre wi-fi d'une connexion \\
\hspace{1mm} \textbf{nmcli con mod "Home Wi-Fi" wifi.mtu 1350} \\
\hspace{1mm} Définis l'adressage manuellement et les adresse dans le profile em1-1 \\
\hspace{1mm} \textbf{nmcli con mod em1-1 ipv4.method manual ipv4.addr "192.168.1.23/24 192.168.1.1, 10.10.1.5/8, 10.0.0.11"} \\
\hspace{1mm} Ajoute un serveur DNS public google aux serveurs DNS dans le profile ABC \\
\hspace{1mm} \textbf{nmcli con modify ABC +ipv4.dns 8.8.8.8} \\
\hspace{1mm} Supprime l'adresse IP spécifiée du profile ABC \\
\hspace{1mm} \textbf{nmcli con modify ABC -ipv4.addresses "192.168.100.25/24 192.168.1.1"} \\
\hspace{1mm} Importe une configuration OpenVPN \\
\hspace{1mm} \textbf{nmcli con import type openvpn file \textasciitilde/Downloads/frootvpn.ovpn} \\
\hspace{1mm} Export le profile VPM \\
\hspace{1mm} \textbf{nmcli con export corp-vpnc /home/joe/corpvpn.conf} \\
\end{flushleft}
\end{document}
