7. Configuration d'un routeur Spoke

Dans ce scénario, le routeur accède à Internet par son interface WAN et redistribue cet accès sur un réseau local. Ce genre de routeur est appelé «routeur d'agence».

7.1. Connexion au réseau local

Compte tenu de la topologie définie dans la Section 5, « Topologie Hub & Spoke », l'interface LAN du routeur Spoke n'est pas utilisée. Il faut donc désactiver cette interface.

Q25.

Comment supprimer la configuration d'une interface réseau au niveau système ?

Rechercher les outils systèmes proposés dans le Manuel de référence Debian : configuration du réseau.

Le paquet ifupdown propose deux scripts baptisés ifup et ifdown qui assurent un contrôle d'état sur la configuration des interfaces listées dans le fichier de configuration système /etc/network/interfaces.

Dans le cas de l'interface LAN du poste de travaux pratiques, eth0 est configurée via le protocole DHCP. Pour résilier le bail DHCP et désactiver l'interface, on utilise l'instruction suivante.

# ifdown eth0

7.2. Connexion au réseau étendu

Chaque routeur Spoke utilise un canal B d'un bus S0. On doit donc configurer une interface ippp0 pour établir la connexion point à point avec le Hub.

Q26.

Donner la liste des options de la commande isdnctrl pour la configuration de l'interface du Spoke ?

Reprendre les instructions vues dans le support Configuration d'une interface RNIS en mode rawip et la Section 4, « Connexion avec le protocole PPP ».

Comme dans les questions précédentes du même type, on doit effectuer les opérations suivantes pour l'interface /dev/ippp0.

  1. Créer l'interface.

  2. Attribuer le numéro de téléphone entrant.

  3. Attribuer l'identifiant MSN/EAZ (Multiple Subscriber Number) à partir du numéro de téléphone entrant.

  4. Attribuer le numéro de téléphone du correspondant.

  5. Choisir le protocole HDLC pour la couche liaison.

  6. Choisir l'encapsulation syncppp.

  7. Fixer le mode de connexion automatique.

Q27.

Quelle est l'option de la commande isdnctrl qui permet de sauvegarder/restituer la configuration de l'interface RNIS ?

Utiliser les pages de manuel de l'outil isdnctrl. Sauvegarder le fichier de configuration de l'interface pour les utilisations ultérieures.

Ce sont les options readconf et writeconf de la commande isdnctrl quit permettent respectivement de lire et d'écrire dans un fichier de configuration l'ensemble des paramètres d'une ou plusieurs interfaces RNIS.

Q28.

Quelles sont les opérations à effectuer pour mettre en œuvre le protocole PPP avec une authentification CHAP ?

Reprendre les questions de la Section 4, « Connexion avec le protocole PPP ». Les couples d'authentification login/password sont donnés dans le Section 5.2, « Plan d'adressage ».

7.3. Ajout d'un réseau fictif

L'ajout de nouvelles entrées fictives dans les tables de routage est une pratique très répandue. Elle permet de qualifier le bon fonctionnement d'un service ou d'un filtrage sans ajouter de matériel. Dans le cas de ces travaux pratiques, c'est le service Web qui est utilisé pour valider la disponibilité d'un réseau au niveau application.

Q29.

Quelles sont les opérations à effectuer pour pouvoir utiliser des interfaces réseau virtuelles de type boucle locale sur un système GNU/Linux ?

Avec le noyau Linux, il est conseillé d'utiliser des interfaces baptisées dummy pour ce genre d'usage. Rechercher le module correspondant à charger en mémoire.

On charge le module dummy suivi de l'option numdummies pour créer les interfaces. Il suffit ensuite d'appliquer une nouvelle configuration IP pour ajouter un ou plusieurs nouveaux réseaux.

# ip link add dummy0 type dummy

En prenant l'exemple du Spoke bespin, on ajoute le réseau 10.106.0.0/29 en configurant l'interface dummy0.

# ip link set dev dummy0 up
# ip addr add 10.106.0.1/29 brd + dev dummy0
# ip route ls
default via 192.0.2.1 dev eth0 
10.106.0.0/29 dev dummy0  proto kernel  scope link  src 10.106.0.1 
192.0.2.0/26 dev eth0  proto kernel  scope link  src 192.0.2.10

Q30.

Quelles sont les opérations à effectuer pour installer un service Web en écoute exclusivement sur l'adresse IP de l'interface dummy0 ?

Installer le paquet apache2 et modifier sa configuration pour que le service ne soit accessible que sur une adresse IP.

# aptitude install apache2
<snipped/>
Paramétrage de apache2-mpm-worker (2.2.21-2) ...
Starting web server: apache2apache2: Could not reliably determine the server's
fully qualified domain name, using 127.0.1.1 for ServerName
.
Paramétrage de apache2 (2.2.21-2) ...
<snipped/>

On modifie ensuite le fichier de configuration /etc/apache2/ports.conf de façon à limiter l'accès à l'adresse IP voulue.

# cd /etc/apache2/
# diff -uBb ports.conf.orig ports.conf
--- ports.conf.orig     2011-10-31 20:37:09.000000000 +0100
+++ ports.conf  2011-10-31 20:37:39.000000000 +0100
@@ -6,7 +6,7 @@
 # README.Debian.gz

 NameVirtualHost *:80
-Listen 80
+Listen 10.106.0.1:80

 <IfModule mod_ssl.c>
     # If you add NameVirtualHost *:443 here, you will also have to change

On redémarre le service et on affiche le liste des sockets inet ouverts sur le système pour confirmer que l'adresse IP choisie est bien affectée.

# /etc/init.d/apache2 restart
<snipped/>
# lsof -i | grep apache2
apache2  22206        root    3u  IPv4  30721      0t0  TCP 10.106.0.1:www (LISTEN)
apache2  22211    www-data    3u  IPv4  30721      0t0  TCP 10.106.0.1:www (LISTEN)
apache2  22212    www-data    3u  IPv4  30721      0t0  TCP 10.106.0.1:www (LISTEN)

Q31.

Comment valider l'accès à ce service Web depuis les autres routeurs ?

Si la table de routage du routeur Hub est complète, on décrit les couches de la modélisation en partant de la couche réseau vers la couche application. Les tests ICMP valident le niveau réseau. Les tests traceroute valident le fonctionnement des protocoles de la couche transport. Enfin, le navigateur web permet de tester la couche application.

Voici trois exemples de tests.

  • Test ICMP.

    $ ping -c 2 10.106.0.1
    PING 10.106.0.1 (10.106.0.1) 56(84) bytes of data.
    64 bytes from 10.106.0.1: icmp_req=1 ttl=64 time=0.435 ms
    64 bytes from 10.106.0.1: icmp_req=2 ttl=64 time=0.360 ms
    
    --- 10.106.0.1 ping statistics ---
    2 packets transmitted, 2 received, 0% packet loss, time 1000ms
    rtt min/avg/max/mdev = 0.360/0.397/0.435/0.042 ms
  • Test traceroute.

    $ traceroute 10.106.0.1
    traceroute to 10.106.0.1 (10.106.0.1), 30 hops max, 60 byte packets
     1  10.106.0.1 (10.106.0.1)  0.467 ms  0.256 ms  0.262 ms
  • Test HTTP.