Bienvenue sur fonHero Site non affilié à FON

La FONERA est un petit routeur wifi, vous l'avez chez vous, elle distribue le wifi en privé et en public, simplement.

Avez-vous déjà désiré que votre FONERA soit plus personnalisable ? Qu'elle héberge votre site web local ? Voulez-vous vous en servir pour piloter vos sites web distants ? Ou bien couper le canal public mais conserver votre statut Linus ?

Au prix de quelques modifications logicielles, tout est cela est réalisable. Avec n'importe quelle FONERA, quelque soit son ancienneté. Gratuitement.

Présentation

La FONERA est un routeur de faible coût - fabriqué par la société espagnole FON - vous offrant le wifi dans votre foyer, et aussi publiquement aux passants sur un canal dédié. Côté privé, la FONERA est un simple boitier branché au cul de votre modem et permettant d'accèder à Internet et partager vos contenus numériques entre ordinateurs. Les échanges sont protégés par cryptographie. Côté public, les passants à portée de la FONERA peuvent accéder à Internet, les accès sont enregistrés automatiquement chez FON pour des raisons de responsabilités légales. Pourquoi offrir Internet aux passants ? Soit comme utilisateur Linus : vous offrez chez vous Internet aux passants et en échange partout dans le monde, vous avez accès aux autres FONERA donc Internet, des centaines de milliers de hotspots gratuits ! Soit comme utilisateur Bill, l'accès à votre FONERA est payant (3 euros) et la moitié vous est reversée, l'autre touchée par FON.

Technique

Un boitier où tout est réduit : encombrement, consommation électrique, portée wifi (changez l'antenne), et même puissance du processeur. Mais même avec cette puissance limitée, on peut tirer des usages satisfaisants. Quelques dizaines de Mhz pour le CPU, quelques Mo pour la mémoire, un Uni* pour OS, voilà le terrain de jeu !

Préambule

Toute action menée est de votre responsabilité. Si par un procédé vous enfreignez la législation ou rendez inutilisable votre FONERA vous ne vous en prendriez qu'à vous-même. Tous ces contenus ont un but didactique et nécessite des connaissances techniques parfois non élémentaires. Je décline toute responsabilité, vos actes n'engagent que vous.

Libérez la FONERA

Toute opération logicielle décrite dans la suite de ce document nécessite un accès terminal sécurisé : un tunnel SSH autrement dit. Si votre FONERA est déjà connectée à Internet, même une seule journée, elle s'est mise à jour automatiquement. Vous devez reproduire la dernière procédure : la modification DNS qui fera télécharger à votre FONERA une mise à jour officieuse. Consultez le site de Stefan.

Pour simplifier, et en français, dans votre interface d'administration de la FONERA, passez en connection internet statique (et pas DHCP), renseignez IP/masque/gateway et entrez ce DNS : 88.198.165.155. Validez. Patientez une minute, rebootez la FONERA.

Quand cela sera fait, connectez-vous, activez le SSH permanent :

ssh root@192.168.10.1
mv /etc/init.d/dropbear /etc/init.d/S50dropbear

Ouvrez le fichier firewall.user et décommentez les lignes 22 et 23 :
vi /etc/firewall.user
iptables -t nat -A prerouting_rule -i $WAN -p tcp--dport 22 -j ACCEPT
iptables -A input_rule -i $WAN -p tcp--dport 22 -j ACCEPT

Retournez remettre le DNS d'origine de FON (213.134.45.129) dans l'interface d'admin, validez, patientez une minute. Rebootez la FONERA. Pensez à désactiver les mises à jour automatiques, c'est expliqué ici chez Stefan. Comment fait-il ? Il ouvre le fichier /bin/thinclient :
vi /bin/thinclient

Et commente la dernière ligne :
### Don't execute code from FON
# . /tmp/.thinclient.sh


Hébergez votre site local

La FONERA dispose de fonctions limitées : un serveur Web (lighttpd) qui n'est pas Apache ! Oubliez les langages tels PHP, PYTHON, ASP...Vous n'auriez même pas la place d'installer les binaires ! Eh oui, environ 6 Mo de libre pour votre site, c'est riquiqui. Python à lui seul remplit plus que que cela. Qu'importe ! Si vous voulez juste héberger quelques pages localement, c'est possible. Des pages pour toute la famille si la FONERA et dans votre foyer, ou des pages pour vos adhérents si la FONERA est dans un local associatif. A vous de trouver les idées et de surveiller l'espace libre :)

Identifiez l'espace dispo sur votre FONERA :

df -h

Sur /tmp en méga, c'est l'espace dont vous disposez :
Filesystem Size Used Available Use% Mounted on
none 7.0M 44.0k 6.9M 1% /tmp

Mettre en ligne votre site :
- connectez-vous avec un outil comme WinSCP (pour Windows) en précisant pour serveur : IP de la FONERA (192.168.10.1 par défaut), login (root), mot de passe (celui de l'interface web)
- positionnez-vous dans /www
- vous renommerez le fichier index.html pour ne pas le perdre, par exemple en firmware.html, vous n'effacerez aucun fichier ou répertoire de /www (les rapatrier sur votre ordinateur pour sauvegarde est une bonne idée)
- vous placerez vos fichiers HTML et divers (javascripts, répertoires d'images) dans /www
- vous visiterez votre site à cette adresse : http://192.168.10.1 (par défaut)

Le fichier firmware.html vous permet d'accéder à la configuration de la FONERA, donc il est utile. Vous y accéderez par http://192.168.10.1/firmware.html

Votre site est local : c'est-à-dire inaccessible depuis Internet. Voudriez-vous ouvrir votre site au monde entier ?

Ouvrez votre site au monde

Si vous estimez que votre site sera peu fréquenté, il est envisageable d'en ouvrir l'accès. Cela serait naïf de penser que la FONERA puisse héberger un site très fréquenté. Des centaines de gens ne pourraient visiter votre site simultanément ! Mais si votre envie est juste de partager quelques pages avec la famille distante, alors pourquoi recourir à un hébergeur si vous besoins sont limités ? Hébergez-vous vous même ! Pour cela, vous allons modifier la confguration du parefeu pour autoriser les accès extérieurs uniquement sur le port 80, dédié au site web.

Editez le fichier firewall.user :

vi /etc/firewall.user

Et ajoutez à la fin les lignes suivantes :
iptables -t nat -A prerouting_rule -i $WAN -p tcp --dport 80 -j ACCEPT
iptables -A input_rule -i $WAN -p tcp --dport 80 -j ACCEPT

Rebootez votre FONERA et voilà ! Si vous constatiez des perturbations d'accès à Internet, cela pourrait être du à de trop nombreux accès extérieurs, votre FONERA n'est pas une bête de course. Il faudrait renoncer à ouvrir votre site sur le monde....

Pour savoir l'occupation processeur :
uptime

Regardez les nombres après loadavg, ils sont la charge moyenne de :
- la dernière minute,
- des 5 dernières minutes
- des 15 dernières minutes

S'ils sont compris entre 1.0 et environ 2.0, tout va bien, ce ne sont pas les accès à votre site, peut-être votre fournisseur d'accès à Internet qui a un soucis ? Si la charge est élevée (largement supérieure à 2.0), alors il faut commencer à s'interroger. Coupez l'accès à votre site web : ouverture du fichier firewall.user, supression des lignes ajoutées, reboot. Utilisez de manière habituelle votre FONERA et passé un quart d'heure, regardez les chiffres de charge. S'ils sont revenus à des valeurs normales, c'était bien votre site, à vous de voir ce que vous voulez faire. Si les charges restent élevées, c'est un autre problème : n'avez-vous pas bidouiller votre FONERA n'importe comment ?

Pilotez vos sites Web

Vous avez sûrement un site, peut-être plusieurs chez votre FAI ou chez un pro. Mais comment faire pour déclencher automatiquement à heure fixe un script ? Disons que vous voulez lancer un script de sauvegarde de base de données chaque matin à 6h00, comment faire ? Soit vous louez déjà un serveur dédié chez un pro et vous avez accès à CRON. Dans ce cas, c'est bon. Sinon vous pouvez vous rabattre sur le site webcron.org mais son fonctionnement est parfois erratique. Ou alors utilisez votre FONERA !

Un ajout dans la crontab de root, c'est si simple. Si vous n'êtes pas familiers avec la crontab : go->google.

Editez la crontab de root :

crontab -e

Demandez à sauver la base tous les jours à 6h00
0 6 * * * wget http://www.monsite.com/sauverbase.php

Si vous laissez la FONERA en mise à jour automatique, sachez que la crontab peut être altérée et vos ajouts disparaître.

Personnalisez votre FONERA

Pour pouvoir régler finement la FONERA, utilisez le firmware FRANCOFON. C'est juste un ensemble de scripts qui ajoutent des possibilités sympa comme les réglages suivants :
- DHCP statique
- puissance d'émission de l'antenne
- ajouts de DNS
- configuration DynDNS
- reboot à distance
- firewall avancé
et bien d'autres

Pour installer ce paquetage, reportez-vous à leurs consignes. Elle se limitent à un téléchargement, une décompression, une exécution et voilà. Instructions.

Attention : si vous avez votre site perso sur votre FONERA, FRANCOFON va écraser index.html dans /www, pensez à le renommer temporairement en mon-index.html. Installez FRANCOFON. Renommez index.html de FRANCOFON en firmware.html. Renommez mon-index.html en index.html, tout rentre dans l'ordre...

Connaître la version de sa FONERA

Connectez-vous en SSH sur votre FONERA adorée et consultez le fichier mis à disposition par FON :

cat /etc/banner

Vous obtenez quelque chose de ce genre :
 _______  _______  _______ 
|   ____||       ||   _   |
|   ____||   -   ||  | |  |
|   |    |_______||__| |__|
|___|

 Fonera Firmware (Version 0.7.2 rev 2) -------------
  * 
  * Based on OpenWrt - http://openwrt.org
  * Powered by FON - http://www.fon.com
 ---------------------------------------------------

Coupez le WIFI public

La FONERA diffuse deux signaux, un privé pour vous, un public pour tous. Si vous avez des déconnexions régulières du wifi privé, ou si comme moi, passé plusieurs jours, la connexion devient impossible, et vous êtes obligés de rebooter la FONERA pour vous connecter, vous avez peut-être envie de couper le signal public. Car cela résoud le problème : deux signaux wifi sur exactement le même canal n'est pas toujours bien supporté par le matériel...

Ou alors, vous voulez être Linus (profiter d'Internet partout) sans offrir le vôtre. Pas très citoyen comme pratique, mais vous êtes maître de vos actes...

On renomme le script gérant le hotspot et on crée un fichier script "spécial vérification" :

/etc/init.d/N50chillispot stop
mv /etc/init.d/N50chillispot /etc/init.d/z50chillispot
vi /etc/init.d/N98radconfig

Insérez ce contenu :
#!/bin/sh
/etc/init.d/S60redirect stop

On donne les droits
chmod a+x /etc/init.d/N98radconfig

Editez le fichier /bin/thinclient et commentez la ligne suivante :
vi /bin/thinclient
#WLMAC=$( ifconfig $wifi_ifname|grep HWaddr|sed -e "s/^.*HWaddr //" |sed -e "s/ //g" )

Ajoutez à la suite cette ligne :
WLMAC=$( ifconfig wifi0|grep HWaddr|sed -e "s/^.*HWaddr //" |sed -e "s/ //g" )

Sauvez, quittez vi. Pourquoi cette modification ? Car couper le fonctionnement du hotspot (N50chillispot) ne va pas plaire au script thinclient qui tente de récupérer l'adresse MAC d'une interface coupée. On substitue et tout se passe bien et c'est la bonne MAC qui est utilisée :)

Editez la crontab et ajoutez cet ordre :
14 14 * * * /etc/init.d/z50chillispot radconfig

C'est fini. Rebootez pour prendre en compte les changements. Non seulement, il n'y a plus de canal public, mais votre FONERA reste active du point de vue de FON, donc vous êtes Linus sans l'être, cool hein ? Si vous êtes Bill, bof, pas de signal=pas de vente, donc vous n'engrangerez aucun euro, logique.

Pour voir les interface wifi :
iwconfig

Vérifiez l'absence du signal public :
iwconfig|grep "FON_"

Vous obtenez cela :
lo no wireless extensions.

eth0 no wireless extensions.

wifi0 no wireless extensions.

Mise à jour du 27/12/2007 :

Si vous utilisez une version récente du firmware de la FONERA (0.7.2 et supérieurs), il faut savoir que FON a modifié notre fichier chillispot originel pour supprimer le point d'entrée radconfig. Pas grave on va l'ajouter en 3 lignes !

Ouvrez le fichier :
vi /etc/init.d/z50chillispot

Recherchez cette section de texte :
case $1 in
restart)

Et remplacez par :
case $1 in
radconfig)
radconfig
;;
restart)

Sauvez. Si vous appelez le script, il doit se lancer et rendre la main rapidement. Rebootez.

Conclusion

La FONERA est un outil certe limité mais intéressant. Il lui manque des ports USB (qui arriveront avec la FONERA 1.5), et le support de greffons pour des protocoles usuels comme BITTORRENT (FONERA 2.0), voire une API pour coder ses propres greffons. Il n'empêche que la FONERA 1.0 est fiable, discrète et amusante à bidouiller, un vrai petit nid à g33k. Il vous reste à imaginer tous les usages possibles et tenter de les réaliser. Travailler sur de l'embarqué est toujours plus complexe. Je vous encourage à partager vos idées, projets et réalisations diverses. Et à me les communiquer évidemment à cette adresse chuchunain AROBASE free POINT fr