Pourquoi relayer un Hotspot wifi?

– mes parents n’ont pas de connexion à internet (hormis un vieil accès RTC à Free qui marche encore et atteint 46Kbps avec le vent dans le dos, mais c’est lourdingue le RTC)
– ils n’ont ni l’intention ni l’intérêt de se prendre un abonnement ADSL (à payer tous les mois) pour l’usage qu’ils ont d’internet: pas d’usage de l’ordinateur et pas d’usage d’internet. Et je ne passe que de temps en temps chez eux.
– il y a deux hotspots Neuf WiFi dans leur village, et je suis client de Neuf/SFR (donc j’ai mes indetifiants pour y accéder). Mais on les capte difficilement (à 1% de signal, juché sur un escabeau avec le portable en bout de bras, et dans certains coins de la maison uniquement)
– je ne vais pas cracker le WEP du voisin d’à côté et qu’on reçoit très bien, car c’est illégal
pas moyen de s’arranger avec un voisin du village pour partager un abo ADSL via wifi. Je ne vais pas m’étendre sur ce point, mais dans ce village il n’y a vraiment pas moyen…
j’aimerai bien un accès à l’internet quand je passe chez mes parents. Ça me permettrait de rester des weekends plus étendus chez eux (car je travaille avec le net) et de les initier un peu aux joies du réseau (d’abord web et e-mails).

Bref pour moi la meilleure solution, la plus flexible, la moins couteuse est d’attraper le signal du hotspot Neuf WiFi trop éloigné (via un routeur wifi) et de le relayer jusqu’à la maison avec un signal acceptable.

La solution passe par DD-WRT

Pour ceux qui ne connaissent pas dd-wrt, il s’agit d’un firmware alternatif à noyau linux, porté sur pas mal de routeurs wifi (notamment ceux à base de chipset Broadcom ou Atheros). Ce firmware permet d’utiliser pleinement son routeur bien au-delà des fonctionnalités généralement incluses en standard (qui représentent à peine 10% de ce que votre routeur est capable de faire).
Il possède, entre-autre, une fonctionnalité bien sympathique nommée Universal Wireless Repeater, qui va bien me servir.

D’abord il vaut mieux se documenter un peu sur ce qu’est DD-WRT grâce au wiki dédié, puis trouver du matériel compatible grâce à la base de données des routeurs ou à la liste du wiki à propos des routeurs supportés qui me semble plus à jour.
Lire, lire et lire!!! Il y a des méthodes différentes de flashage pour certains routeurs (certaines très simples, d’autres très lourdes et délicates), des versions différentes de dd-wrt selon les routeurs, leur chipset et capacité en ram et cpu… Une mauvaise manipulation, une mauvaise version et vous pouvez flinguer votre routeur (to brick a router). Flasher le firmware d’un matériel n’est jamais une opération anodine!
Bref n’hésitez pas à vous documenter, bien parcourir le forum, le wiki, les pages de wiki et topic du forum dédiées à votre matériel, les avertissements… avant de vous lancer.

Évidemment flasher son routeur vous fait perdre la garantie, donc à ne pas faire sur du matériel neuf si vous n’êtes pas prêt à en assumer les conséquences. Mieux vaut utiliser un routeur qui ne vous sert plus, ou trouver une bonne affaire en occasion.

Note: je ne ferai aucun support dans les commentaires aux gens ayant deux mains gauches et un demi cerveau, qui n’arrivent pas à respecter les procédures à la lettre et à installer et/ou utiliser dd-wrt. Il y a des milliers de pages et de ressources, de nombreux sujets de discussion sur les wiki et forums, donc apprenez à lire… et Google est aussi votre ami.

Universal Wireless Repeater (répéteur sans fil universel)

C’est cette fonctionnalité de DD-WRT qui nous intéresse ici. Elle est décrite entièrement sur le wiki pour les routeurs à base de chipset Broadcom.

Grosso-modo (je ne vais pas vous refaire la page du wiki), en mode Repeater cela consiste à utiliser votre interface réseau wifi comme un client wifi qui se connectera à une autre borne (pour récupérer l’accès au net), puis de créer sur cette même interface une autre interface réseau, virtuelle cette fois-ci, et qui fonctionnera comme un point d’accès et enfin de « bridger » le tout.
L’interface virtuelle sera donc votre « borne wifi » sur laquelle vous connecterez vos ordinateurs, avec son SSID propre et sa sécurité propre (à définir selon vos envies), sa fonction de routage et d’adressage DHCP commun avec les ports LAN de votre routeur (bref le nœud central de votre réseau local). Tandis que l’interface réelle servira tout simplement de port WAN au routeur.

Dans la partie « Wireless Security » vous pouvez définir la sécurité: aucune sécurité sur l’interface wifi principale, puisqu’elle doit se connecter à un hotspot ouvert, et choisissez la sécurité qui vous semble la plus appropriée (WEP=beurk, WPA, WPA2,…) pour votre réseau wifi personnel sur l’interface virtuelle.

Une note toutefois, l’adressage IP fournit par les hotspots Neuf WiFi/SFR WiFi Public sont en 192.168.2.x, donc veillez à mettre la partie réseau local sur une plage d’IP différente (en 192.168.10.x ou 10.0.0.x, etc…) dans Setup > Basic Setup > Network Setup.

J’avais trouvé un bon candidat avec le routeur wifi Linksys WRT150N: flashage vers dd-wrt simplifié, chipset Broadcom, deux antennes. Cependant la puce wifi semble grillée (aucun fonctionnement ni avec le firmware original Linksys, ni avec DD-WRT, la LED du wifi s’allume à moitié), il a du subir un choc électrique.

Je me suis alors rabattu sur le recyclage d’une Fonera (1ere du nom): Fonera 2100, chipset Atheros, une seule antenne. Le flashage de ce petit routeur vers DD-WRT n’est pas simple, mais en suivant bien la procédure on y parvient. Et la fonction « Universal Wireless Repeater » n’est pas supportée pour les routeurs à base de chipset Atheros, cependant une alternative existe.

Pour la Fonera, on fait tout comme décrit la procédure UWR du wiki, excepté dans la partie Wireless > Basic Settings.
La Fonera ne dispose pas du mode « repeater », on va donc configurer l’interface physique comme client et créer une interface virtuelle à laquelle vous donnez le nom de votre choix (SSID) et qui servira à votre réseau wifi personnel, et mettre le tout en « Bridged » (Pas la peine de mettre de nom à Wireless Network Name pour l’interface physique pour l’instant, on verra dans la partie suivante pourquoi).

Grosse limite avec la Fonera: étant donné que c’est une manière atypique d’utiliser le wifi et que ce n’est pas un mode répéteur naturel, l’existence et le fonctionnement du réseau wifi sur l’interface virtuelle sont conditionnés par le fait que l’interface physique soit connectée à une borne. En mode répéteur, dans le fonctionnement normal les deux sont indépendantes et votre interface virtuelle (et son réseau wifi) fonctionne même si la physique n’est pas connectée.. Donc tant que la fonera n’est pas connectée au hotspot le réseau wifi perso fonctionne pas.
Donc pour l’étape qui suit « Attraper le hotspot », il faut vous brancher à la fonera par cable RJ45 au port LAN, car vous ne pourrez pas y accéder en wifi tant que votre fonera ne sera pas connectée au hotspot et n’aura pas reçu une adresse IP de sa part.

Attraper le hotspot

A vous de trouver le meilleur endroit pour placer votre routeur ou orienter l’antenne. Conseil: dans un grenier c’est souvent un bon choix, car les tuiles gênent moins les ondes wifi que les murs en béton armé, les volets roulants en aluminium, les fenêtre anti-UV, interférences électromagnétiques diverses, etc… d’une maison, et puis il y a moins d’obstacle en ligne de mire si vous êtes situé un peu en hauteur. Personnellement, j’ai mis à profit la cabane de jardin de mon père où il range ses outils: un peu distante de la maison, en direction du hotspot à relier et il y a une prise électrique.

Neuf/SFR a mis en place quelque chose qui va s’avérer un outil bien utile dans notre histoire: une carte des hotspots accessibles au clients Neuf/SFR, sous Google Maps. Donc vous pouvez zoomer, passer en mode satellite ou hybride et repérer où se situent les hotspot par rapport à votre maison. C’est bien pratique pour ensuite sur le terrain estimer les bâtiments ou le relief qui peuvent bloquer les ondes, et donc positionner et orienter au mieux votre antenne.

Je vous conseille fortement de vous munir d’une antenne directionnelle (Yagi ou parabolique), ou de vous en fabriquer une. Si les ou l’antenne de votre routeur n’est pas démontable pour la remplacer par une directionnelle, vous pouvez toujours vous fabriquer pour 0€ des réflecteurs directionnels, ça donne de bons résultats.
Pour la Fonera, je me suis équipé de la Fontenna. Cette antenne conçue par Fon est de la vrai daube car elle n’amplifie pas terriblement (bien en deçà de ce qui est annoncé sur la papier), mais elle présente deux avantages de poids: elle rayonne beaucoup vers l’avant (pour choper le signal du hotspot) et un peu vers l’arrière (assez pour couvrir correctement ma maison qui est juste à proximité) et surtout elle est totalement étanche (pour être placée en extérieur à distance, avec le routeur bien à l’abri des intempéries).

Réglez votre interface wifi principale (dans Wireless / Basic Settings) sur le canal 11. Les hotspots Neuf WiFi / SFR WiFi Public sont toujours sur ce canal, donc ça ne sert à rien de perdre du temps inutilement à scanner tous les canaux (et ça évitera que le routeur re-scanne tout s’il perd le signal).
– Pour les chipset Broadcom c’est Wireless Channel à 11
– Pour les chipset Atheros c’est ScanList à 2462 (2462 c’est la fréquence en Mhz du canal 11)

Appliquez les modifications, puis allez dans le menu Status > Wireless, tout en bas de la page un bouton Site Survey vous permet de voir la liste des point d’accès qui ont été repérés lors des scans et leur niveau de signal. Vous pouvez alors affiner l’orientation de votre antenne afin d’avoir le meilleur signal possible pour Neuf WiFi ou SFR WiFi Public (c’est la même chose mais privilégiez « SFR WiFi Public », car je pense que Neuf WiFi va disparaitre à terme pour ne laisser visible que la marque SFR). Puis cliquez sur « join » afin de définir le hotspot voulu comme point d’accès.
On aurait pu juste mettre le nom du SSID du hotspot directement à la main dans la partie Wireless > Basic et le laisser se connecter tout seul (c’est ce que fait l’action « join »), mais passer par Site Survey et Join permet de s’assurer de deux choses:
– éviter les fautes de frappe dans le nom du SSID (et notamment les majuscules…)
– s’assurer que l’antenne est globalement orientée dans la bonne direction et que votre box voit déjà un ou des signaux wifi.

Votre petit relais va se connecter au SSID défini (le hotspot) et obtenir une adresse IP WAN automatiquement, affichée en haut à droite de votre interface de gestion.

Cette image n’est pas représentative, vous aurez une IP du style 192.168.2.x

Note: par la suite une fois connecté au hotspot vous pourrez aussi voir le niveau de signal (et encore affiner l’orientation de l’antenne) depuis le menu Status > Wireless, en bas de page le niveau et la qualité du signal.

Si jamais votre relais se déconnecte il rescannera automatiquement le canal 11 (car on a pris la précaution précédemment de ne limiter qu’à ce canal) et cherchera à se connecter toujours au même hotspot par son SSID.

Voilà, le gros du boulot est fait. Désormais tout est automatique. Votre relais sera constamment connecté en wifi au hotspot (s’y reconnectera automatiquement de temps en temps pour renouveler l’IP en DHCP), et votre wifi local est actif et diffuse sur le même canal 11 avec un nom de réseau que vous avez défini (SSID) et sa sécurité propre (je vous recommande WPA2). Donc vous seul où ceux à qui vous aurez donné le mot de passe pourront s’y connecter.

Connectez-vous à votre relais en wifi (votre ordinateur va alors se voir attribuer une adresse IP locale), ouvrez votre navigateur web et allez sur n’importe quelle adresse web (ex: www.google.fr). Vous allez alors être redirigés sur la page du portail https://hotspot.neuf.fr

Vis-à vis de Neuf WiFi comment ça marche?

Les hotspot Neuf WiFi / SFR Wifi Public installés sur les neufbox de chaque clients sont en fait des portails captifs basé sur chillispot.
Une fois connecté au hotspot vous ne pouvez aller nulle part sur internet excepté sur la page d’authentification (tout autre trafic est bloqué). Utilisez alors vos identifiants Neuf ou SFR, les mêmes que pour vous connecter à votre interface client sur www.sfr.fr et consulter vos factures.

Cette authentification s’effectue sur un serveur RADIUS centralisé de SFR/Neuf (donc même pas la peine d’essayer de hacker le hotspot, pour les plus brute-force d’entre-vous). Une fois authentifié sur le serveur radius, celui-ci autorise sur le hotspot votre machine via son adresse MAC à avoir accès au reste d’internet, pendant une session de 2h.
Le truc bien c’est que dans le cas d’un répéteur de wifi, c’est l’adresse MAC de votre borne qui est utilisée et validée. Donc tous les clients connectés sur votre borne wifi auront accès au net durant cette session, puisque votre borne fait client wifi d’un côté vis-à-vis du hotspot Neuf WiFi et routeur de l’autre côté sur votre réseau wifi à vous pour vos ordinateurs ;) .

J’ai pu tester avec 3 ordinateurs connectés simultanément en wifi sur mon relais , ça marche nickel. Il suffit que l’un d’entre-eux ait initié une session pour que les autres aient accès au net sans besoin de faire quoi que ce soit.

Bien-sur, Neuf WiFi est extrêmement limité: le nombre de ports ouverts est ridicule, c’est juste bon pour faire du web (80 et 443) et du mail non sécurisé et c’est tout (on verra comment contourner ça dans un prochain article). Au niveau bande-passante le propriétaire de l’abonnement ADSL et de la box est toujours prioritaire et il ne vous restera que ce qui ne sera pas utilisé par lui.

Je vous déconseille fortement de passer vos identifiants Neuf/SFR à des personnes dont vous n’avez pas une extrême confiance!!! Car avec vos identifiants, on peut aller sur l’interface client de gestion de votre compte, récupérer vos informations personnelles (adresse, facturation, liste des appels téléphoniques), intercepter vos communications téléphoniques, changer votre compte, commander ou annuler des fonctionnalités ou des options payantes, régler des achats dans des boutiques en ligne. Donc à part si vous souhaitez laisser la porte ouverte au vol de votre identité, de vos informations et vous récupérer une facture ADSL de 3000€, ne partagez pas vos identifiants avec des inconnus (ou avec des proches de peu de confiance qui risquent de les refiler à des inconnus)!

Par la suite…

Il faut que j’enquête un peu, mais vu que DD-WRT permet de passer des commandes en cli et utiliser cronjob, peut-être est-il possible d’automatiser l’authentification au portail du hotspot grâce à curl et ne plus rien avoir à faire manuellement.

L’installation chez mes parents fait parti d’un plan en trois temps:
1. récupérer un hotspot « Neuf WiFi » en relais
2. initier mes parents à l’usage d’un ordinateur et de l’internet (OS libre inside)
3. dépasser les limites et restrictions (à la mode chinoise) de Neuf WiFi pour réellement travailler depuis de tels hotspots grâce à OpenVPN et ne pas faire que du www sur son minitel nouvelle génération.