TP interconnexion réseaux lan & wan
TP interconnexion réseaux lan & wan en pdf
...
Chapitre 2. Système d'interconnexion
Avant de lancer la transmission des informations d'un réseau sur l'autre, il faut maîtriser les fonctions et les services actifs sur le routeur. On commence par la configuration de la connexion au réseau local pour des raisons pratiques d'accès à la documentation et aux sources du noyau.
On construit ensuite un noyau Linux adapté aux besoins du routeur en étudiant les rubriques :
- Networking options
- Network device support
- ISDN subsystem
Enfin, on vérifie le chargement des modules pilotes des interfaces réseau et on sélectionne les services qui seront disponibles à partir du réseau.
Système d'interconnexion
2.1. Configuration de la connexion au réseau local Ethernet
L'adresse réseau est 172.16.96.0/20 et la passerelle par défaut utilise l'adresse 172.16.96.1.
Les questions ci-dessous reprennent les éléments de configuration abordés dans le support Configuration d'une interface réseau. Il s'agit de valider le fonctionnement de l'interface connectée au réseau local Ethernet avant d'aborder la configuration du noyau.
Voici une liste réduites des commandes qui permettent de traiter les questions suivantes. Les pages de manuel correspondant à chacune des commandes contiennent toutes les informations utiles au paramétrage des intrefaces. Pour obtenir davantage d'informations, voir le Chapitre 6, Ressources documentaires.
- dmesg : messages du système au démarrage de la machine,
- lspci : liste des périphériques connectés sur le bus PCI,
- lsmod : liste des modules de pilotage de périphériques chargés,
- ifconfig : commande de visualisation et de configuration des paramètres réseau d'une interface,
- route : commande de visualisation et de configuration de la table de routage.
- Comment identifier les éléments matériels du poste de travaux pratiques ?
Utiliser la commande dmesg pour obtenir la liste du matériel reconnu au chargement du noyau Linux. Repérer les caractéristiques suivantes : microprocesseur, jeu de composants de la carte mère, mémoire, type de disque dur et interface(s) réseau.
Utiliser la commande lspci -v du paquet pciutils1 pour obtenir la liste des périphériques raccordés au bus PCI ainsi que les ressources qu'ils occupent.
Quelle est la particularité de la carte réseau utilisée ?
Type de média, débit et bus de connexion sur la carte mère. Retrouver dans les journaux systèmes (logs) les informations de sélection du média réseau et de négotiation de bande passante. Ces informations varient beaucoup d'un modèle d'interface à l'autre.
Peut-on configurer la connexion réseau en l'état ?
La réponse dépend de la présence du module de pilotage de l'interface réseau en mémoire. Si aucun module d'interface réseau n'apparaît dans la liste des modules chargés (commande lsmod) la commande dmesg doit permettre de déterminer si le logiciel de l'interface réseau a été chargé dans la partie monolithique du noyau.
Quelle est la syntaxe de la commande de configuration ifconfig ?
A partir des options listées dans les pages de manuel, choisir les paramètres nécessaires à l'établissement de la connexion. Revoir le support Configuration d'une interface réseau2.
Quelle est la suite de scripts d'initialisation des interfaces réseau utilisée au démarrage de la machine ?
Consulter la page de manuel sur les interfaces man interfaces. Reprendre la séance 6 du support Exploration GNU/Linux pour identifier les niveaux de démarrage (runlevels) utilisés par les fonctions réseau.
Quelle est la syntaxe d'affectation de la passerelle par défaut avec la commande route ?
Voir le support Configuration d'une interface 3 réseau
Système d'interconnexion
- Comment valide-t-on le fonctionnement du protocole IP de la couche réseau ?
Voir le support Configuration d'une interface réseau4. Attention au piège du débutant ; cette validation doit impérativement se faire au niveau réseau sans utiliser de services des couches supérieures.
Quels sont les fichiers de configuration utilisés dans la correspondance adresses IP - noms de domaines ? Voir le support Configuration d'une interface réseau5.
Note
2.2. Configuration matérielle du routeur
L'essentiel du travail de configuration du matériel du routeur (poste de travaux pratique) consiste à construire un noyau adapté aux interfaces à mettre en oeuvre. On se propose donc de construire un noyau comprenant les éléments suivants :
- Un coeur système monolithique: microprocesseur, périphériques non réseau et système de fichiers,
- Une interface réseau Ethernet modulaire,
- Le sous-système RNIS sous forme modulaire,
- Le support du filtrage netfilter sous forme modulaire.
Pour la mise au point d'un système d'interconnexion, l'utilisation des modules est très avantageuse. On peut ainsi charger/décharger les modules de pilotage des interfaces réseau et les modules de contrôle d'accès autant de fois que nécessaire sans avoir à réinitialiser le routeur.
Cette partie se traite à l'aide du document The Linux Kernel HOWTO6.
- Comment obtenir les sources des noyaux Linux ?
Quel est le principal site de téléchargement et quels sont les protocoles utilisables. Dans la cas du présent support, on utilise wget pour télécharger les sources du noyau sur le serveur de la salle de Travaux Pratiques.
- Quelle est l'arborescence usuelle de compilation des noyaux Linux ?
Donner le nom du répertoire racine et la technique permettant d'utiliser plusieurs versions de noyaux
Système d'interconnexion simultanément.
Quelles sont les commandes de configuration du noyau ?
Comment choisir entre make config, make menuconfig et make xconfig.
Quel est le fichier qui contient l'ensemble des options retenues lors de la configuration du noyau ?
Voir le document The Linux Kernel HOWTO7.
Quelles sont les options indispensables et facultatives de la rubrique Networking options ?
Voir Les options réseaux8.
Quelles sont les options indispensables et facultatives de la rubrique Network device support ?
Voir Fonctions réseau du noyau Linux9.
Quelles sont les options indispensables et facultatives de la rubrique ISDN subsystem ?
Voir Le sous-système RNIS10.
Quelles sont les commandes de compilation du noyau ?
Donner la signification des différentes actions de la séquence ci-dessous :
:/usr/src/linux# make dep clean bzImage modules modules_install
Comment installe-t-on le noyau compilé ?
Donner la signification des différentes actions de la séquence ci-dessous :
:/usr/src/linux# cp arch/i386/boot/bzImage /boot/vmlinuz-2.4.xx :/usr/src/linux# cp System.map /boot/System.map-2.4.xx :/usr/src/linux# cd /
:/usr/src/linux# mv vmlinuz vmlinuz.old
:/usr/src/linux# ln -s /boot/vmlinuz-2.4.xx vmlinuz
Comment utiliser un nouveau noyau au démarrage de la machine ?
Les 2 principaux programmes de gestion du démarrage système (Boot Loader) sont lilo et grub. Ces programmes utilisent tous les 2 le Master Boot Record (MBR) du disque choisi pour le démarrage en y plaçant quelques instructions de configuration. C'est dans la gestion de la configuration que les 2 programmes diffèrent :
…
Système d'interconnexion effectivement utilisées.
Vérifier que le fichier /etc/lilo.conf prend en compte le nouveau noyau et exécuter la commande permettant de l'utiliser au prochain démarrage de la machine.
grub
Le gestionnaire grub effectue une écriture unique dans le Master Boot Record. Le même code consulte la configuration à chaque démarrage de la machine. A partir de la liste des fichiers contenus dans le paquet Debian grub, retrouver la commande qui permet de mettre à jour la configuration pour que le nouveau noyau soit utilisable au prochain démarrage de la machine.
2.3. Sélection des services actifs
Dans le cadre de l'interconnexion réseau, cette partie revient à choisir les outils d'administration à distance du routeur. Tous les services inutiles doivent évidemment être arrêtés. Le document Linux Network Administrators Guide12 sert de référence pour ce travail.
- Identification des services
- Quel est le fichier qui recence tous les services TCP/UDP disponibles ?
Retrouver à partir du document Filesystem Hierarchy Standard13 le répertoire dédié aux fichiers de configuration. Isoler ensuite les informations relatives aux services et protocoles réseau.
Quel est l'outil de sélection des services actifs ?
Retrouver la rubrique correspondante du document Linux Network Administrators Guide14. Quelle sont les commandes qui donnent la liste des services/ports ouverts sur une machine ?
Rechercher dans les pages de manuel avec apropos et quelques mots clés : network, internet ou connect.
- Sélection des services
- Comment modifier les fichiers de configuration pour n'avoir plus que le seul service TFTP actif ?
Retrouver la rubrique correspondante du document Linux Network Administrators Guide15.
- Comment mettre à jour la configuration des services sans redémarrer la machine ? Donner la syntaxe de redémarrage d'un service système.
- Contrôle d'accès
- Comment appelle-t-on l'outil de contrôle d'accès aux services ouverts ?
Retrouver la rubrique correspondante dans le support interconnexion de périmètres réseaux16.
Système d'interconnexion
Quels sont les fichiers de configuration du contrôle d'accès ? Consulter la documentation du paquet tcpd17.
- Donner l'exemple d'un accès limité à une adresse IP unique ?
Retrouver la rubrique correspondante dans le document Linux Network Administrators Guide18.
- Donner l'exemple d'un accès limité au réseau 172.16.96.0/20 ?
Reprendre les exemples du document Linux 2.4 Packet Filtering HOWTO19.
2.4. Introduction au filtrage de paquets
Pour le contrôle des accès aux services qui ne sont pas gérés par le super-démon inetd, on utilise le filtrage de paquets IP. Toujours pour illustrer un exemple de d'exploitation réaliste, on se prospse configurer le filtrage de paquet pour n'accepter que les connexions SSH entrantes sur l'interface de connexion au réseau local.
Ce problème se traite à l'aide de les pages de manuel iptables et du document Linux 2.4 Packet Filtering HOWTO20.
- Activation du filtrage de paquets
- Quel module gère le filtrage de paquet ?
Rechercher dans l'arborescence des modules du noyau utilisé.
- Comment rendre le chargement de ce module actif à chaque redémarrage du système ? Utiliser le support Exploration GNU/Linux21.
- Utilisation du filtrage de paquets
- Quelle est l'option de la commande iptables qui donne la liste des règles actives ?
Rechercher cette option dans les pages de manuel iptables.
- Quelle est la syntaxe qui permet d'interdire toutes les connexions autres que SSH ? Donner la solution dans le cas où tout ce qui n'est pas autorisé est interdit.
Chapitre 3. Sous-système RNIS/ISDN
Il s'agit ici de configurer correctement une connexion RNIS. Il faut donc choisir les protocoles et leurs encapsulations pour se connecter en accès direct (rawip) puis en utilisant le protocole PPP. La mise au point se fait en analysant les différentes sources de messages : noyau, sous-système RNIS, pilote matériel HiSax.
3.1. Sous-système RNIS
Dans cette première partie, il faut déterminer quels sont les modules du sous-système RNIS/ISDN à charger ainsi que leurs options. Comme on travaille sur un périphérique matériel du système, la documentation se trouve dans l'arborescence des sources du noyau :
- Il faut utiliser le répertoire /usr/src/linux/Documentation/isdn lorsque l'on a directement téléchargé les sources du noyau.
- Il faut utiliser le répertoire /usr/share/doc/kernel-doc-2.4.<xx>/Documentation/isdn lorsque l'on utilise un paquet de documentation du type kernel-doc-2.4.<xx> (<xx> correspond à la version du noyau de la série 2.4).
- Modules du sous-système RNIS/ISDN
- Quel est le module de pilotage de la carte RNIS à charger ?
Dans Section 2.2, « Configuration matérielle du routeur », on a retenu un ensemble d'options pour le sous-système RNIS/ISDN avant de compiler le noyau. Comme indiqué dans le The Linux Kernel HOWTO1 l'arborescence de rangement des modules est placée sous le répertoire /lib/modules/2.4.<xx> à la suite de la compilation du noyau. C'est l'objet de la commande make modules_install. Il s'agit donc de retrouver le module correspondant au pilote d'interface RNIS dans cette arborescence.
- Quelle est la commande à utiliser pour charger un module ?
Sous-système RNIS/ISDN
Voir la page Utilisation des modules2.
- Quelles sont les options à donner lors du chargement du module de pilotage de l'interface RNIS ?
Lire la documentation README.HiSax et rechercher la référence Gazel correspondant au modèle de carte installé dans le poste de TP.
- Messages système
- Quel est le démon responsable de la gestion des messages systèmes ?
Voir le support Exploration GNU/Linux3 Séance 5.
- Quel est le fichier de configuration de ce démon ?
Utiliser les pages de manuel du démon et du fichier de configuration.
- Quels sont les fichiers contenant les messages sur le noyau et les périphériques ?
Utiliser les pages de manuel du fichier de configuration du démon.
3.2. Messages du sous-système RNIS/ISDN
Dans cette deuxième partie, on règle le niveau des messages renvoyés par les modules du sous-système RNIS/ISDN et on les redirige vers une console. Le but est de faciliter la mise au point de la liaison en identifiant les étapes d'établissement, de maintien et de la libération de connexion.
- Quel est l'utilitaire de paramétrage des messages du sous-système RNIS/ISDN ?
Utiliser la documentation README.HiSax.
Quelles sont les interfaces du sous-système qui transmettent les messages ?
Utiliser la documentation README.HiSax et le support sur L'architecture du sous-système RNIS Linux4.
Quelle commande utiliser pour envoyer les messages sur la console numéro 10 ?
Utiliser la documentation README.HiSax.
…
Sous-système RNIS/ISDN
3.3. Connexion directe rawip
Dans cette troisième partie, on commence par tester la communication de bout en bout avec l'encapsulation rawip. Cette encapsulation utilise uniquement les numéros de téléphone pour établir la connexion. La configuration réseau des interfaces doit être établie avant la connexion téléphonique.
...
Comme il existe une grande variété de paramètres pour les connexions RNIS, il existe un outil de configuration dédié : isdnctrl. Il faut l'utiliser pour :
- créer une nouvelle interface RNIS nommée isdn0,
- attribuer le muméro de téléphone de cette interface,
- fixer le numéro de téléphone du correspondant,
- choisir le protocole HDLC pour la couche 2,
- choisir l'encapsulation rawip,
- fixer à 60 secondes le temps d'inactivité à l'issue duquel la connexion doit être libérée.
- fixer le mode de connexion automatique
Au niveau réseau, on utilise ifconfig pour configurer les adresses IP de l'interface isdn0 et du correspondant. C'est une configuration en mode point-à-point.
La mise au point de la connexion se fait à l'aide des messages émis par le sous-système RNIS. Voir Section 3.2, «Messages du sous-système RNIS/ISDN ».
- Pour configurer l'interface RNIS, quelle est la liste des commandes isdnctrl avec leurs paramètres ?
Utiliser les pages de manuel de la commande isdnctrl.
Quelle est la syntaxe de configuration IP de l'interface isdn0 ?
Utiliser les pages de manuel de la commande ifconfig. Les adresses IP sont fournies en annexe. . Quelle est la signification de l'option suivante: isdnctrl secure on ?
Sous-système RNIS/ISDN
Utiliser les pages de manuel de la commande isdnctrl.
3.4. Connexion avec le protocole PPP
La connexion directe présente l'avantage de la simplicité : authentification par les numéros de téléphone et pas d'échange d'adresses IP. Ce mode de connexion présente cependant 2 limitations importantes :
- La configuration des adresses IP doit être effectuée avant l'établissement de la connexion téléphonique. Il est donc impératif que les postes soient en état de marche au moment de la connexion.
- La sécurité de connexion étant basée sur les numéros de téléphone, il est impossible de se connecter depuis une autre installation.
Ces arguments conduisent donc à l'utilisation du protocole PPP. C'est la quatrième partie de la mise au point de la connexion RNIS.
...
Le protocole PPP [ RFC 16615] remplit 3 fonctions dans notre application:
- La possibilité de se connecter au serveur d'appel depuis n'importe quel poste (ou numéro de téléphone).
- L'authentification de l'utilisateur appelant.
- L'attribution de l'adresse IP du poste appelant.
Saisie des options PPP
Les options du gestionnaire de connexion PPP seront saisies directement sur la ligne de commande. Il faut s'assurer que les fichiers /etc/ppp/ioptions* sont vides. Dans le cas contraire, les paramètres contenus dans ces fichiers peuvent être utilisés par défaut sans tenir compte de ceux saisis sur la ligne de commande.
Quelle est l'encapsulation à configurer sur l'interface RNIS pour utiliser le protocole PPP ?
Consulter les pages de manuel de la commande isdnctrl en effectuant une recherche avec la clé : ppp.
Quel est le démon de gestion de connexion qui utilise le mode de transmission synchrone des interfaces RNIS avec le protocole PPP ?
Lister les paquets liés au sous-système RNIS/ISDN et retrouver le gestionnaire de connexion associé.
Sous-système RNIS/ISDN
- Quelles sont les interfaces à utiliser avec ce démon de gestion de connexion ?
Voir le support L'architecture du sous-système RNIS Linux6 et les pages de manuel de l'outil de configuration d'interface isdnctrl.
- Sachant que l'on veut réaliser un premier test sans authentification, quelles sont les options de configuration du gestionnaire de connexion ?
Utiliser les pages de manuel du démon ipppd. Ne pas oublier d'activer les messages (options debug et réglage des niveaux) pour la mise au point de la connexion. A la différence des messages liés aux communications sur les canaux B et D, les informations sur les couches du protocole PPP apparaîssent dans les journaux systèmes: tail -50 /var/log/syslog.
3.5. Aide à la mise au point
Afin de résoudre les éventuels problèmes de connexion et de configuration, il existe différents niveaux d'informations systèmes. Voici la liste des trois niveaux principaux d'émission de messages :
Messages système émis par le noyau Linux
L'affichage des messages système est géré par le démon syslog. Pour consulter ces messages, il faut ouvrir un des fichiers du répertoire /var/log/. Dans le cas des travaux pratiques, l'ensemble des informations nécessaires à la mise au point des connexions réseau se trouve dans le fichier /var/log/syslog. Pour visualiser les dernières lignes du fichier à la console on utilise la commande tail : tail -50 /var/log/syslog.
Messages système émis par le sous-système RNIS
Les messages du sous-système RNIS sont transmis vers les interfaces /dev/isdnctrl*. On peut les consulter à l'aide de la commande : cat /dev/isdnctrl ou les renvoyer automatiquement sur une console : cat /dev/isdnctrl0 >/dev/tty10 &. Les différents niveaux d'informations produits sont paramétrés à l'aide de l'utilitaire de contrôle du pilote d'interface RNIS : hisaxctrl. Ces niveaux sont détaillés dans la page de manuel : man hisaxctrl. En ce qui concerne l'établissement des connexions téléphoniques, des codes sont renvoyés directement à la console en cas d'échec. Leur signification est fournie par la page de manuel isdn_cause : man isdn_cause.
Messages émis par le gestionnaire de connexion ipppd
Ces messages sont obtenus en configurant le démon système syslogd. Les détails sur la configuration de ce démon sont obtenus à l'aide des pages de manuel : man syslog.conf. Vérifier que la ligne suivante est bien présente dans le fichier /etc/syslog.conf :
…
Chapitre 4. Système Serveur d'accès (NAS)
Dans ce scénario, le routeur dispose d'un accès haut débit avec son interface Ethernet et doit fournir un accès à Internet par son interface RNIS. On modélise ainsi le fonctionnement des équipements utilisés par les fournisseurs d'accès Internet (FAI/ISP). En plus de la dénomination Network Access Sever, on utilise aussi l'appelation «serveur d'appels» (Dialin Server).
...
Reprendre les questions de Section 2.1, « Configuration de la connexion au réseau local Ethernet ».
- Quels sont les tests à réaliser pour s'assurer du fonctionnement de l'accès Internet ?
Reprendre la séquence «rituelle» des tests ICMP avec la commande ping et les adresses : loopback, interface locale, passerelle par défaut et une adresse réseau située sur un autre réseau. Ce n'est qu'en dernier lieu que l'on doit effectuer un test avec le service de noms de domaines à l'aide des commandes host ou dig. Enfin, si le protocole ICMP n'est pas disponible au delà du réseau local, il faut utiliser la commande tcptraceroute pour tester la connectivité inter-réseau.
- Interface RNIS
- Quelles sont les opérations nécessaires à la configuration de l'interface RNIS en serveur d'appels ?
Reprendre les questions de Section 3.4, « Connexion avec le protocole PPP ».
Donner la liste des options de la commande isdnctrl pour la configuration serveur d'appels ? Rechercher dans les documents les options dialin.
Quels sont les fichiers nécessaires à l'utilisation du démon ipppd en serveur d'appels ? Utiliser les pages de manuel du démon ipppd.
Quelle est l'option de la commande isdnctrl qui permet de sauvegarder/restituer la configuration de l'interface RNIS/ISDN ?
Utiliser les pages de manuel de l'outil isdnctrl. sauvegarder le fichier de configuration de l'interface pour les utilisations ultérieures.
- Serveur d'accès
- Quelle est la fonction réseau qui permet de fournir la connectivité réseau au poste client ?
Reprendre le support La traduction d'adresse (NAT)1 et le guide Linux 2.4 NAT HOWTO2. Donner la liste des options de la commande iptables pour configurer la traduction d'adresses ?
A partir du guide Linux 2.4 NAT HOWTO3, reprendre l'exemple proposé avec les interfaces utilisées dans le scénario du TP. Attention à adopter une syntaxe indépendante de l'adressage IP pour pouvoir changer de numérotation réseau à volonté.
Quels sont les tests à réaliser pour s'assurer du fonctionnement du serveur d'accès Internet ?
Reprendre la séquence «rituelle» des tests ICMP en direction du poste client. Visualiser aussi l'utilisation des règles de filtrage avec l'outil iptables.
…
Système Serveur d'accès (NAS)
Saisie des options PPP
Les options du gestionnaire de connexion PPP seront saisies dans le fichier /etc/ppp/ioptions.ippp0. Il faut s'assurer que les autres fichiers /etc/ppp/ioptions* sont vides. Dans le cas contraire, les paramètres contenus dans ces fichiers peuvent être utilisés par défaut sans tenir compte de ceux saisis dans le fichier indiqué ci-dessus.
Quelles sont les options de configuration du démon ipppd qui permettent d'activer l'authentification du poste client ?
Reprendre les pages de manuel du démon ipppd ainsi que le guide Linux PPP HOWTO4
Quelles sont les informations contenues dans les messages système qui permettent de valider la connexion téléphonique ?
A partir du fichier /var/log/syslog, relever les informations relatives à la couche liaison du protocole PPP : LCP.
Quelles sont les informations contenues dans les messages système qui permettent de valider l'échange des adresses IP entre le serveur et le client ?
Toujours à partir du fichier /var/log/syslog, relever les informations relatives à la couche réseau du protocole PPP : IPCP.