\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]{mer. mars 17 01:46:55 CET 2010}
\lfoot{\Large \textit{Uubu.fr}}
\hypersetup{pdfinfo={
Title={interfaces},
Author={Sylvain Girod},
Creator={Bash script from uubu.fr's format version 1},
Producer={Bash script and PDFLaTeX},
Subject={Fichier de configuration pour ifup et ifdown. Il contient les informations de configuration pour les interfaces réseau},
CreationDate={D:20100317014655},
ModDate={D:20100317014655},
Keywords={réseaux;Linux}
}}
\begin{document}
 
\begin{center}
{\Huge interfaces }
\end{center}
\vspace{1cm}
 
\begin{flushleft}
 
{\large Fichier de configuration pour ifup et ifdown. Il contient les informations de configuration pour les interfaces réseau}
 
\vspace{10mm}
 
\hspace{1mm}  Les lignes commençant par "\textbf{\#}" sont ignorées. Une ligne peut être étendue sur plusieurs en utilisant un "\textbf{\textbackslash{}}" à la fin de la ligne. Ce fichier consiste d'une ou plusieurs "\textbf{iface}", "\textbf{mapping}", "\textbf{auto}" et "\textbf{allow-}".
\vspace{5mm} \\
 
 
\hspace{1mm}  Les lignes commençant par le mot "\textbf{auto}" sont utilisées pour identifier les interfaces physiques à configurer quand ifup est lancé avec l'option -a (cette options est utilisée par le système au démarrage). Le nom de l'interface physique doit suivre le mot "\textbf{auto}" sur la même ligne.
\vspace{5mm} \\
 
 
\hspace{1mm}  Les lignes commençant avec "\textbf{allow-}" sont utilisées pour identifier les interfaces qui devraient être activées automatiquement par divers sous-systèmes. Cela peut-être fait avec une commande du type "\textbf{ifup --allow=hotplug eth0 eth1}", qui va activer uniquement eth0 et eth1 s'ils sont listés dans une ligne "\textbf{allow-hotplug}". Noter que "\textbf{allow-auto}" est synonyme de "\textbf{auto}".
\vspace{5mm} \\
 
 
\hspace{1mm}  Les lignes commençant pas "\textbf{mapping}" sont utilisés pour déterminer comment le nom d'interface logique est choisis pour une interface physique. chaque mapping doit contenir une définition script.
\vspace{5mm} \\
 
 
\hspace{1mm}  \textbf{ifup} utilise le nom de l'interface physique comme nom logique, à moins qu'un suffix du type \textbf{=LOGICAL} soit spécifié.
\vspace{5mm} \\
 
 
\hspace{1mm}  La définition des interfaces logique commence avec une ligne consistant du mot "\textbf{iface}", suivi du nom de l'interface logique. Le nom de l'interface est suivi du nom de famille d'adresse que l'interface utilise. cela sera "\textbf{inet}" pour TCP/IP, \textbf{ipx} pour les réseau ipx et \textbf{inet6} pour les réseaux ipv6. La suite est le nom de la méthode pour configurer l'interface.
\vspace{5mm} \\
 
 
\hspace{1mm}  Des options additionnelles peuvent être utilisées sur les lignes suivante. ces options dépendent de la méthode et de la famille. Par exemple, le paquet \textbf{wireless-tools} ajoute des options préfixés avec "\textbf{wireless}" qui peuvent-être utilisées pour configurer l'interface en utilisant \textbf{iwconfig}.
\vspace{5mm} \\
 
 
\vspace{1cm}{\huge IFACE options }
 
\
 
\hspace{1mm}  Ces options sont disponible pour toutes les familles et méthodes. Chacune peuvent être indiqué plusieurs fois et sont exécutés dans l'ordre qu'elle apparaissent. (pour s'assurer qu'une commande ne plante jamais, suffixer par "\textbf{|| true}"
\vspace{5mm} \\
 
 
\begin{description} \normalsize
\item[\hspace{1mm} pre-up command]{Lance la commande avant de configurer l'interface.}
\item[\hspace{1mm} up comand]{}
\item[\hspace{1mm} post-up command]{Lance la commande après avoir configuré l'interface}
\item[\hspace{1mm} down command]{}
\item[\hspace{1mm} pre-down command]{Lance la commande avant de dé-configurer l'interface.}
\item[\hspace{1mm} post-down]{Lance la commande après avoir dé-configuré l'interface.}
\end{description}
 
\hspace{1mm}  Il existe pour chacune des options mentionnées, un dossier \textbf{/etc/network/if-<option>.d/}. Les scripts qui s'y trouvent sont lancés en utilisant \textbf{run-parts} après que l'option ait été traitée.
\vspace{5mm} \\
\hspace{1mm}  Toutes ces commandes ont accès aux variables d'environnement suivante:
\vspace{5mm} \\
 
 
\begin{description} \normalsize
\item[\hspace{1mm} IFACE]{Nom phyique de l'interface}
\item[\hspace{1mm} LOGICAL]{Nom logique de l'interface}
\item[\hspace{1mm} ADDRFAM]{famille de l'interface}
\item[\hspace{1mm} METHOD]{Méthode de l'interface}
\item[\hspace{1mm} MODE]{Démarre si lancé depuis ifup, arrête si lancé depuis ifdown}
\item[\hspace{1mm} PHASE]{Comme pour MODE, mais plus précis, distingue pre-up, post-up, pre-down et post-down.}
\item[\hspace{1mm} VERBOSITY]{indique si --verbose est utilisé.}
\item[\hspace{1mm} PATH]{le path de recherche de commande: /usr/local/sbin :/usr/local/bin :/usr/sbin :/usr/bin :/sbin :/bin}
\end{description}
 
\vspace{1cm}{\huge Famille d'adresse inet }
 
\
 
\begin{description} \normalsize
\item[\hspace{1mm} la méthode loopback]{Cette méthode est utilisé pour définir une interface de bouclage ipv4. N'a pas d'options}
\item[\hspace{1mm} Methode static]{Cette méthode est utilisée pour définir les interfaces ethernet avec des adresses ipv4 définie statiquement dans /etc/network/interfaces}
\end{description}
 
\vspace{1cm}{\huge Options }
 
\
 
\begin{description} \normalsize
\item[\hspace{1mm} address]{adresse IP}
\item[\hspace{1mm} netmask]{masque de sous-réseau}
\item[\hspace{1mm} broadcast]{adresse de broadcast}
\item[\hspace{1mm} network]{adresse du réseau}
\item[\hspace{1mm} metric]{métrique pour la route par défaut}
\item[\hspace{1mm} gateway]{passerelle par défaut}
\item[\hspace{1mm} pointopoint]{adresse de "l'autre bout"}
\item[\hspace{1mm} media]{dépendant du pilote.}
\item[\hspace{1mm} hwaddress]{classe et adresse physique. classe peut être ether, ax25, ARCnet ou netrom.}
\item[\hspace{1mm} mtu]{taille MTU}
\end{description}
 
\begin{description} \normalsize
\item[\hspace{1mm} La méthode manual]{Cette méthode peut être utilisé pour définir des interfaces sans configuration par défaut. N'a pas d'options}
\item[\hspace{1mm} La méthode dhcp]{Cette méthode peut être utilisée pour obtenir une adresse et une configuration via DHCP.}
\end{description}
 
\vspace{1cm}{\huge Options }
 
\
 
\begin{description} \normalsize
\item[\hspace{1mm} hostname]{nom d'hôte}
\item[\hspace{1mm} leasetime]{lease time en seconde}
\item[\hspace{1mm} vendor]{Vendor Class Identifier}
\item[\hspace{1mm} Client]{identifiant client}
\item[\hspace{1mm} hwaddress]{classe et adresse physique.}
\end{description}
 
\begin{description} \normalsize
\item[\hspace{1mm} La méthode bootp]{Cette méthode peut être utilisée pour obtenir une ip via bootp}
\end{description}
 
\vspace{1cm}{\huge Options }
 
\
 
\begin{description} \normalsize
\item[\hspace{1mm} bootfile]{fichier à utiliser}
\item[\hspace{1mm} server]{adresse du serveur}
\item[\hspace{1mm} hwaddr]{utilise l'adresse comme adresse physique}
\end{description}
 
\begin{description} \normalsize
\item[\hspace{1mm} la méthode ppp]{Cette méthode est utilisé pour configurer des interfaces ppp (utilise pon/poff)}
\end{description}
 
\vspace{1cm}{\huge Options }
 
\
 
\begin{description} \normalsize
\item[\hspace{1mm} provider]{utilise ce nom comme provider}
\end{description}
 
\begin{description} \normalsize
\item[\hspace{1mm} la méthode wvdial]{méthode utilise wvdial pour configurer une interface ppp.}
\item[\hspace{1mm} La méthode ipv4all]{cette méthode utilise avahi-autoipd pour configurer une interface avec une adresse ipv4 APIPA (famille 169.254.0.0/16). N'a pas d'options}
\end{description}
 
\vspace{1cm}{\huge Famille d'adresse inet6 }
 
\
 
\begin{description} \normalsize
\item[\hspace{1mm} La méthode loopback]{Cette méthode peut être utilisée pour définir l'interface de bouclage ipv6. N'a pas d'options}
\item[\hspace{1mm} La méthode static]{Utilisé pour définir statiquement l'interface.}
\end{description}
 
\vspace{1cm}{\huge Options }
 
\
 
\begin{description} \normalsize
\item[\hspace{1mm} address]{adresse de l'interface}
\item[\hspace{1mm} netmask]{masque de sous-réseaux}
\item[\hspace{1mm} gateway]{passerelle par défaut}
\item[\hspace{1mm} media]{dépendant du pilote}
\item[\hspace{1mm} hwaddress]{classe et adresse physique. Classe peut être ether, ARCnet ou netrom}
\item[\hspace{1mm} mtu]{taille MTU}
\end{description}
 
\begin{description} \normalsize
\item[\hspace{1mm} La méthode manual]{Cette méthode est utilisé pour définir des interfaces pour lesquelles aucune configuration n'est faite. N'a pas d'options}
\item[\hspace{1mm} La méthode v4tunnel]{Cette méthode peut être utilisée pour créer un tunnel IPv6-over-IPv4. Il requière la commande ip du paquet iproute.}
\end{description}
 
\vspace{1cm}{\huge Options }
 
\
 
\begin{description} \normalsize
\item[\hspace{1mm} address]{adresse de l'interface}
\item[\hspace{1mm} netmask]{masque de sous-réseaux}
\item[\hspace{1mm} endpoint]{adresse du bout du tunnel (ipv4)}
\item[\hspace{1mm} local]{adresse local du tunnel (ipv4)}
\item[\hspace{1mm} gateway]{passerelle par défaut}
\item[\hspace{1mm} ttl]{réglage ttl}
\end{description}
 
\vspace{1cm}{\huge Exemples }
 
\
 
\hspace{1mm} interface loopback: \\
\hspace{1mm} \textbf{auto lo} \\
\hspace{1mm} \textbf{iface lo inet loopback} \\
\hspace{1mm} configuration basique d'une carte ethernet: \\
\hspace{1mm} \textbf{auto eth0} \\
\hspace{1mm} \textbf{iface eth0 inet static} \\
\hspace{1mm} \textbf{address 192.168.0.42} \\
\hspace{1mm} \textbf{network 192.168.0.0} \\
\hspace{1mm} \textbf{netmask 255.255.255.0} \\
\hspace{1mm} \textbf{gateway 192.168.0.1} \\
\hspace{1mm} configuration plus complexe, avec mise a jour de la table de routage: \\
\hspace{1mm} \textbf{auto eth0} \\
\hspace{1mm} \textbf{iface eth0 inet static} \\
\hspace{1mm} \textbf{address 192.168.1.42} \\
\hspace{1mm} \textbf{network 192.168.1.0} \\
\hspace{1mm} \textbf{netmask 255.255.255.128} \\
\hspace{1mm} \textbf{broadcast 192.168.1.0} \\
\hspace{1mm} \textbf{up route add -net 192.168.1.128 netmask 255.255.255.128 gw 192.168.1.2} \\
\hspace{1mm} \textbf{up route add default gw 192.168.1.200} \\
\hspace{1mm} \textbf{down route del default gw 192.168.1.200} \\
\hspace{1mm} \textbf{down route del -net 192.168.1.128 netmask 255.255.255.128 gw 192.168.1.2} \\
\hspace{1mm} configuration une carte ethernet avec 2 interfaces: \\
\hspace{1mm} \textbf{auto eth0 eth0:1} \\
\hspace{1mm} \textbf{iface eth0 inet static} \\
\hspace{1mm} \textbf{address 192.168.0.100} \\
\hspace{1mm} \textbf{network 192.168.0.0} \\
\hspace{1mm} \textbf{netmask 255.255.255.0} \\
\hspace{1mm} \textbf{broadcast 192.168.0.255} \\
\hspace{1mm} \textbf{gateway 192.168.0.1} \\
\hspace{1mm} \textbf{iface eth0:1 inet static} \\
\hspace{1mm} \textbf{address 192.168.0.200} \\
\hspace{1mm} \textbf{network 192.168.0.0} \\
\hspace{1mm} \textbf{netmask 255.255.255.0} \\
\end{flushleft}
\end{document}
