D'Airport, de la Livebox et du protocole UPNP/NAT-PMP

mercredi 12 mars 2008

Voici un nouvel article sur la mise en place d'un réseau local avec une Livebox et une borne Airport, sujet qui fait décidément couler beaucoup d'encre - si je puis dire. Dans mon précédent article sur le sujet, "D'Airport et de la Livebox" du 5 janvier 2005, j'ai montré comment paramétrer la Livebox avec une borne Airport Express destinée à diffuser de la musique par AirTunes. Aujourd'hui, la problématique est un peu différente : il s'agit d'ajouter au réseau un nouveau service logiciel inconnu de la Livebox. En effet, les nouvelles technologies mises en oeuvre par Apple dans ses derniers périphériques (Airport Extreme, Time Capsule, etc.) et dans ses nouveaux logiciels (Mac OS 10.5 Leopard, iChat, Back To My Mac, etc.) nécessitent l'ouverture et le routage de nombreux ports logiciels, soit manuellement soit par le biais du protocole UPNP/NAT-PMP, ce que la Livebox ne permet pas de réaliser.

Voici un nouvel article sur la mise en place d’un réseau local avec une Livebox et une borne Airport, sujet qui fait décidément couler beaucoup d’encre - si je puis dire. Dans mon précédent article sur le sujet, «D’Airport et de la Livebox» du 5 janvier 2005, j’ai montré comment paramétrer la Livebox avec une borne Airport Express destinée à diffuser de la musique par AirTunes. Aujourd’hui, la problématique est un peu différente : il s’agit d’ajouter au réseau un nouveau service logiciel inconnu de la Livebox. En effet, les nouvelles technologies mises en oeuvre par Apple dans ses derniers périphériques (Airport Extreme, Time Capsule, etc.) et dans ses nouveaux logiciels (Mac OS 10.5 Leopard, iChat, Back To My Mac, etc.) nécessitent l’ouverture et le routage de nombreux ports logiciels, soit manuellement soit par le biais du protocole UPNP/NAT-PMP, ce que la Livebox ne permet pas de réaliser.

Sur les déficiences de la Livebox

Nous cherchons à utiliser des services qui nécessitent la redirection de nombreux ports, ou de nombreuses plages de ports. Pour garantir l’ouverture et la bonne direction de ces ports, il existe deux solutions : la redirection manuelle et l’utilisation du protocole UPNP/NAT-PMP.

La redirection manuelle présente un inconvénient de principe : si le routeur est configuré pour rediriger tel et tel ports vers une adresse IP locale déterminée, il faut modifier cette adresse chaque fois que l’on souhaite utiliser le service passant par ces ports sur un ordinateur différent. Cela nécessite bien souvent un redémarrage du routeur (c’est le cas pour la Livebox et pour les bornes Airport ; ce n’est pas le cas, par exemple, pour les routeurs Netgear), opération fastidieuse et assez pénible à réaliser plusieurs fois par jour. En d’autres termes, et pour schématiser, on a MacPro à l’adresse 10.0.1.1 et MacBook à l’adresse 10.0.1.2 ; on redirige le port 8000 (par exemple) vers MacPro. Si l’on veut utiliser le logiciel qui nécessite ce port sur MacBook, on devra rediriger le port 8000 vers 10.0.1.2.

Jusqu’à présent, il y avait une solution très simple à ce problème : il suffisait de paramétrer le logiciel concerné différemment sur les deux ordinateurs, de manière à ce qu’il n’utilise pas le même port. Pour reprendre l’exemple précédent, il aurait suffi d’utiliser le port 8000 sur MacPro et le port 8001 sur MacBook. Néanmoins, la solution n’est pas très convaincante dans le cas de la Livebox : celle-ci ne permet en effet que de rediriger simultanément un certain nombre, peu élevé, de ports. Ou, plus exactement, la Livebox ne permet que de définir un petit nombre de règles de redirection NAT. Autrement dit, la liste est vite pleine, et on en revient à la première procédure qui nécessite d’opérer sans cesse des changements manuels dans la configuration du routeur.

Aujourd’hui, certains services nécessitent la redirection de nombreux port qu’il est impossible de modifier. La seule solution est alors d’utiliser la méthode de redirection automatique, à la volée, désignée sous le nom de UPNP (pour Universal Plug aNd Play dans le monde Windows) ou de NAT-PMP (monde Mac). Parmi les services concernés, on trouve notamment Back To My Mac qui précise bien dans la configuration requise : «une borne d’accès AirPort ou un routeur Internet tiers gérant UPnP ou NAT-PMP». C’est aussi le cas de nombreux services de vidéoconférence, comme iChat. Mais voilà : la Livebox ne gère par l’UPNP/NAT-PMP.

Solution : utilisation d’une borne Airport Extreme

La solution aux problèmes précédemment décrits passe par l’utilisation d’une borne Airport Extreme qui, elle, gère parfaitement le protocole UPNP/NAT-PMP.

Cependant, ce n’est pas si simple que cela en a l’air. La Livebox est un routeur, tout comme la borne Airport. Or, deux routeurs ne peuvent pas cohabiter à moins de partager le même réseau (comme c’était le cas dans le précédent article «D’Airport et de la Livebox»), ce qui signifie que l’un d’entre eux s’incline devant l’autre.

La solution traditionnelle est de paramétrer l’un des deux routeurs en mode pont (ci-après, «bridge»). Le routeur paramétré en mode bridge ne «route» plus. Il ne fait que transmettre le signal, que l’autre routeur se charge de router. Autrement dit, dans le cas de la Livebox, le passage en mode bridge signifie l’abandon des fonctions de routeur : l’appareil n’est plus qu’un simple modem ADSL. La solution parfaite serait donc de paramétrer la Livebox en mode bridge pour que la borne Airport Extreme puisse faire office de routeur et mettre en oeuvre UPNP/NAT-PMP.


bridge1

Comme il est assez courant en informatique, aussitôt un problème résolu c’est un nouveau problème qui se présente : la Livebox Sagem ne peut pas passer en mode bridge. Elle est bridée à cet égard aussi. La Livebox Inventel le permet, paraît-il (à vérifier). Or, j’ai une Livebox Sagem (quelle chance !).

Mettre la borne Airport en mode bridge, comme elle le propose automatiquement dans l’assistant de configuration, ne permet pas de résoudre le problème : tant que la Livebox est le routeur du réseau, c’est elle qui assigne les IP locales et filtre les ports, et l’UPNP/NAT-PMP ne peut être activé.


bridge2

Il faut donc trouver une troisième solution. Elle est beaucoup plus complexe, tant en théorie que dans sa mise en oeuvre, mais elle fonctionne. Il s’agit de créer deux sous-réseaux : le réseau classique de la Livebox, avec des adresse IP locales sous la forme 192.168.0.X, qui fera office de «leurre», et le véritable réseau sur lequel se trouvent les ordinateurs, géré par la borne Airport avec des adresses IP locales d’une autre forme. Pour la suite de la démonstration, nous utiliserons des adresses de la forme 10.1.0.X, mais la borne Airport permet de choisir d’autres syntaxes.


bridge3

Dans ce réseau, la Livebox possède une adresse locale en tant que routeur : 192.168.1.1. Son port rouge est relié à la borne Airport Extreme, à laquelle est assignée l’adresse 192.168.1.2. A son tour, la borne Airport assigne une adresse dans la plage 10.1.0.2-10.1.0.10 (par exemple) à chacun des appareils connectés à elle.

Mise en oeuvre

La première chose à faire est de désactiver le serveur DHCP et la diffusion du signal WIFI de la Livebox. Ainsi, la borne Airport sera le seul périphérique connecté à la Livebox, avec toujours la même adresse IP locale. Pour ce faire, il faut se rendre dans l’interface d’administration de la Livebox avec un navigateur (Safari, Firefox, etc.) : 192.168.1.1. On se connecte grâce à un nom d’utilisateur et à un mot de passe qui, s’ils n’ont pas été changés, sont admin et admin. Une fois connecté à l’interface d’administration, on choisit la section Paramétrage LAN & DHCP, puis on clique sur le bouton Arrêter. La page se recharge et le bouton Arrêter s’est transformé en bouton Démarrer. On répète ensuite l’opération en cliquant sur le bouton Arrêter de la section Réseau sans fil. Il ne reste plus qu’à sauver les modifications et à redémarrer la Livebox.

Pour toutes les images ci-dessous : cliquez pour agrandir


Image 9

Image 2
Il faut ensuite paramétrer la borne Airport. On lance alors l’Utilitaire Airport (dans Applications/Utilitaires) et on sélectionne la borne désirée. On affiche l’onglet Internet, Connexion à Internet des paramétrage avancés et on remplit les champs comme suit :
Configurer IPv4 : Manuellement
Adresse IP : 192.168.1.2
Masque sous-réseau : 255.255.0.0
Adresse du routeur : 192.168.1.1
Serveur(s) DNS : 192.168.1.1
Partage de connexion : Partager une adresse IP publique

Image 3
On passe ensuite sur le prochain onglet de la section Internet des paramètres avancés de la borne Airport : DHCP. Il faut ici paramétrer le serveur DHCP de la borne Airport. Il est impératif d’utiliser une plage d’adresses différente de la plage réservée pour le réseau de la Livebox (en l’occurrence, les plages réservées sont 192.168.1.X, on utilisera donc les plages 10.0.1.X proposées par la borne Airport). On peut choisir une plage de 2 à 254 ports. Ici, nous avons choisi de réserver la plage entre 1 et 10 et 100, ce qui laisse de nombreuses adresses libre pour un total de 90 appareils susceptibles de rejoindre le réseau. On remplira les champs de cette manière :
Plage d’adresses DHCP : 10.0.1.x
Première adresse DHCP : 10.0.1.10
Dernière adresse DHCP : 10.0.1.100
Réservations DHCP : On peut laisse cette option vide ou, si nécessaire, spécifier que tel ordinateur devra toujours se voir assigner la même adresse IP locale. Les ordinateurs sont identifiés grâce à leur adresse MAC. On peut trouver cette adresse dans les Préférences système du Mac, section Réseau, cliquer sur le périphérique concerné, puis sur le bouton Avancé et, enfin, dans la page qui s’ouvre, sur l’onglet Ethernet pour une connexion Ehternet (par câble) ou Airport pour une connexion Wiki. L’adresse MAC sera présentée soit sous le nom ID Ethernet soit sous celui de Identifiant AirPort. Dans la capture d’écran ci-contre, l’adresse 10.0.1.10 est réservée à mon ordinateur fixe, MacPro.

Image 4
Le protocole UPNP/NAT-PMP s’active très facilement. Il suffit de cocher la case Activer le protocole de mappage des ports NAT dans l’onglet NAT de la section Internet des paramètres avancés de la borne Airport.

 

Image 5
Il est possible de rediriger des ports «manuellement» pour les logiciels qui ne gèrent pas le protocole UPNP/NAT-PMP. Pour ce faire, il suffit de cliquer sur le bouton Configurer les mappages de ports… et de suivre les instructions. Deux fenêtres de configuration se succèdent : la première demande de choisir un service préconfiguré dans la liste ou de rentrer manuellement les ports à rediriger. Dans l’exemple ci-contre, on redirige le port 8030 vers MacPro, c’est-à-dire vers 10.1.0.10. Il faut pour cela entrer la valeur 8030 dans les champs des Ports UDP et TCP publics et privés, et de rentrer l’adresse précitée dans le champ «Adresse IP privée».

Image 6
Il ne reste plus qu’à définir le nom du service, comme MacPro Azureus dans l’exemple présenté ici. On valide ensuite la configuration et on redémarre la borne Airport. Le port sera désormais redirigé.

 

Image 1
La configuration de la borne Aiport est achevée. Il ne reste plus qu’à configurer l’accès Internet des ordinateurs reliés à cette borne. Sous Mac, on se rendra dans la section Réseau des Préférences Système (menu Pomme). Il faudra double-cliquer sur le mode de connexion désiré (Ethernet, Airport, etc.) et paramétrer la connexion soit en DHCP (comme sur la capture d’écran ci-contre), auquel cas le Mac devrait réaliser le configuration tout seul ; soit manuellement en choisissant une adresse IP locale dans la plage allouée par la borne Airport (i.e. 10.0.1.X), en spécifiant l’adresse de la borne Airport (10.0.1.1) dans les champs Routeur et Serveur DNS, et en choisissant le masque sous-réseau 255.255.255.0.

Image 8
Pour tester si votre connexion fonctionne et si les ports sont correctement redirigés, vous pouvez utiliser le Test de redirection des ports Valhalla.fr disponible à l’adresse suivante : http://asgard.valhalla.fr/nat.php