\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:12:52 CEST 2017}
\lfoot{\Large \textit{Uubu.fr}}
\hypersetup{pdfinfo={
Title={NetworkManager},
Author={Sylvain Girod},
Creator={Bash script from uubu.fr's format version 1},
Producer={Bash script and PDFLaTeX},
Subject={Service de gestion réseaux},
CreationDate={D:20170505101252},
ModDate={D:20170505101252},
Keywords={réseaux;Linux;NetworkManager}
}}
\begin{document}
 
\begin{center}
{\Huge NetworkManager }
\end{center}
\vspace{1cm}
 
\begin{flushleft}
 
{\large Service de gestion réseaux}
 
\vspace{10mm}
 
\hspace{1mm}  Le service NetworkManager tente de simplifier et d'automatiser la configuration réseaux et les opérations réseaux. Les informations sur le réseau sont exportés via D-Bus.
\vspace{5mm} \\
 
 
\hspace{1mm}  NetworkManager exécute les scripts dans /etc/NetworkManager/dispatcher.d ou ses sous-répertoire dans l'ordre alphabétique en réponse aux événements réseaux. Chaque script devrait être un fichier exécutable possédé par root. Ils ne doivent pas être en écriture par le groupe et les autres, ni suid.
\vspace{5mm} \\
 
 
\hspace{1mm}  Chaque script reçoit 2 arguments, le premier est le nom de l'interface, et le second est l'action. Pour les actions de périphérique, l'interface est le nom de l'interface kernel utilisable pour la configuration IP. Donc c'est soit VPN\_IP\_IFACE, DEVICE\_IP\_IFACE, ou DEVICE\_IFACE. Pour les action hostname et connectivity-change, c'est toujours none.
\vspace{5mm} \\
 
 
\begin{description} \normalsize
\item[\hspace{1mm} pre-up]{L'interface est connectée au réseau, mais pas encore activée. Les scripts agissant dans cet événement doivent être dans le sous-répertoire pre-up.d, et NetworkManager attend la fin de l'exécution du script avant d'indiquer aux applications que l'interface est pleinement activée}
\item[\hspace{1mm} up]{L'interface est activée}
\item[\hspace{1mm} pre-down]{L'interface n'est pas encore déconnecté du réseau. Les scripts agissant dans cet événement doivent être placés dans le sous-répertoire pre-down.d, et NetworkManager attend la fin de l'exécution du script avant de déconnecter l'interface. Noter que cet événement n'est pas émis pour les déconnections forcées}
\item[\hspace{1mm} down]{L'interface a été désactivée}
\item[\hspace{1mm} vpn-pre-up]{Le VPN est connecté au réseau mais n'est pas encore activé. Les scripts sont dans le sous-répertoire pre-up.d}
\item[\hspace{1mm} vpn-up]{Une connection VPN a été activée}
\item[\hspace{1mm} vpn-pre-down]{Le VPN n'est pas encore déconnecté du réseau. Les scripts agissant dans cet événement doivent être placés dans le sous-répertoire pre-down.d, et NetworkManager attend la fin de l'exécution du script avant de déconnecter l'interface. Noter que cet événement n'est pas émis pour les déconnections forcées}
\item[\hspace{1mm} vpn-down]{La connection VPN a été désactivée}
\item[\hspace{1mm} hostname]{Le nom d'hôte du système a été mis à jours. Le nom de l'interface est vide et aucune variable d'environnement n'est définie pour cette action.}
\item[\hspace{1mm} dhcp4-change]{Le bail dhcpv4 a changé}
\item[\hspace{1mm} dhcp6-change]{Le bail dhcpv6 a changé}
\item[\hspace{1mm} connectivity-change]{L'état de connexion réseau a changé}
\end{description}
 
\vspace{1cm}{\huge Variables d'environnement }
 
\
 
\hspace{1mm}  L'environnement contient plus d'informations sur l'interface et la connexion. Les variables suivanetes sont disponible à utiliser dans les scripts
\vspace{5mm} \\
 
 
\begin{description} \normalsize
\item[\hspace{1mm} CONNECTION\_UUID]{l'UUID du profile de connexion}
\item[\hspace{1mm} CONNECTION\_ID]{le nom du profile de connexion}
\item[\hspace{1mm} CONNECTION\_DBUS\_PATH]{Le chemin D-Bus de NetworkManager de la connexion}
\item[\hspace{1mm} CONNECTION\_FILENAME]{Le fichier du profile de connexion}
\item[\hspace{1mm} CONNECTION\_EXTERNAL]{À 1, indique que la connexion décris une configuration réseau créé en-dehors de NetworkManager}
\item[\hspace{1mm} DEVICE\_IFACE]{Nom de l'interface du périphérique.}
\item[\hspace{1mm} DEVICE\_IP\_IFACE]{Nom de l'interface IP du périphérique.}
\item[\hspace{1mm} IP4\_ADDRESS\_N]{Adresse IPv4 sous la forme "adresse/préfixe passerelle", où N est un numéro de 0 à (adresses IPv4 -1). La passerelle est déprécié.}
\item[\hspace{1mm} IP4\_NUM\_ADDRESSES]{Contient le nombre d'adresses IPv4 que le script peut attendre}
\item[\hspace{1mm} IP4\_GATEWAY]{Passerelle IPv4}
\item[\hspace{1mm} IP4\_ROUTE\_N]{Route IPv4 au format "address/prefix next-hop metric", où N est un nombre de 0 à <route-1>}
\item[\hspace{1mm} IP4\_NAMESERVERS]{Liste séparé par un espace de serveurs DNS}
\item[\hspace{1mm} IP4\_DOMAINS]{Liste séparé par un espace de domaines de recherche}
\item[\hspace{1mm} DHCP4\_<dhcp-option-name>]{Si la connection utilise DHCP, chaque option DHCP est définis dans une variable}
\item[\hspace{1mm} IP6\_<name>]{Certaines variables IPv4 sont également disponible pour IPv6}
\item[\hspace{1mm} DHCP6\_<name>]{Certaines variables IPv4 sont également disponible pour IPv6}
\item[\hspace{1mm} CONNECTIVITY\_STATE]{L'état de connexion réseau}
\end{description}
 
\hspace{1mm}  Dans le cas du VPN, VPN\_IP\_IFACE est définis, et les variables IP4\_* et IP6\_* avec le préfixe VPN sont exportés également, comme VPN\_IP4\_ADDRESS\_0, VPN\_IP4\_NUM\_ADDRESSES.
\vspace{5mm} \\
 
 
\hspace{1mm}  Les scripts sont lancés un à la fois, mais de manière asynchrone depuis le processus principale NetworkManager, et sont tués s'ils sont trop long. Si un script doit prendre beaucoup de temps pour s'exécuter, il faut lancer un processus enfant pour que le parent puisse se terminer rapidement. Les scripts qui sont des liens symboliques pointant dans /etc/NetworkManager/dispatcher.d/no-wait.d/ sont lancés immédiatement, sans attendre la fin du script précédent.
\vspace{5mm} \\
 
 
\vspace{1cm}{\huge OPTIONS }
 
\
 
\begin{description} \normalsize
\item[\hspace{1mm} -N, --no-daemon]{Ne lance pas en tâche de fond}
\item[\hspace{1mm} -d, --debug]{Mode debug}
\item[\hspace{1mm} -p, --pid-file]{Spécifie l'emplacement du fichier pid}
\item[\hspace{1mm} --state-file]{Spécifie un fichier pour stocker l'état de NetworkManager. Défaut: /var/lib/NetworkManager/NetworkManager.state}
\item[\hspace{1mm} --config]{Spécifie le fichier de configuration. Défaut: /etc/NetworkManager/NetworkManager.conf}
\item[\hspace{1mm} --plugins]{Liste les plugins utilisés pour gérer les paramètres de connexions système. (keyfile, ifcfg-rh, ifcfg-suse, ifupdown)}
\item[\hspace{1mm} --log-level]{Définis le niveau de log}
\item[\hspace{1mm} --log-domains]{Liste d'opérations loggés}
\item[\hspace{1mm} --print-config]{Affiche la configuration de NetworkManager}
\end{description}
 
\vspace{1cm}{\huge Propriétés udev }
 
\
 
\hspace{1mm}  Le gestionnaire de périphérique udev est utilisé pour la découverte. Les propriétés suivantes influencent la manière dont NetworkManager gère les périphériques:
\vspace{5mm} \\
 
 
\begin{description} \normalsize
\item[\hspace{1mm} NM\_UNMANAGED]{Aucune connexion par défaut n'est créé et ne tente pas d'activation automatique si cette propriété est à 1.}
\end{description}
 
\vspace{1cm}{\huge Signaux }
 
\
 
\begin{description} \normalsize
\item[\hspace{1mm} SIGHUP]{Recharge la configuration de NetworkManager}
\item[\hspace{1mm} SIGUSR1]{Force à ré-écrire la configuration DNS, mais ne redémarre pas le plugin dns et n'interrompt pas la résolution de nom.}
\end{description}
\end{flushleft}
\end{document}
