20
Canartichaut Accueil Parcours EPITA Divers Créer un réseau Wifi Ad-Hoc Introduction 1. Rapides notions théoriques sur le réseau Topologie (forme) d’un réseau 1. Les réseaux IP 2. Attribuer des adresses IP 3. 2. Création d’un réseau Wifi Ad-Hoc basique Le Wifi en bref 1. Création du réseau Ad-Hoc avec Network-manager sous Debian 2. 3. Mise en place d’un serveur DHCP Survol du DHCP 1. Installation d’un serveur DHCP sous Debian 2. Configuration des clients DHCP avec Network Manager 3. 4. Relier des réseaux entre eux Réseaux indépendants ? 1. Introduction au routage 2. Configuration d’un routeur 3. Configuration des autres postes 4. 5. Pistes pour perfectionner Partager une connexion Internet 1. Augmenter la portée d’un réseau Wifi Ad-Hoc 2. Annoncer les services réseau avec ZeroConf 3. 6. Ressources externes Documentation sur le réseau 1. Documentation sur le Wifi 2. Documentation sur ZeroConf 3. 7. Remerciements 8. Introduction Ce petit récapitulatif tire son origine de la semaine de conférences Recherche et Innovation à laquelle j’ai assisté en septembre 2009 au début de mon année d’Info Spé à l’ÉPITA. Nous avions alors tous les jours pas mal de temps libre entre deux conférences, et nous étions plusieurs à apporter nos ordinateurs portables, histoire de s’occuper un peu pendant ce temps. Puis l’idée nous est venue de mettre nos ordinateurs en réseau : avec les jeux multi-joueurs on s’amuse plus, en LAN c’est bien connu ! Seulement, il me semble que le réseau Wifi de l’école ne permet pas de communiquer entre postes itinérants, il fallait donc créer un réseau parallèle, et le côté « on bricole notre petit réseau » était assez attirant (du moins pour moi). Du coup c’était l’occasion de tenter quelque chose… Je vais tenter de retracer ici les étapes, méthodes pour monter un réseau sans fil Ad-Hoc (explications plus loin) utilisable, et quelques pistes à tenter avec les gens motivés pour perfectionner. Une fois que le réseau et les machines « essentielles » à son fonctionnement sont en place, la configuration des autres postes (ceux qui ne font que se connecter aux autres machines, typiquement) est assez simple quelque soit le système utilisé. Je vais donner les démarches à suivre valables pour Debian GNU/Linux (et donc pour Ubuntu, et dérivés), mais on peut tout à fait transposer ça sous *BSD, Windows, Mac OS, ou autre, il ne s’agira ensuite que Créer un réseau Wifi Ad-Hoc http://canartichaut.kawie.fr/creer-reseau-wifi-adhoc/ 1 sur 20 15/11/2013 22:30

Créer un réseau wifi ad hoc

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: Créer un réseau wifi ad hoc

Canartichaut

Accueil Parcours EPITA Divers

Créer un réseau Wifi Ad-Hoc

Introduction1.Rapides notions théoriques sur le réseau

Topologie (forme) d’un réseau1.Les réseaux IP2.Attribuer des adresses IP3.

2.

Création d’un réseau Wifi Ad-Hoc basiqueLe Wifi en bref1.Création du réseau Ad-Hoc avec Network-manager sous Debian2.

3.

Mise en place d’un serveur DHCPSurvol du DHCP1.Installation d’un serveur DHCP sous Debian2.Configuration des clients DHCP avec Network Manager3.

4.

Relier des réseaux entre euxRéseaux indépendants ?1.Introduction au routage2.Configuration d’un routeur3.Configuration des autres postes4.

5.

Pistes pour perfectionnerPartager une connexion Internet1.Augmenter la portée d’un réseau Wifi Ad-Hoc2.Annoncer les services réseau avec ZeroConf3.

6.

Ressources externesDocumentation sur le réseau1.Documentation sur le Wifi2.Documentation sur ZeroConf3.

7.

Remerciements8.

IntroductionCe petit récapitulatif tire son origine de la semaine de conférences Recherche et Innovation àlaquelle j’ai assisté en septembre 2009 au début de mon année d’Info Spé à l’ÉPITA. Nousavions alors tous les jours pas mal de temps libre entre deux conférences, et nous étionsplusieurs à apporter nos ordinateurs portables, histoire de s’occuper un peu pendant cetemps.

Puis l’idée nous est venue de mettre nos ordinateurs en réseau : avec les jeux multi-joueurson s’amuse plus, en LAN c’est bien connu ! Seulement, il me semble que le réseau Wifi del’école ne permet pas de communiquer entre postes itinérants, il fallait donc créer un réseauparallèle, et le côté « on bricole notre petit réseau » était assez attirant (du moins pour moi).Du coup c’était l’occasion de tenter quelque chose… Je vais tenter de retracer ici les étapes,méthodes pour monter un réseau sans fil Ad-Hoc (explications plus loin) utilisable, etquelques pistes à tenter avec les gens motivés pour perfectionner.

Une fois que le réseau et les machines « essentielles » à son fonctionnement sont en place,la configuration des autres postes (ceux qui ne font que se connecter aux autres machines,typiquement) est assez simple quelque soit le système utilisé. Je vais donner les démarchesà suivre valables pour Debian GNU/Linux (et donc pour Ubuntu, et dérivés), mais on peut toutà fait transposer ça sous *BSD, Windows, Mac OS, ou autre, il ne s’agira ensuite que

Créer un réseau Wifi Ad-Hoc http://canartichaut.kawie.fr/creer-reseau-wifi-adhoc/

1 sur 20 15/11/2013 22:30

Page 2: Créer un réseau wifi ad hoc

d’adapter la configuration aux logiciels utilisés.

Je vais tenter de simplifier (peut-être parfois jusqu’à erroner) mes explications dans le butd’exposer le strict nécessaire pour bâtir un réseau qui fonctionne puis comprendre et réparerles pannes les plus courantes. Bien sûr si vous détectez une véritable erreur ou unesimplification vicieuse dans mon discours, merci de me contacter pour régler ça. Pour ceuxqui veulent aller plus loin, je liste à la fin de la page quelques liens vers des sites plusexhaustifs que le mien.

Rapides notions théoriques sur le réseauCette partie très théorique (mais la seule vraiment théorique) donne quelques bases enréseau tout court (IP machine/réseau). Elle est bien utile si on veut comprendre ce que l’onfait (et puis franchement après vous en saurez pas mal sur le sujet), mais elle n’est pasindispensable.

Pour les gens pressés, peu curieux ou déjà bien au courant, sautez cette section (quitte à yrevenir plus tard) et allez directement à la partie Création d’un réseau Wifi Ad-Hoc basique.En effet, cette section n’est utile que pour améliorer le réseau Ad-hoc de base (secondepartie de cette page, à partir de la Mise en place d’un serveur DHCP).

Topologie (forme) d’un réseau

Basiquement, un réseau est dans notre cas l’établissement de liaisons entre plusieursordinateurs de sorte à ce qu’ils puissent communiquer entre eux. Assez vague, et rien de trèsnouveau jusque là : tout se complique lorsqu’on cherche comment tout se met en place, oucomment ça fonctionne. On note aussi qu’il est possible (et c’est très utile) de relier plusieursréseaux entre eux. Il existe mille et une formes de réseau, mais nous allons nous intéresser àla forme la plus courante : les réseaux Ethernet et ses dérivés.

Tout d’abord, faisons la distinction entre un hôte et une interface réseau. Une interface estcomme son nom l’indique un point de contact entre un hôte (c’est-à-dire tout typed’ordinateur) et un réseau. Un hôte peut avoir autant d’interfaces qu’il a de cartes réseau(une carte Ethernet, une carte Wifi, …), voire plus avec la technique d’interfaces virtuelles(que je n’aborderai pas ici). Ainsi, un hôte ne peut pas être connecté à plus de réseaux qu’iln’a d’interfaces. On fait souvent l’abus de dire « hôte » pour désigner une interface de cethôte, mais il n’y a pas de confusion dans le contexte.

Partons de l’exemple le plus courant : le réseau familial constitué de la machin-box et desdifférents ordinateurs de la maison. Les ordinateurs font tous partie du même réseau privé,tandis que la box joue deux rôles :

le rôle du switch : c’est le point d’échange entre les différents ordinateurs du réseau.Toutes les liaisons physiques se font entre un ordinateur et le switch, et donc tout cequi est échangé sur le réseau passe par ce dispositif, c’est donc en quelque sorte son« cœur » .le rôle du routeur : c’est une interface entre plusieurs réseau : le réseau privé d’un côté(aussi appelé LAN pour Local Area Network, ou réseau local, ou encore WLAN pourWireless Local Area Network ou réseau local sans fil dans le cas d’un réseau… sans fil)et le grand réseau, Internet (aussi appelé WAN pour Wide Area Network). C’est grâce àce dispositif que les ordinateurs du réseau privé peuvent accéder à Internet, etréciproquement.

Du point de vue du switch, le routeur peut être vu comme un simple ordinateur faisant partiedu réseau. On a donc bien dans l’objet machin-box deux entités bien distinctes. Le switchrelie les ordinateurs au sein d’un même réseau tandis que le routeur relie les réseaux entreeux.

Créer un réseau Wifi Ad-Hoc http://canartichaut.kawie.fr/creer-reseau-wifi-adhoc/

2 sur 20 15/11/2013 22:30

Page 3: Créer un réseau wifi ad hoc

En supposant qu’un switch supporte des liaisons filaires en Ethernet et des liaisons sans-filen Wifi, l’utilisation des deux types de connectivité ne change rien du point de vue topologiedu réseau : relier un ordinateur avec du filaire ou du Wifi ne dépend que de vos choix, maisn’influera pas sur le réseau lui-même. Le filaire assure en général un débit meilleur etconstant dans les conditions habituelles chez les particuliers tandis que le Wifi permet unemeilleure mobilité mais est plus sensible aux interférences.

Les hubs étant désormais dépassés (les switchs sont de nos jours aussi abordablesfinancièrement et sont plus efficaces du point de vue technique), nous avons vu lesprincipaux équipements d’un réseau : les ordinateurs simples, reliés à un seul réseau, lesswitchs, reliant les ordinateurs et les routeurs, qui sont en fait des ordinateurs pouvant seconnecter à plusieurs réseaux simultanément, et configurés de telle manière à faire un pontentre les réseaux auxquels ils sont connectés.

Les réseaux IP

La topologie d’un réseau est une chose, mais relier physiquement les ordinateurs ne suffitpas : encore faut-il que ceux-ci parlent le même langage pour se comprendre. Eninformatique, on parle de protocole. À l’image du monde réel, un protocole informatique estune spécification d’interaction entre deux entités. Votre navigateur « parle » HTTP avec lesserveurs Web, votre ordinateur « parle » DNS avec un serveur DNS pour convertir un nom dedomaine en adresse IP, votre modem « parle » PPPoE pour vous relier à Internet si vous avezune connexion ADSL, etc.

Ces protocoles permettent un échange bien défini entre deux entités (un client et un serveurdans le cas des protocoles réseau) afin de réaliser une action bien précise. HTTP permetd’effectuer des requêtes sur des ressources (les développeurs Web connaissent bien lesméthodes GET et POST, mais moins PUT et DELETE appliquées sur les ressources, desURL) tandis que SMTP est le protocole utilisé pour envoyer des mails, etc.

Le protocole qui nous intéresse ici est IP (Internet Protocol), en particulier la version 4 (IPv4),actuellement (en août 2010) la version la plus utilisée (il serait de bon goût de mettre à jourcette page au moment où Internet basculera entièrement en IPv6). Comme on peutl’imaginer, ce protocole sert à créer des réseaux… IP ! Nous allons nous intéresser à un

Créer un réseau Wifi Ad-Hoc http://canartichaut.kawie.fr/creer-reseau-wifi-adhoc/

3 sur 20 15/11/2013 22:30

Page 4: Créer un réseau wifi ad hoc

morceau seulement de la spécification : ce qui nous permettra de monter notre réseau.

Intéressons-nous d’abord aux identifiants, c’est-à-dire à la manière de désigner un objetquand on « parle » IP. L’identifiant de base en IP, comme vous l’avez sûrement déjà entenduest l’adresse IP. Celle-ci est un bloc de quatre nombres (allant de 0 à 255 compris : desoctets) séparés par des points (c’est juste une manière de l’écrire). Par exemple :213.186.58.151 est une adresse IP écrite pour les humains. Les ordinateurs manipulent enrevanche plus facilement un seul entier pour une adresse ; par exemple l’adresse précédente213.186.58.151 est mémorisée par l’ordinateur en tant que l’entier 3585751703. Pourquoi ?C’est bien simple : on convertit chaque nombre entre 0 et 255 (chaque octet) par sonéquivalent en binaire (8 bits par octet), et on colle le tout pour faire un seul nombre binaire(ce nombre a 4 × 8 bits = 32 bits, donc).

Comme pratiquement tout le temps en informatique, on en revient à attribuer un numéro pouridentifier les choses. Ah. Mais alors qu’est-ce que les adresses IP servent à identifier ? Ehbien deux types d’entité : une adresse IP sert à identifier soit un réseau, soit un ordinateur duréseau (un « hôte », ou host). À ce moment-là, comment une adresse IP peut-elle désignerces deux choses en même temps ? C’est assez simple : on utilise certains bits pour identifierle réseau, et tous les autres pour identifier la machine sur le réseau en question, c’est làqu’intervient le masque de sous-réseau (netmask pour subnet mask).

Un masque de sous-réseau est simplement un nombre ayant la même taille que l’adresse IP,c’est-à-dire ayant le même nombre de bits (en l’occurence 32 bits pour une IPv4). Pourcomprendre comment l’utiliser, il faut représenter le masque ainsi que l’adresse IP associéesous forme de nombre binaire. On associe ansi chaque bit de l’adresse IP au bit du masquecorrespondant. Plusieurs opérations permettent de tirer des informations de ce coupleadresse IP-masque de sous-réseau. Soit A l’adresse IP et M le masque de sous-réseau :

faire un ET logique entre les deux nombres(A ET M) calcule l’adresse du réseau ;faire un ET logique entre l’adresse IP et le négatif du masque (A ET NON M) calculel’adresse de l’ordinateur au sein du réseau ;faire un OU logique entre l’adresse IP et le négatif du masque (A OU NON M) calculel’adresse de diffusion du réseau (ou broadcast), qui sert en bref à envoyer un messageà tous les postes du réseau. À l’inverse, l’unicast consiste à adresser un paquet à unseul hôte dans le réseau (en utilisant son adresse IP propre). Pour plus d’informationssur l’unicast, le broadcast, le multicast, l’anycast, … consultez Wikipédia :-)([fr.Wikipédia] Unicast)

Rassurez-vous, lorsqu’on monte un petit réseau local sans trop d’envergure, il n’y a pasbesoin de faire des calculs aussi lourds, mais quand on apprend il est intéressant de voircomment ça marche. Du coup, je sens que quelques exemples feraient passer le morceau.Prenons A = 192.168.1.13 et M = 255.255.255.0 (c’est une adresse IP de machine qu’il estpossible de trouver dans le réseau privé de pas mal de Machin-box), et effectuons ces calculspour en apprendre plus sur le réseau de cette machine. Tout d’abord les conversions enbinaire (je garde les points pour plus de lisibilité) :

Donnée Opérationbinaire Résultat en binaire Résultat en

décimalAdresse IP A 11000000.10101000.00000001.00001101 192.168.1.13Masque M 11111111.11111111.11111111.00000000 255.255.255.0

Créer un réseau Wifi Ad-Hoc http://canartichaut.kawie.fr/creer-reseau-wifi-adhoc/

4 sur 20 15/11/2013 22:30

Page 5: Créer un réseau wifi ad hoc

Adresse duréseau A ET M 11000000.10101000.00000001.00000000 192.168.1.0

Numéro duposte A ET NON M 00000000.00000000.00000000.00001101 0.0.0.13

Adresse dediffusion A OU NON M 11000000.10101000.00000001.11111111 192.168.1.255

Notez bien que le masque a toujours cette forme-là : les uns à gauche (ils représentent lapartie réseau) et les zéros à droite (ils représentent la partie hôte). Il me semble qu’il esttechniquement possible de les mélanger, mais l’architecture réseau se compliquerait alorstellement qu’un tel choix serait idiot. Du coup, au lieu de noter le couple adresse IP-masquecomme A.B.C.D/E.F.G.H, on peut souvent écrire A.B.C.D/N où N est le nombre de « 1 »présent dans le masque, sachant qu’ils sont tous groupés à gauche : c’est la notation CIDR(Classless Inter-Domain Routing). On écrirait donc dans notre exemple 192.168.1.13/24.Avec la notation CIDR, on va bien plus vite : 24 est le nombre de bits qui servent à identifier leréseau (24 = 3 × 8, donc 3 octets), soit 192.168.1 (c’est le préfixe = identifiant du réseau), et32 − 24 = 8 bits servent à identifier la machine, soit 13 ici (c’est le suffixe = identifiant duréseau).

Il est aussi utile de remarquer que l’adresse du réseau est la plus basse (une IP est unnombre, donc c’est le nombre le plus petit du réseau), tandis que que l’adresse de diffusionest la plus haute (le nombre le plus grand du réseau).

Prenons un autre exemple un chouilla plus complexe : analysons le réseau de la machineA/M = 172.18.154.56/14 (le « /14 indique que le masque est 255.252.0.0). La seule vraiecomplexité vient du fait que la séparation réseau-hôte au niveau de l’adresse IP en formebinaire ne coïncide pas avec la séparation entre deux octets ; par conséquent un des 4 octets« mélange » hôte et IP et la différence n’est bien nette qu’en binaire (voir le code couleur,rouge pour la partie réseau et bleu pour la partie hôte).

Donnée Opérationbinaire Résultat en binaire Résultat en

décimalAdresse IP A 10101100.00010010.10011010.00111000 172.18.154.56Masque M 11111111.11111100.00000000.00000000 255.252.0.0Adresse duréseau A ET M 10101100.00010000.00000000.00000000 172.16.0.0

Numéro duposte A ET NON M 00000000.00000010.10011010.00111000 0.2.154.56

Adresse dediffusion A OU NON M 10101100.00010011.11111111.11111111 172.19.255.255

Une chose à retenir quand on parle de réseau IP est que l’échange de données se fait selonune commutation de paquets, c’est-à-dire qu’au lieu d’envoyer et de recevoir un flot (ou flux)de données avec un ensemble statique de correspondants comme en téléphonie classique(sauf exception très rare), les données à envoyer ou recevoir sont fragmentées en plusieurspaquets, ce qui rend possible le fait de parler à plusieurs personnes en même temps et dechanger de correspondants sans connexion-déconnexion du réseau (impossible avec untéléphone). Chaque paquet contient l’adresse IP du destinataire et l’adresse IP del’expéditeur, et les différents intermédiaires (qui s’occupent uniquement de transmettre lepaquet à la bonne machine) ne font que lire l’adresse de destination (seule la machine visées’occupe de l’adresse IP de l’expéditeur, afin de lui répondre).

Attribuer des adresses IP

La sous-section précédente explique qu’une adresse IP et un masque permettent ensemblede déterminer l’adresse du réseau et l’adresse de la machine désignée au sein de ce réseau.En se mettant à la place de l’administrateur réseau, on se demande maintenant comment

Créer un réseau Wifi Ad-Hoc http://canartichaut.kawie.fr/creer-reseau-wifi-adhoc/

5 sur 20 15/11/2013 22:30

Page 6: Créer un réseau wifi ad hoc

choisir et attribuer des adresses IP lors de la création d’un réseau.

Bien sûr, pour que le réseau fonctionne, tous les ordinateurs le composant doivent avoir aumoins une adresse IP, et une adresse IP ne doit être associée qu’à un seul ordinateur à lafois, ou à rien du tout. Autrement dit, au sein d’un même réseau, deux ordinateurs ne peuventpas posséder le même numéro de poste, et tous les ordinateurs doivent avoir la mêmeadresse de réseau (et donc le même masque).

Ces conditions suffiraient si le réseau était condamné à être isolé de tout le reste. En effet,théoriquement il est possible d’utiliser tout le panel d’adresses disponible en IPv4, soit trèsgrossièrement 232 = 4 milliards d’adresses. Les problèmes viennent lorsqu’on décide deconnecter le réseau à un autre… comme Internet par exemple ! La condition supplémentairequand on considère les réseaux interconnectés est que chaque ordinateur à qui un hôte peutenvoyer un paquet doit avoir une adresse IP différente. C’est un peu tordu, mais avec lestechniques de NAT, il est possible de contourner la condition qui aurait dû être : « chaqueordinateur doit avoir une adresse IP unique dans l’ensemble des réseaux connectés ».

Ainsi, il est nécessaire qu’une entité unique au niveau mondial régule l’attribution d’adressesIP. C’est l’IANA qui satisfait ce rôle. Celle-ci déclare qu’une adresse IP est par défaut utilisablesur Internet, à l’exception d’une quinzaine de plages d’adresses IP listée ici (personnellementje ne les connais pas par cœur…) : [fr.Wikipédia.org] Plages d’adresses IP spéciales.

Il est ainsi fait la distinction entre les IP publiques (qu’une organisation dédiée peut attribuer àdes hôtes, et utilisables sur Internet, ou WAN) et privées (c’est-à-dire en LAN). Je ne rentreraipas dans l’explication du mécanisme d’attribution des adresses publiques : seules lesadresses privées nous intéressent ici. Elles sont utilisables pour n’importe qui souhaitantcréer un réseau. L’important est que ces adresses ne soient pas utilisées sur le net. Lespaquets qui utilisent ces adresses sont de toute façon supprimés dès qu’ils tentent d’aller surInternet.

DONC, l’information intéressante ici est : si vous voulez créer un réseau local (c’est-à-direutilisant des adresses privées), vous pouvez utiliser les plages IP suivantes (elles étaientdans la liste publiée par l’IANA) :

10.0.0.0/8 (de 10.0.0.0 à 10.255.255.255)172.16.0.0/12 (de 172.16.0.0 à 172.31.255.255)192.168.0.0/16 (de 192.168.0.0 à 192.168.255.255)

Deux remarques cependant : premièrement, vous pouvez parfaitement n’utiliser que desportions de ces plages d’adresses. Par exemple, la majorité des Machin-box sont configuréespar défaut pour créer un réseau sur la plage 192.168.1.0/24 (de 192.168.1.0 à192.168.1.255).

De plus, lorsqu’il s’agit d’attribuer les adresses aux hôtes, il faut bien exclure l’adresse haute(c’est l’adresse de diffusion, ou broadcast et l’adresse basse (c’est l’adresse du réseaului-même). Sur le réseau de la plupart des Machin-box, l’adresse haute est 192.168.1.255 etl’adresse basse est 192.168.1.0 ; les adresses utilisables pour les ordinateurs sont donc de192.168.1.1 à 192.168.1.254, soit 254 adresses au total.

Voilà, ouf, vous pouvez respirer. ;-) Cette partie-là m’avait beaucoup intéressé quand j’aiappris ces notions, mais je conçois parfaitement que ça en rebute certains (que par ailleurs jefélicite d’avoir lu jusqu’ici). Pour tous les autres, avides de connaissances, il reste encore deschoses à apprendre, et donc je vous renvoie aux ressources externes, et puis dans quelquesmois ou années, il faudra reconstituer ses connaissances avec l’arrivée de l’IPv6 ! Maintenant,place à la pratique !!

Création d’un réseau Wifi Ad-Hoc basiqueCette section explique rapidement les particularités d’un réseau Wifi puis liste les étapes pour

Créer un réseau Wifi Ad-Hoc http://canartichaut.kawie.fr/creer-reseau-wifi-adhoc/

6 sur 20 15/11/2013 22:30

Page 7: Créer un réseau wifi ad hoc

configurer chaque poste dans le cas d’un réseau Wifi Ad-Hoc autonome et isolé, tout ce qu’ily a de plus basique

Le Wifi en bref

Le Wi-Fi (pour Wireless-Fidelity) est tout d’abord une norme (IEEE 802.11 suivit d’une lettre,plus la lettre est loin dans l’alphabet, mieux c’est en gros). Celle-ci permet, pour les cartesréseaux qui suivent cette norme, de constituer un réseau avec les autres équipements dits« Wifi ». Rien de bien mirobolant, c’est en fin de compte une norme comme l’Ethernet, saufque c’est pour les réseaux sans-fil. Pour la petite histoire, la fréquence des ondesélectromagnétiques utilisée par les équipements Wifi est positionnée sur celle utilisée par lesmicro-ondes (c’est-à-dire les ondes qui font chauffer les molécules d’eau). C’est dû à lalégislation dans certains pays (tous ? dont la France en tout cas), où l’utilisation d’un bandede fréquence est règlementée. Du coup si on utilise une fréquence déjà utilisée mais paspour communiquer, ça passe…

On va retenir deux modes de fonctionnement pour les réseaux Wifi : le mode« Infrastructure », ou avec point d’accès, et le mode « Ad-hoc » ou de pair à pair. Le modeinfrastructure met en place, à l’image du réseau Ethernet, un point d’accès Wifi, c’est-à-direun type de switch. La flexibilité du système permet d’utiliser plusieurs points d’accèsconnectés entre eux pour couvrir une zone large et ainsi permettre le passage de clientitinérant d’un point d’accès à un autre sans déconnexion…

Mais bon, le cas le plus courant est toujours la Machin-box, qui fait office de point d’accèsWifi. Soit le poste qu’on veut relier au réseau est à portée du point d’accès (auquel cas çafonctionne), soit pas (je vous laisse deviner ce qu’il se passe). L’avantage est que pour quedeux postes communiquent, il suffit que les deux captent le point d’accès : pas besoin queles deux postes se captent réciproquement.

À cause de la distance, deux stations sont hors de portée l’une de l’autre. Elles peuventcependant communiquer car tous les échanges se font par l’intermédiaire du pointd’accès Wifi.

C’est le mode Ad-Hoc que nous allons utiliser ici. Si vous avez un point d’accès comme uneFonéra, autant l’utiliser (on peut trouver ça plus pratique qu’un réseau Ad-Hoc), mais je vouslaisser consulter la documentation disponible sur le Web.

Le mode Ad-Hoc, donc… Un réseau Wifi Ad-Hoc est en fait constitué uniquement des postesdu réseau, sans point d’accès. C’est ce qui permet de mettre en réseau plus ou moinssimplement des ordinateurs équipés de carte Wifi (quasiment tout le temps depuis quelquesannées) de manière improvisée. J’entends par là, par exemple : on se retouve à plusieursdans le train, mais on n’a pas de point d’accès à proximité, alors hop ! on se monte un réseauAd-Hoc, et voilà le travail ! C’est bien sûr ce qui s’est passé pendant cette semaine de

Créer un réseau Wifi Ad-Hoc http://canartichaut.kawie.fr/creer-reseau-wifi-adhoc/

7 sur 20 15/11/2013 22:30

Page 8: Créer un réseau wifi ad hoc

conférence dont je parlais au début.

Les ordinateurs connectés à un réseau Ad-Hoc communiquent donc directement entre eux.La conséquence directe et que deux ordinateurs reliés au réseau ne pourront pas forcémentcommuniquer s’ils ne se captent pas. On peut mettre en place un système de routage pourrésoudre ce problème, mais c’est tout de suite plus compliqué (et donc moins improvisé pourle coup) ; je détaille ça dans les parties Relier les réseaux entre eux et Augmenter la portéed’un réseau Wifi Ad-Hoc.

À cause de la distance, des deux stations sont hors de portée l’une de l’autre. Leréseau Ad-Hoc de base ne leur permet donc pas de communiquer entre ellesdirectement. Cependant, une configuration plus fine (avec un intermédiaire) permettraitde résoudre le problème.

Création du réseau Ad-Hoc avec Network-manager sous Debian

La mise en place du réseau se fait en deux étapes. La première est de spécifier lesparamètres qui serviront à créer le réseau : c’est faisable à n’importe quel moment, et on n’aà le faire qu’une seule fois (puisque les paramètres sont enregistrés). La deuxième est de seconnecter au réseau (ce qui le créera, étant donné la forme d’un réseau Ad-Hoc), ce qui doitêtre fait à chaque fois qu’on veut se relier au réseau, avec les autres, ce qui doit être fait àchaque arrivée.

Première étape : faites un clic droit sur l’icône de Network Manager, puis sélectionnezl’item « Modification des connexions… ».

Créer un réseau Wifi Ad-Hoc http://canartichaut.kawie.fr/creer-reseau-wifi-adhoc/

8 sur 20 15/11/2013 22:30

Page 9: Créer un réseau wifi ad hoc

Dans la fenêtre qui apparaît, allez dans l’onglet « Sans fil », puis cliquez sur le bouton« Ajouter ».

La fenêtre qui apparaît vous permet de configurer votre réseau. Le champ « Nom de laconnexion » n’a aucune incidence sur le réseau que vous allez créer ; il sert à NetworkManager à nommer l’ensemble des paramètres pour pouvoir vous le proposer dans unmenu au moment de se connecter. L’option « Connecter automatiquement » n’a pasd’importance.

Dans l’onglet « Sans fil », donnez-lui un nom (SSID), de préférence avec descaractères non spéciaux (0 à 9, a à z et A à Z) et spécifiez le mode « Ad Hoc ». Dansl’onglet « Paramètres IPv4 », spécifiez la méthode « Manuelle », puis dans la partie« Adresses », cliquez sur le bouton « Ajouter » et remplissez les champs selon vospréférences pour le réseau. Par exemple, pour ceux qui n’ont pas lu la première partiethéorique :

Adresse : 192.168.42.1 ;ce sera l’adresse IP de l’ordinateur sur lequel vous faites le réglage, il faut doncen choisir une différente par ordinateur que vous connecterez au réseau.L’intervalle est de 192.168.42.1 à 192.168.42.254.Masque de réseau : 255.255.255.0 ;ce sera le même masque pour tous les ordinateurs du réseau.Passerelle : vous pouvez ne pas en mettre (0.0.0.0 signifie : personne), c’est le

Créer un réseau Wifi Ad-Hoc http://canartichaut.kawie.fr/creer-reseau-wifi-adhoc/

9 sur 20 15/11/2013 22:30

Page 10: Créer un réseau wifi ad hoc

cas par défaut sauf si vous mettez plus tard en place un ordinateur qui ferapasserelle vers un autre réseau (comme Internet, ou celui de l’école), auquel casil suffit de mettre à la place l’adresse IP de l’ordinateur qui fait office depasserelle.

Deuxième étape : faites un clic gauche sur l’icône de Network Manager, et sélectionnez« Se connecter à un réseau sans fil invisible ».

Une fenêtre apparaît ; choisissez dans le champ « Connexion » le nom du réseau quevous avez créé (dans mon exemple, c’était « MonReseauAdHoc »), puis cliquez sur« Se connecter ».

L’icône de Network Manager se met à indiquer que l’ordinateur tente la connexion…Quelques secondes plus tard, un message devrait apparaître vous confirmant que laconnexion est établie… Et c’est gagné !

Si vous voulez tester la connexion, vous pouvez utiliser ping en ligne de commande :

# On suppose que votre adresse est 192.168.42.1# tandis que celle d’un autre ordinateur sur le réseau est 192.168.42.2# et que 192.168.42.3 n’est utilisée par personne

Créer un réseau Wifi Ad-Hoc http://canartichaut.kawie.fr/creer-reseau-wifi-adhoc/

10 sur 20 15/11/2013 22:30

Page 11: Créer un réseau wifi ad hoc

# Tappez Ctrl-C pour arrêter le ping

ping 192.168.42.1PING 192.168.42.1 (192.168.42.1) 56(84) bytes of data.64 bytes from 192.168.42.1: icmp_req=1 ttl=64 time=0.085 ms64 bytes from 192.168.42.1: icmp_req=2 ttl=64 time=0.072 ms64 bytes from 192.168.42.1: icmp_req=3 ttl=64 time=0.072 ms^C--- 192.168.42.1 ping statistics ---3 packets transmitted, 3 received, 0% packet loss, time 1999msrtt min/avg/max/mdev = 0.072/0.076/0.085/0.009 ms# Aucun paquet perdu : votre ordinateur se ping bien !

ping 192.168.42.2

(TODO)# Aucun paquet perdu : votre ordinateur communique sans mal avec l’autre

ping 192.168.42.3PING 192.168.42.3 (192.168.42.3) 56(84) bytes of data.From 192.168.42.1 icmp_seq=1 Destination Host UnreachableFrom 192.168.42.1 icmp_seq=2 Destination Host UnreachableFrom 192.168.42.1 icmp_seq=3 Destination Host Unreachable^C--- 192.168.42.3 ping statistics ---4 packets transmitted, 0 received, +3 errors, 100% packet loss, time 3018mspipe 3# 100 % de paquets perdus : normal, cette adresse IP n’est pas utilisée…

Eh bien voilà, vous avez un réseau ! À vous maintenant de le rendre intéressant… Je vouslaisse chercher par vous-même comment installer un serveur Web, un serveur IRC, unserveur Tetrinet, etc… Il restera ensuite à annoncer à ceux qui se connectent au réseau quelsserveurs sont disponibles sur quelles machines ! La suite de ce document liste quelquespossibilités pour rendre l’utilisation de votre réseau plus simple et pratique.

Mise en place d’un serveur DHCPUn réseau construit en ne suivant que la partie précédente présente quelques inconvénientsmajeurs. Un des plus basique est la nécessité d’une autorité (personne réelle) centrale quiattribue des adresses IP à chaque poste qui veut se connecter, ce qui implique que chaquepersonne voulant se relier au réseau doit contacter une personne, et que celle-ci retiennequelle adresse elle a attribué à qui. Un serveur DHCP permet, entre autres, d’automatiser ceprocessus.

Survol du DHCP

DHCP (pour Dynamic Host Configuration Protocol) est le nom d’un protocole servant, commeson nom l’indique, à configurer automatiquement un hôte voulant se connecter au réseau.Généralement, un serveur DHCP attribue aux hôtes au minimum une adresse IP et unmasque de réseau, mais il peut aussi diffuser l’adresse de la passerelle par défaut (voir lapartie Ponts (routeurs) entre deux réseaux), ou l’adresse des serveurs DNS.

Ce processus automatique libère l’administrateur réseau d’une lourde charge de travail(surtout pour les réseaux qui changent souvent) mais aussi est bien plus fiable : ce travailmanuel digne d’une fourmi, un peu comme les calculs arithmétiques, est effectué la quasi-totalité du temps sans erreur par un ordinateur, au contraire d’un humain. Les ordinateursconfigurés à la mains sont dits configurés statiquement (ils ont des adresses IP statiques)tandis que les ordinateurs configurés par DHCP sont dits configurés dynamiquement (ils ontdes adresses IP dynamiques).

Ce protocole prévoit au sein d’un même segment de réseau (ce qui est équivalent au réseauAd-Hoc tout entier dans notre cas) un ordinateur tout le temps disponible faisant tourner unserveur DHCP. Cet ordinateur est supposé configuré statiquement tandis que le programme

Créer un réseau Wifi Ad-Hoc http://canartichaut.kawie.fr/creer-reseau-wifi-adhoc/

11 sur 20 15/11/2013 22:30

Page 12: Créer un réseau wifi ad hoc

serveur est configuré pour attribuer aux hôtes se connectant les adresses IP d’une certaineplage. Il est possible de faire cohabiter des hôtes configurés statiquement et d’autresconfigurés dynamiquement, la seule condition étant que les hôtes ayant des adressesstatiques n’empruntent pas d’adresse que le serveur DHCP est censé distribuer. Bien sûr, sijamais le serveur est inaccessible, les hôtes configurés dynamiquement ne peuvent plus seconnecter au réseau, ce serveur doit donc être très disponible.

Voici globalement le déroulement de l’interaction entre un serveur et un client DHCP :

le client (n’ayant pas encore d’adresse IP) envoie par diffusion (le fameux broadcast)une requête au serveur DHCP (DHCP DISCOVER) ;le serveur reçoit la requête et fait une ou plusieurs propositions d’adresse IP au client(DHCP OFFER) ;le client reçoit les propositions, en choisit une, et la demande au serveur (DHCPREQUEST) ;le serveur reçoit la demande et renvoie au client sa nouvelle adresse ainsi que sonmasque de réseau, la durée de validité de ce bail et éventuellement d’autresparamètres (DHCP ACK) ;le client prend en compte les paramètres reçus et est configuré, youpi !.

Pour les curieux : :

Le serveur DHCP peut répondre au client uniquement (c’est-à-dire sans broadcast)même si ce dernier n’a pas encore d’adresse IP propre en utilisant l’adresse physique(adresse MAC) que le client lui a donné. Pour un paquet allant du serveur au client,l’adresse IP de destination est alors 0.0.0.0.

Si le serveur DHCP est hors d’atteinte du client (les routeurs, par exemple, bloquent lesmessages de diffusion), alors il est possible d’installer un relai DHCP « du côté » duclient. Ce relai est configuré statiquement et connait l’adresse IP du serveur : ainsi, ilpeut contourner la limitation en broadcast du routeur en communiquant au serveur enunicast. Son travail n’est alors que de transmettre les requettes DHCP du client auserveur, et les réponses DHCP du serveur au client.

Installation d’un serveur DHCP sous Debian

Attention ! N’oubliez pas de désactiver votre serveur DHCP quand vous vous connectez à unréseau qui n’est pas le vôtre : vous perturberiez la configuration de celui-ci !Personnellement, j’ai désactivé la mise en marche du serveur DHCP sur ma machine afin dene l’activer que quand je crée mon réseau.

Passons à l’installation : munissez-vous de votre shell favori en superutilisateur (root) poursaisir la commande :

aptitude install dhcp3-server

Puis répondez aux questions qui vous sont posées (généralement « êtes-vous sûr de […] »).Une fois le(s) paquet(s) installé(s), il reste à configurer le serveur. Pour cela, il suffit d’éditer,voire de créer le fichier /etc/dhcp/dhcpd.conf. Ici, pour l’exemple, je suppose que votreserveur DHCP est sur la machine 192.168.42.1/24, qu’il distribue des adresses dansl’intervalle 192.168.42.20 à 192.168.42.254 (comprises), et que la passerelle par défaut est192.168.42.2.

# Configuration du serveur/service DHCPd# pour votre réseau (Ad-Hoc ?) local

# Serveurs DNS (ici, OpenDNS ; facultatif) :# Cette entrée n’est utile que lorsque votre réseau est relié à Internet.# La liste des serveurs séparés par des virgules (en général : un serveur# primaire et un serveur secondaire)

Créer un réseau Wifi Ad-Hoc http://canartichaut.kawie.fr/creer-reseau-wifi-adhoc/

12 sur 20 15/11/2013 22:30

Page 13: Créer un réseau wifi ad hoc

option domain-name-servers 208.67.222.222, 208.67.220.220;

# Masque de réseau puis adresse de diffusion (nécessaires)option subnet-mask 255.255.255.0;option broadcast-address 192.168.42.255;# Temps de renouvellement d’un bail par défaut puis durée maximale d’un bail# (nécessaires)default-lease-time 3600;max-lease-time 7200;

# Un serveur DHCP peut s’occuper de plusieurs « sous-réseaux ».# Le cas qui nous intéresse ici : le serveur s’occupe de tout le réseau :# on indique donc l’adresse du réseau entier et son masque de réseausubnet 192.168.42.0 netmask 255.255.255.0{

# Intervalle des adresses IP que le serveur doit distribuer (nécessaire)range 192.168.42.20 192.168.42.254;# Passerelle par défaut (facultatif)option routers 192.168.42.2;

# Si vous voulez que certains hôtes — en plus de votre serveur DHCP, donc — aient une adresse IP fixe, relevez leur adresse MAC. Le nom d’hôte (ici

monrouteur) est arbitraire. Bien sûr, les adresses IP fixes doivent être host de l’intervalle des adresses IP distribuées dynamiquement.

host monrouteur {# Adresse MAChardware ethernet 12:34:56:78:90:AB;# Adresse IP attribuéefixed-address 192.168.42.2;

}# Mode autoritaire : ce serveur DHCP est le seul de votre réseauauthoritative;

}

Après avoir enregistré le fichier de configuration, il ne reste plus qu’à redémarrer le serveurDHCP :

service isc-dhcp-server restart

Configuration des clients DHCP avec Network Manager

Dans la configuration des hôtes avec Network Manager plus haut, on attribue des adresse IPstatiques. Si un serveur DHCP est installé sur le réseau, il est toujours possible d’utiliser desadresses IP fixes comme indiqué plus haut du moment qu’on reste hors de l’intervalle géréepar le serveur DHCP. En revanche, se connecter à un réseau muni d’un serveur DHCP estbien plus simple ! Il existe deux possibilités : soit on s’y connecte depuis la première fois, soiton s’y est déjà connecté étant configuré avec une adresse IP fixe.

Occupons-nous d’abord du cas le plus simple (celui qui intéressera tous les nouveauxconnectés au réseau). Il est nécessaire et suffisant que vous soyez à portée du réseauAd-Hoc (et en particulier à portée de son serveur DHCP). Faites un clic droit sur l’icône deNetwork Manager : celui-ci vous liste dans un menu les SSIDs des réseaux que vous captez.Cliquez sur le réseau Ad-Hoc qui vous intéresse… et attendez que la magie opère ! Si laconnexion est réussie (et si le serveur DHCP et opérationnel et que votre carte Wifi est dansde bonnes conditions, c’est ce qui devrait se passer), il n’y a plus rien à faire. En effet,Network Manager tente par défaut de se configurer avec un serveur DHCP.

Dans le cas où vous vous êtes déjà connecté au réseau, mais en configuration statique,reprenez l’éditeur de configuration de Network Manager, éditez le réseau voulu, puis dans lafenêtre de configuration, onglet « Paramètres IPv4 », choisissez l’option « Automatique » dumenu « Méthode ». Enfin, retentez de vous connecter au réseau sans-fil de la manière quevous voulez.

Créer un réseau Wifi Ad-Hoc http://canartichaut.kawie.fr/creer-reseau-wifi-adhoc/

13 sur 20 15/11/2013 22:30

Page 14: Créer un réseau wifi ad hoc

Relier des réseaux entre euxÀ cause de la portée des cartes Wifi ou pour toute autre raison, on peut se retrouver obligéde scinder un réseau Ad-Hoc en deux. On a alors plusieurs réseaux, voisins certes, maisisolés. Cette partie indique comment mettre ceux-ci en contact, c’est-à-dire commentpermettre aux hôtes des deux réseaux de communiquer entre eux.

Réseaux indépendants ?

Notre but étant de relier au moins deux réseaux, il faut savoir qu’à partir du moment où lesréseaux utilisent le protocole IP, il y a forcément un moyen de les relier, qu’ils soient enEthernet, en Wifi, ou autre… Après, les relier est un terme vague. J’entends ici par « relier »faire en sorte que chaque ordinateur d’un réseau puisse initier (et mener à terme) unéchange avec n’importe quel ordinateur d’un autre réseau, de la même manière que si cesdeux hôtes étaient dans le même réseau. C’est en quelque sorte « étendre » ce dernier. C’estd’ailleurs de cette manière qu’Internet est construit : on relie plusieurs réseaux pour en formerun plus grand.

La condition la plus basique est simple (et on l’a déjà évoquée) : si relier des réseaux formentun nouveau réseau, alors il faut que les IP ne soient pas utilisées plusieurs foissimultanément : une IP ne correspond qu’à un seul ordinateur à un instant donné.

La deuxième condition est tout simplement de devoir placer un ordinateur en périphérie deplusieurs réseaux, constituant un pont entre ceux-ci : ce sont les fameux routeurs.Concrètement, on munit un ordinateur d’autant de cartes réseaux que de réseaux à relier, eton le configure « comme il faut », puis vient la configuration de tous les hôtes afin de leurfaire tenir compte de ce pont.

Un routeur est un point de contact entre plusieurs réseaux, et est matériellement un hôtepartout où il est présent : il a ses propres adresses IP, précisément une (différente) parréseau. Il transfère les paquets provenant d’un réseau à destination d’un autre réseau.

Introduction au routage

Créer un réseau Wifi Ad-Hoc http://canartichaut.kawie.fr/creer-reseau-wifi-adhoc/

14 sur 20 15/11/2013 22:30

Page 15: Créer un réseau wifi ad hoc

Tout d’abord : qu’est-ce que le routage ? La réponse est simple : c’est l’ensemble desmécanismes qui orientent un paquet IP de son expéditeur à son destinataire au sein deréseaux. Cela concerne les hôtes émetteurs et récepteurs ainsi que tous les routeurs situésaux périphéries des réseaux intermédiaires.

Pour faire rapide, l’ordinateur qui émet le paquet regarde l’adresse de destination de cedernier. À ce moment-là, deux possibilités : soit l’hôte visé est dans le même réseau (auquelcas on lui transmet le paquet), soit à l’inverse l’hôte visé est sur un autre réseau. C’est cedernier cas qui est le plus intéressant : l’émetteur regarde sa liste de routes, y lit quel est lemeilleur routeur sur le réseau pour acheminer le paquet et enfin le lui transmet. À son tour, lerouteur se comporte comme un émetteur, pour transmettre à l’hôte directement si possible oupour transmettre le paquet à un autre routeur, et ainsi de suite. Il y a plusieurs choses àretenir :

Pour tous les intermédaires, la seule information utile au routage est l’adresse IP dedestination du paquet. L’adresse IP de l’expéditeur est aussi renseignée dans le paquet,mais elle ne sert qu’à l’hôte recevant le paquet : elle lui permet de répondre.Ce système fonctionne même si les routeurs ne connaissent pas la structure globale duréseau. En effet, il leur suffit de savoir dans quel réseau il est et où retransmettre lepaquet pour tel ou tel réseau ; ensuite, s’adresser aux bons intermédiaires est suffisant.

J’ai parlé de route sans définir ce que c’était, mais on peut en avoir une idée avec l’explicationprécédente. Une route consiste à dire « pour envoyer les paquets vers tel réseau, il suffit detransmettre le paquet à tel routeur ». La liste des routes (table de routage IP, en généralintégrée dans le noyau) est accessible sous Unix avec la commande route (ensuperutilisateur). Ces routes se présentent sous la forme : Destination, Passerelle, Masquede réseau (ces champs sont représentés par des IP) ainsi que d’autres informationsadditionnelles (comme l’interface réseau utilisée, le nombre de routeurs intermédiaires, …).

L’association de « Destination » et de « Masque de réseau » permet de déterminer le réseauconcerné (c’est-à-dire l’intervalle d’IP que cette route permet d’atteindre) tandis que« Passerelle » désigne l’IP du routeur à qui transmettre le paquet. Il faut bien sûr que cerouteur soit directement accessible, sans intermédiaire. Si « Passerelle » vaut 0.0.0.0, celasignifie que l’hôte est sur le même réseau, directement accessible, sans routeurintermédiaire.

Une route particulière (pas toujours présente) s’appelle la route par défaut. L’adresse IP« Destination » est 0.0.0.0 et le masque est 0.0.0.0, ce qui veut dire que cette route permetd’atteindre n’importe quel hôte (toutes les adresses IP sont atteignables). C’est la route quirelie généralement les ordinateurs en périphérie d’Internet (c’est-à-dire M. Toutlemonde) ; lemasque 0.0.0.0 montre qu’ils perçoivent Internet comme un seul réseau comportant toutesles adresse IP. Dans ce cas, la passerelle est naturellement appelée la passerelle par défaut.

Les routes sont généralement classées. Les routes les plus précises, les plus spécifiques(c’est-à-dire vers de petits réseaux) sont généralement au début de la table de routage,tandis que les routes concernant les gros réseaux sont plutôt vers la fin. Ainsi, la route pardéfaut est théoriquement la dernière de la liste, ce qui est logique : c’est la route la plusgénérale, la moins spécifique, vers le plus gros des réseaux.

Un hôte voulant transmettre un paquet consultera donc sa liste de routes dans l’ordre : sicette liste ne contient pas de route spécifique vers le réseau voulu, l’hôte cherchera desroutes de moins en moins « précises », jusqu’à arriver à la route par défaut. Si aucune routene convient et s’il n’y a pas de route par défaut, le paquet est jeté, et une notification estenvoyée à l’émetteur du paquet pour le prévenir.

Un exemple ne sera pas de trop pour faire passer le morceau. ;-) Je vais reprendre lastucture du réseau d’exemple de la section précédente, ajouter un réseau, et munir le routeurcentral ainsi que l’ordinateur émetteur de tables de routage (mis à part pour le router, je neprécise pas à quelle interface réseau correspond la route, puisqu’il n’y a qu’une seuleinterface). On voudra dans un premier temps regarder comment un paquet transite de172.16.0.3 à 172.16.1.2, puis de 10.42.42.69 à 172.168.0.3.

Créer un réseau Wifi Ad-Hoc http://canartichaut.kawie.fr/creer-reseau-wifi-adhoc/

15 sur 20 15/11/2013 22:30

Page 16: Créer un réseau wifi ad hoc

Un seul routeur fait ici le lien entre quatre réseaux :

172.16.0.0/24 où le routeur a l’adresse IP 172.16.0.4 (interface réseau eth0) ;172.16.1.0/24 où le routeur a l’adresse IP 172.16.1.1 (interface réseau wlan0) ;172.16.2.0/24 où le routeur a l’adresse IP 172.16.2.1 (interface réseau eth1) ;10.0.0.0/8 où le routeur a l’adresse IP 10.11.12.13 (interface réseau eth2).

Table de routage de 172.16.0.3

Route no Destination Passerelle Masque de réseau

1 172.16.0.0 0.0.0.0 255.255.255.0

2 172.16.0.0 172.16.0.4 255.255.252.0

3 10.0.0.0 172.16.0.4 255.0.0.0

Table de routage de 10.42.42.69

Route no Destination Passerelle Masque de réseau

1 10.0.0.0 0.0.0.0 255.0.0.0

2 172.16.0.0 10.11.12.13 255.255.252.0

Table de routage du routeur

Route no Destination Passerelle Masque de réseau Interface

1 172.16.0.0 0.0.0.0 255.255.255.0 eth0

2 172.16.1.0 0.0.0.0 255.255.255.0 wlan0

3 172.16.2.0 0.0.0.0 255.255.255.0 eth1

4 10.0.0.0 0.0.0.0 255.0.0.0 eth2

Créer un réseau Wifi Ad-Hoc http://canartichaut.kawie.fr/creer-reseau-wifi-adhoc/

16 sur 20 15/11/2013 22:30

Page 17: Créer un réseau wifi ad hoc

Dans la table de routage de l’hôte 172.16.0.3, on voit bien que la route 1 pourrait êtresupprimée, les paquets arriveraient bien à destination grâce à la route 2 : la route 1 est plusspécifique que la route 2 (regardez attentivement les masques). Cependant, la route 1permet de ne pas passer par le routeur, ce qui est bien plus efficace (et accessoirementsoulage le routeur d’un trafic inutile).

Pour notre premier trajet, suivons un paquet IP émis par 172.16.0.3 à destination de172.16.1.2. C’est cette dernière adresse que nous allons utiliser pour faire le routage :

Parcourons dans un premier temps la table de routage de notre hôte de départ,172.16.0.3. La route 1 ne peut pas être utilisée étant donné que l’adresse IP172.16.1.2 n’appartient pas au réseau 172.16.0.0/255.255.255.0. En revanche, c’estle cas de la route 2 : notre adresse de destination appartient au réseau172.16.0.0/255.255.252.0. On transmet donc le paquet à la passerelle de la route 2 :172.16.0.4…

Notre routeur reçoit le paquet et se met à son tour à parourir sa table de routage. Par lemême processus, la route 1 est écartée, tandis que la route 2 prend en charge unréseau dont 172.16.1.2 fait partie. Cette route 2 indique que le trajet est direct : lapasserelle est 0.0.0.0, signifiant que le réseau est accessible sans routeurintermédiaire. Notre routeur transmet donc le paquet directement à 172.16.1.2 parl’interface wlan0.

L’hôte 172.16.1.2 reçoit un paquet IP qui lui est destiné. Notre paquet a bien été routé :le tour est joué !

Intéressons-nous maintenant au trajet du paquet allant de 10.42.42.69 à 192.168.0.3 :

Le paquet est créé sur 10.42.42.69, il faut parcourir sa table de routage : la route 1 necorrespond pas au réseau de destination, mais c’est le cas pour la route 2. Celle-ciamène à la passerelle 10.11.12.13, on transmet donc directement le paquet à cerouteur.

Le routeur reçoit un paquet dont la destination est 192.168.0.3. Il consulte lui aussi satable de routage : la première route convient ! Cette route permet d’accèder directementau destinataire du paquet : on transmet donc directement celui-ci sur l’interface eth0.

L’ordinateur 172.16.0.3 reçoit un paquet IP qui lui est adressé : mission accomplie !

On est maintenant en mesure de remarquer ceci : si l’on rajoute un nouveau réseau, mettons192.168.0.0/24, il est nécessaire de reconfigurer l’ensemble des hôtes (routeurs compris).En effet, aucune route ne couvre pour le moment ce réseau. Cependant, si tous les hôtes(routeurs non compris) ont une passerelle par défaut, alors il suffit de reconfigurer lesrouteurs seulement : les hôtes enverrons les paquets à destination de ce nouveau réseau àleur passerelle par défaut (un routeur, donc), et celui-ci saura comment les router.

Cette solution peut être satisfaisante, mais si le trafic est intense dans votre réseau, et quechaque réseau a accès à plusieurs routeurs (c’est-à-dire que votre réseau est bien maillé,n’est pas en forme d’étoile), il peut être intéressant de répartir le trafic en configurant lesroutes finement tel que les routes empruntées soient toujours les plus courtes. Pour faire uneanalogie, si on dit à tout le monde de passer par Paris, pour ensuite rediriger tout le mondesuivant la distination, il va y avoir beaucoup de trafic à Paris, et le jour où il y aura unaccident ou des embouteillages, plus rien ne fonctionnera. Toute la difficulté est alors derenseigner des panneaux un peu partout en France pour prendre le chemin le plus court (etde tenir ces informations à jour !), de sorte qu’un accident ne sera gênant que localement.On dit dans ce dernier cas que le réseau est acentré : il n’y a pas de centre, tous les nœudssont autonomes.

Notez au passage que des programmes destinés à créer des routes en fonction duvoisinnage, puis de les annoncer aux autres routeurs à travers le réseau existent. Cesprogrammes utilisent le vieux protocole RIP (Routing Information Protocol) ou le plus récent

Créer un réseau Wifi Ad-Hoc http://canartichaut.kawie.fr/creer-reseau-wifi-adhoc/

17 sur 20 15/11/2013 22:30

Page 18: Créer un réseau wifi ad hoc

OSPF (Open Short Path First). Comme les routes varient et sont générées automatiquement,on parle de routage dynamique par opposition au routage statique.

Configuration d’un routeur

La configuration d’un routeur simple se fait en deux parties (après bien sûr avoir configuré lesinterfaces réseau) : paramétrer les routes avec l’utilitaire route, puis configurer le pare-feuNetfilter avec l’utilitaire iptables (tous les deux avec les droits d’administrateur). Dans le casde notre réseau Ad-hoc, il faut forcément en guise de routeur un ordinateur qui puisse seconnecter au minimum à deux réseaux. Cet ordinateur a donc deux cartes réseau. Soit il adeux interfaces Wifi, auquel cas il ne reste qu’à configurer le routage proprement dit, soitvous avez deux ordinateurs, chacun ayant une carte Wifi et une carte Ethernet.

Configuration des autres postes

Deux possibilités : soit paramétrer chaque poste avec des routes bien spécifiques, soits’appuyer sur le serveur DHCP pour utiliser des routes par défaut sur tous les postes.

Pistes pour perfectionnerIl existe mille et une manière de peaufiner, d’améliorer, de rajouter, … Cette partie en donnequelques pistes qui peuvent être intéressantes dans notre contexte. La section suivante listedes liens vers des documentations utiles pour aller plus loin.

Partager une connexion Internet

Cette amélioration semble assez simple sur le plan technique, mais peut poser quelquesproblèmes niveau responsabilité. Il s’agit en fait de créer des routes par défaut pour tous leshôtes pour qu’au bout du chemin un routeur connecté au Wifi de l’école (par exemple) fassedu NAT (Network Address Translating). Il fait ainsi passer l’ensemble de votre réseau Ad-Hocpour lui-même aux yeux du PIE.

La solution du NAT est nécessaire puisque le Wifi n’a aucune route pour votre réseauAd-Hoc. Et c’est justement la faiblesse de l’opération : si des gens utilisent votre connexion àmauvais escient, vous en êtes responsable, puisque ça vient de votre connexion !

Augmenter la portée d’un réseau Wifi Ad-Hoc

Il existe des projets qui permettent de configurer automatiquement la table de routage enfonction des hôtes voisins dans un réseau Ad-Hoc (c’est du routage dynamique). Ainsi, si unordinateur A du réseau est hors de portée de l’ordinateur B, mais que l’ordinateur C capte lesdeux ordinateurs, alors un paquet devant aller de A à B transite par la passerelle C et arrive àdestination. Il faut pour cela faire l’installation et la configuration sur tous les postes.

Annoncer les services réseau avec ZeroConf

ZeroConf (pour Zero Configuration Networking) est un ensemble de protocoles conçus parApple. Comme son nom l’indique, ZeroConf permet aux ordinateurs en réseau d’annoncer lesservices qu’ils mettent à disposition (comme un serveur Web, une imprimante, …) de manièreà ce que chaque client ZeroConf sur le réseau puisse découvrir les services à disposition(Service discovery). ZeroConf permet aussi, au sein d’un même réseau seulement, d’utiliserdes noms de domaine sans serveur DNS : si votre ordinateur s’appelle gudul, alors les

Créer un réseau Wifi Ad-Hoc http://canartichaut.kawie.fr/creer-reseau-wifi-adhoc/

18 sur 20 15/11/2013 22:30

Page 19: Créer un réseau wifi ad hoc

ordinateurs utilisant ZeroConf peuvent obtenir son adresse IP à partir du nom de domainegudul.local., ce qui est fort pratique. Une autre possibilité offerte par ZeroConf est, dans unréseau local sans serveur DHCP de s’attribuer une adresse IP dans le réseau169.254.0.0/16.

Bien sûr, pour profiter des avantages de ZeroConf, il faut installer le nécessaire sur sonposte. Bonjour (anciennement appelé Rendez-vous) est le nom de l’implémentation deZeroConf sur Mac OS X, présente à partir de Léopard, il me semble (ou alors Tiger). SousGNU/Linux et les BSD (dont Mac OS X), l’implémentation s’appelle Avahi et est installée pardéfaut sur les distributions « grand public », tandis que sous Windows, ça n’a pas l’air trèssimple…

Il faut savoir que l’utilisation de ZeroConf sur un réseau est un plus : c’est en soi un nouveauservice (qui permet d’en découvrir d’autres), mais il n’est en rien indispensable. Les hôtes quine supportent pas ce protocole pourront tout de même utiliser le réseau, sans toutefoisprofiter des avantages de ZeroConf. Notez bien aussi que ce protocole se base massivementsur du multicast. Cela risque donc de ne pas passer certains routeurs suivant leurconfiguration (dans le cas où votre réseau est fragmenté). De plus, cela engendre un traficréseau plus important, ce n’est donc pas très courtois de l’utiliser sur un réseau sansautorisation de son propriétaire/administrateur. Mais dans le cas d’un réseau Ad-Hoc c’esttout à fait adapté. :-)

Ressources externesPour les curieux, il peut être intéressant de revoir en profondeur les notions abordées ici :d’autres documents le permettent depuis pas mal de temps ; j’en liste quelques uns.

Documentation sur le réseau

[Linux-france.org] Tutoriel sur les serveurs : documentation très complète de la mise enplace de la connexion Internet à l’installation d’un serveur sous Debian Gnu/Linux(guide et explications techniques)[NBS System.com] Howto Iptables / Netfilter : guide et explications techiques sur lepare-feu Netfilter sous Gnu/Linux[Elivieraj.free.fr] Firewall et sécurité d’un réseau personnel sous Linux[Vanaryon.eu] Ubuntu Server : introduction : petit guide sur l’installation des services lesplus courants pour Ubuntu (devrait être valable pour toute dérivée de Debian)

Documentation sur le Wifi

[fr.Wikipédia] Routage AdHoc : quelques pistes vers des protocoles spécialisés dans leroutage de réseaux Ad-Hoc. Suivre les liens amène à différents projets.

Documentation sur ZeroConf

[Geekfault.org] ZeroConf : Réseaux IP sans configuration : horizon rapide despossibilités de Zeroconf[Debian.org] Wiki : ZeroConf : portail des possibilités de ZeroConf sur Debian.Avahi.org : site officiel du projet Avahi.

RemerciementsUn grand merci à :

Créer un réseau Wifi Ad-Hoc http://canartichaut.kawie.fr/creer-reseau-wifi-adhoc/

19 sur 20 15/11/2013 22:30

Page 20: Créer un réseau wifi ad hoc

Léopold Baillard, pour sa courageuse relecture et ses précieux apports et corrections.

Créé début août 2010 et dernière mise à jour le 25 août 2010.

Site personnel de Pierre-Marie de RodatProduit avec hyde.

Créer un réseau Wifi Ad-Hoc http://canartichaut.kawie.fr/creer-reseau-wifi-adhoc/

20 sur 20 15/11/2013 22:30