Outils personnels
Vous êtes ici : Accueil Blog Travaux pratiques: mise en place d'un réseau 802.11
Navigation
 
Actions sur le document

Travaux pratiques: mise en place d'un réseau 802.11

Filed Under:

Travaux pratiques: mise en place d'un réseau 802.11

Travaux pratiques: mise en place d'un réseau 802.11

Author: Emmanuel Viennet
Contact: viennet@lipn.univ-paris13.fr
Date: 24 février 2003, rev mars 2006

Objectifs

Base

  • Se familiariser avec la mise en place d'un réseau local sans fil;
  • Revoir les bases de la configuration d'une réseau IP sur Ethernet: routage, translation d'adresses (NAT), DHCP (client et serveur), analyse de trames.
  • Effectuer une analyse des performances des réseaux 802.11b (portée, débit).

Organisation de la séance

Les étudiants (environ 10) seront divisés en 4 groupes de 2 ou 3 personnes. Chaque groupe travaillera sur une rangée de la salle Q203. Chaque rangée est dotée au minimum du matériel suivant:

  • 4 PC dont un doté de 2 cartes Ethernet;
  • un hub ethernet;
  • accès à un commutateur (switch CISCO 2900);
  • un point d'accès CISCO Aironet 350 (802.11b);
  • un ordinateur portable;
  • une carte ethernet 802.11b PCMCIA pour le portable.

Le TP se déroule sur 8 heures.

Le texte ci-dessous décrit une série de réalisations à effectuer en se répartissant les tâches. Chaque étape devra être validée avec l'enseignant et sera consignée dans un compte rendu, qui décrira précisément les difficultés rencontrées, les solutions apportées et les résultats obtenus.

Compte Rendu

Chaque groupe réalisera un compte rendu qui sera remis à l'enseignant à la fin de la séance. Le compte rendu sera un simple fichier texte. Il comprendra les réponses aux questions de cet énoncé, accompagnées lorsque c'est nécessaire de copies des sorties des commandes unix pertinentes. On pourra aussi joindre d'autres fichiers (extraits de logs, fichiers de configuration) avec les explications nécessaire à leur compréhension.

On prendra soin de décrire toutes les manipulations effectuées, surtout si elles n'étaient pas mentionnées dans l'énoncé.

Ce compte rendu sera noté.

Réalisations

La figure ci-dessous décrit la configuration de base de du réseau à construire sur chaque rangée.

La lettre R désigne dans les adresses IP le numéro de la rangée (de 1 à 4).

ReseauBase.png

Cette configuration comporte 3 PC fixes et un portable:

  • le PC "Routeur" est à l'interface entre le réseau sans fil et le réseau "interne". Il jouera un rôle de pare-feu (firewall) et effectuera de la translation d'adresses. Il sera aussi utilisé pour configurer le point d'accès via HTTP.
  • sur le réseau "interne" (à gauche du routeur), on installera un serveur (services SSH, HTTP), qui ne sera utilisé que pour tester l'accès.
  • le PC "espion", placé sur le réseau public, permettra d'effectuer des analyses de trafic entre le point d'accès sans fil et le routeur.
  • le portable sera si possible configuré en double boot, comme client sans fil sous linux ou Microsoft Windows.

1. Installer linux sur les 4 PC

Si linux est déjà installé, on se contentera de modifier la configuration réseau et de vérifier que les logiciels nécessaires sont installés et fonctionnels.

Points particuliers à vérifier/configurer/tester:

  • chaque PC sera équipé d'un serveur ssh;

  • on installera ethereal et tcpdump sur le PC espion.

  • le PC "serveur" sera utilisé pour la rédaction du compte rendu de TP, à l'aide de l'éditeur de texte (je dis bien texte, fichier texte, pas .doc) de votre choix.

  • le réseau "sans fil" (tout ce qui est à droite du routeur, y compris le PC espion et le point d'accès) sera doté d'un serveur DHCP. Ce serveur DHCP tournera sur le routeur et attribuera une adresse fixe au point d'accès.

  • Le portable se configurera en DHCP (sous linux et sous Windows);

  • Sur le PC routeur, on configurera iptables pour effectuer la translation d'adresses et le filtrage par port selon les règles suivantes:

    • Dans le sens sans-fil -> interne: SSH, HTTP, DHCP (et ICMP);
    • Dans le sens interne -> sans-fil: ouvert;
    • tous les paquets rejetés seront logués dans /var/log/messages.
  • On utilisera le logiciel nmap vérifier la liste des ports ouverts sur le serveur et le routeur, vus depuis l'espion.

Questions

1.1. Quelle version de linux utilisez-vous sur les PC fixes ? Et sur le portable ?

1.2. Le cas échéant, quelle version de Windows il utilisez-vous sur le portable ?

1.3. Sur le routeur Quel est l'interface ethernet (ethX) associée au réseau interne ? Et au réseau sans fil ?

1.3. Quelle est l'adresse MAC de votre point d'accès ?

1.4. Quelle est l'adresse MAC de votre PC espion. Lui attribuez-vous une adresse fixe ou dynamique ?

1.5. Même question pour le PC.

1.6. Quel serveur DHCP utilisez vous (auteur, version) ?

1.7. Dans votre configuration, la station "espion" va-t-elle voir toutes les trames échangées entre l'AP et le routeur ? Expliquez les éventuelles configurations nécessaires pour ce faire.

1.8. Donner la liste des ports ouverts affichée par nmap sur le coté "public" du routeur. Indiquez le service habituellement associé à chaque port, rappelez en quelques mots son utilité. S'il ne vous parait pas utile, filtrez-le, ou désactivez le démon correspondant.

2. Configurer le point d'accès

Le point d'accès 802.11 se comporte comme un pont ethernet.

Il a deux interfaces ethernet, une filaire (100baseTX), l'autre radio.

On peut le configurer via le port série (et un émulateur de terminal) ou via une interface web. Nous utiliserons cette option, plus souple et facile d'abord.

Avant de commencer, réinitialiser le point d'accès pour qu'il retrouve sa configuration par défaut, voir annexe C de ce sujet (ou la doc).

Le point d'accès Aironet possède un serveur web embarqué qui écoute sur le port 80. Pour y accéder, il faut attribuer une adresse IP au point d'accès. Par défaut, le point d'accès effectue sa configuration IP via DHCP. L'adresse MAC du point d'accès est imprimée sur l'étiquette collée au dos. Il vous faudra l'utiliser dans la configuration de votre serveur DHCP.

  • Lorsqu'on branche le point d'accès (AP), il effectue quelques tests (une à 2 minutes) puis lance une requête DHCP. Vérifier dans les logs de votre serveur que c'est bien le cas et que la bonne adresse IP lui a été attribué. Vérifier ensuite que l'AP répond au ping.
  • Depuis le serveur, connectez vous au serveur web de l'AP à l'aide d'un navigateur web. Familiarisez-vous avec l'interface d'administration.

Questions

2.1. Quel est le SSID affecté par défaut ?

2.2. La configuration de base permet-elle à quiconque de se connecter ? Quelles sont les informations nécessaires pour connecter une station sans fil ? Un inconnu de passage peut-il les obtenir facilement ? Est-ce d'après vous légal de le faire ?

2.3. L'AP CISCO propose un mécanisme simple et standard pour notifier l'administrateur réseau des différents événements. Quel est ce mécanisme ?

2.4. Dans l'onglet "Services/Routing", on peut configurer une table de routage statique. A quoi est-elle utilisée ? Les paquets entrants par l'interface radio sont ils affectés par cette table ?

2.5. Quel est le protocole standard utilisé par CISCO pour faire de l'"accounting" ?

Configuration basique

La première configuration est très simple:
  • l'AP est le point d'accès "racine";
  • SSID "GTR-RANGEE R" (où R est votre numéro de rangée);
  • Accès ouvert à tous.

Enregistrer cette configuration.

Configurer le portable en conséquence et tenter de l'associer.

Pour cela, on utilisera les commandes iwconfig et ifconfig (voir les pages de manuel et les indications données dans les logs système lors de l'insertion de la carte PCMCIA).

On pourra aussi utiliser le logiciel "ACU" de CISCO, commande "acu" sous unix, icône de même nom sous Windows).

Questions

2.6. Donner la listes des trames ethernet échangés entre le serveur et le portable lorsqu'on active ce dernier (échanges vus par ethereal préalablement lancé sur l'espion). On listera toutes les trames observées, et on donnera leur signification.

2.7. Comment voit-on que le portable s'est associé au point d'accès ?

2.8. Dans quels logs du PC routeur trouve-t-on trace de cette association ? Comment le portable aurait-il pu éviter de générer ces traces ?

2.9. Le PC portable se connecte-il au serveur web interne ? (sous Windows, sous linux)

2.10. Depuis le serveur interne, peut-on "pinger" le portable ? Rappelez la signification du temps affiché par ping (sous linux), et donner les valeurs observées:

  • entre le serveur et l'espion;
  • entre le serveur et le portable;

2.11. A quel débit nominal se connecte votre portable lorsqu'il est posé à côté de l'AP ? (indiquez comment vous obtenez cette information).

2.12. Promenez vous (avec précaution) dans la salle puis dans le couloir adjacent, et notez l'évolution du débit nominal avec la distance. Le temps affiché par ping est-il affecté ?

3. Configuration de WEP

Changer la configuration WEP du point d'accès: entrez une clé.

Le portable est-il toujours associé ? Le configurer pour utiliser WEP et le ré-associer.

Questions

3.1. Quelles sont les tailles de clé utilisables sur votre matériel ? Qu'avez vous choisi ? Indiquer la clé choisie.

4. Mesures de débit

On utilisera le petit utilitaire ttcp pour mesurer des débits TCP et UDP entre les différentes stations.

Installer si nécessaire ce logiciel et lire sa page de manuel. tous les résultats de mesures de débits seront exprimés en Mbits/s dans le compte rendu.

Questions

4.1. A l'aide de la commande ethtool, donner la vitesse et la configuration (half-duplex ou full-duplex) de chacune de vos interfaces réseau (filaires) (on utilisera la commande ethtool).

4.2. Mesurer les débits TCP et UDP entre le serveur et le routeur, puis entre l'espion et le serveur. Sont-ils significativement différents ? Interpréter.

4.3. Créez un fichier d'une centaine de méga-octets (par exemple avec une commande comme tar cf - /usr/XXX > /tmp/gros). Mesurer le temps de copie de ce fichier entre les machines fixes, en utilisant ssh (time scp ...). En déduire le débit effectif pour ssh, comparer et commenter ces résultats avec ceux obtenus avec ttcp.

4.4. reprendre les même mesures entre le routeur et le PC portable connecté sans fil. Placez vous dans différentes positions, et notez à chaque fois le débit nominal 802.11, et le débit ttcp. Comparer et commenter.

5. Portail captif

Un "portail captif" est un site web vers lequel sont redirigées toutes les connexions HTTP émanant d'une station associée au réseau WiFi. Ce portail offre en général quelques services de bases (plan, informations publicitaires...) et propose une authentification (en générale payante). L'authentification, si elle réussit, permet à la station d'accéder (plus ou moins) librement à l'internet.

Dans cette partie, essayez de réaliser un mini-portail captif:

  • installez Apache sur la machine passerelle;
  • proposez une authentification simple (un seul utilisateur et un mot de passe, via .htaccess);
  • configurez le pare-feu (iptables) afin que TOUTE requete web (http) émanant du réseau sans fil soit redirigée vers votre portail;
  • l'authentification devra permettre (via un script CGI) de modifier les règles iptables pour la station authentifiée (repérée par son adresse IP)~: le trafic HTTP sera alors passé au côté public.

6. Mobilité

Cette partie ne sera traitée en association avec une rangée voisine, uniquement si vous en avez le temps.

  • Relier les réseaux "publiques" filaires de deux rangées, et déconnecter l'un des deux routeurs (éloigner au maximum les deux points d'accès l'un de l'autre);
  • configurer les deux points d'accès pour définir un ESS;
  • Associer un portable au nouveau réseau.
  • Vérifier que le portable s'associe automatiquement à l'autre AP lorqu'on le déplace.

On décrira dans le compte-rendu les différentes étapes suivies pour réaliser ces opérations.

Conclusion

Nous avons dans ce TP abordé les bases du déploiement d'un réseau sans fil. Nous n'avons pas eu le temps d'aborder des points importants, et en particulier:

  • utilisation du protocole d'authentification EAP;
  • mise en place d'un réseau privé virtuel (VPN), en utilisant par exemple IPsec.

Annexe A: Exemple de configuration DHCP

Le serveur DHCP utilise le fichier de configuration

/etc/dhcpd.conf

Le démon est lancé par le script:

/etc/init.d/dhcpd

Sous RedHat (et Mandrake ?), ce script va chercher les arguments à passer au serveur dans le fichier

/etc/sysconfig/dhcpd

C'est ici que l'on peut spécifier l'interface réseau (eth0 ou eth1) sur laquelle écoute le serveur. Voir évidemment man dhcpd).

Le fichier /etc/dhcpd.conf a une syntaxe assez simple, bien décrite dans la page de manuel. Voici un exemple de configuration, à adapter et compléter:

# lease = 5 minutes (tres court, pour les tests seulement !)
# on utilise habituellement qq heures, ou plus.
default-lease-time 300;
max-lease-time 300;

# pas d'interractions avec le DNS
ddns-update-style none;

# infos envoyées à tous les clients
# (on peut cibler certains clients dans des "group")
# ici X.Y.Z.T designe une adr IP (v4) ou un masque
option subnet-mask X.Y.Z.T;
option broadcast-address X.Y.Z.T;
option routers X.Y.Z.T;
option domain-name-servers X.Y.Z.T;
option domain-name "mon.nom.de.domaine";

# specifie les adresses a attribuer
subnet X.Y.Z.T netmask X.Y.Z.T {
range X.Y.Z.T X.Y.Z.T; # 1er et derniere addresse
}

# On peut fixer l'adresse IP d'une machine (MAC)
host joliemachine.mon.nom.de.domaine {
hardware ethernet AA:BB:DD:EE:FF:GG;
fixed-address X.Y.Z.T;
}

# et n'oubliez pas les points virgules !

Annexe B: Exemple de configuration iptables

Attention: cette configuration est extrêmement simple et devrait être complétée avant une utilisation sérieuse !

Le script présenté ci-dessous configure iptables pour: