Comment configurer sa alicebox Triway CT-633 sous linux
En deux mots...
Ici, vous trouverez comment configurer entièrement votre alicebox
(adsl + telephone) depuis une machine linux. Avec alice, tout est
transparent, mais ici ça l'est encore plus !
Le projet CLEIA a pour but de donner une interface de configuration
simple (du même type que l'interface fournie pour windows) pour linux.
J'ai mis ici toute la documentation que j'ai sur la alicebox ainsi que
divers documents qui m'ont aidé de près ou de loin.
Evidemment ce site est en construction pour toujours.
Ca y est !!! Cleia est en beta !! cliquez sur le lien a droite pour l'essayer !!!
OznOg
Intro
Comme tout le monde, avant de prendre mon abonnement adsl, j'ai longtemps hésité entre
les différents operateurs, "avec nous, vous laverez plus blanc que blanc !". Mon choix
s'est porté sur tiscali avec sa alicebox, principalement parce que j'étais déjà
abonné chez eux.
Alors c'est merveilleux, je reçois mon alicebox je la sors du paquet, je branche, et
merveille apres 10 minutes, j'ai l'adsl qui fonctionne avec mon linux. Le seul hic,
c'est le téléphone IP... il ne fonctionne tout simplement pas. Alors je me plonge
dans la documentation, et je me rends vite compte que pour faire fonctionner le téléphone
IP il FAUT passer par le "super" kit de configuration, qui, bien évidemment est un éxécutable
windows, donc c'est mal parti pour que ça marche avec mon linux.
Alors dans un premier temps, j'ai cherché à trouver de l'aide pour paramétrer la alicebox
en Voip depuis linux en allant sur différents forums. Le moins que l'on puisse dire,
c'est que l'accueil a été froid, la principale question étant "comment faire marcher
emule avec ma alicebox" Mais pour mon problème, personne, meme pire : les modérateurs
(employés de Alice) ont manifesté une agressivité assez surprenante, comme si le fait
de vouloir utiliser son alicebox sous linux était contre nature
.
Bref, comme l'a dit une des "gentils op" des forum, "il n'a pas cet OS et a quand même pris le pack? tant pis,il assume".... donc j'assume !, je trouverai tout seul !
C'est parti !
Alors première étape, comprendre ce qui cloche. La alicebox a bien une jolie
interface web (user alice, mdp alice) mais il n'y a pas grand chose a configurer
depuis cette interface, enfin, surtout pas le téléphone VOIP. Après un petite
escapade chez un ami pour configurer la VOIP de la alicebox sous windows, retour
à la maison pour étude approfondie. Manifestement, des nouveaux paramètres sont
mis, mais toujours pas moyen de les modifier sous l'interface web, ni depuis le telnet.
Pourtant, d'après la documentation du routeur, la configuration est possible et
normalement avec un login root.... tiens! un root.... ca serait-y pas du linux sur
la alicebox ? :p (y'en a qui hésitent pas à cracher dans la soupe...).
Passons...
On commence les choses plus sérieuses
Bon je sais que visiblement au 1033 ils n'hésitent pas à filer le
mot de passe de la alicebox, et que sur internet on le trouve de partout,
mais je n'y ai pas pensé, alors je l'ai retrouvé tout seul. Bon cela n'aura
pas été peine perdue, vu que la technique que je décris après m'a servi pour toute
la partie "dump des commandes alicebox"
moyens mis en oeuvre
Alors sous linux, on ne peut peut-être pas avoir les "supers" kits de configuration,
mais au moins on a un tas d'outils. Comme je n'ai qu'une machine, et que les
outils sont sous linux, j'ai fait appel à qemu pour installer un joli windows
dans une fenêtre. Je vous laisse aller voir les nombreux sites qui parlent de qemu
pour avoir plus de détails, mais qemu est tellement bien qu'il faudrait vraiment
y mettre beaucoup de mauvaise volonté pour ne pas arriver à l'utiliser.
Le seul detail technique est que j'utilise l'interface tun pour le réseau.
l'interface tun de qemu
Beaucoup de gens utilisent l'option -user-net de qemu, et ils ont tors !
L'interface tun est en fait très simple à utiliser. Lorsque qemu se lance, il
essaye d'ouvrir /dev/tun (ou /dev/net/tun) et s'il y parvient, il se crée sur
la machine hôte une nouvelle interface réseau (vous aviez eth0, hé bien maintenant
il y a tun en plus). Cette interface se configure exactement comme une interface classique, sur le schéma suivant, mon linux (hôte) a donc son interface tun0 configurée avec l'IP 192.168.2.10, alors que j'ai configuré mon windows pour etre sur 192.168.2.6.
Normalement, les deux machines se "pinguent".

L'etape suivante est de lancer le programme de configuration de la alicebox. Ce programme commence par verifier que la machine est en DHCP et qu'elle peut recuperer une adresse. En fait, normalement, la alicebox joue le role du serveur DHCP, mais ici, aucune alicebox ne repondra.
Serveur DHCP
J'imagine que vous avez saisi : comme le programme de configuration de la alicebox veut recuperer une IP par DHCP, et bien allons-y, donnons lui en une par DHCP ! L'astuce ici, c'est que nous allons faire croire au programme de configuration de la alicebox que notre machine linux EST la alicebox.
Dans ma configuration, j'ai recupéré l'adresse mac de la carte que simule qemu et j'ai configuré un serveur dhcp pour fournir des IPs sur l'interface tun0 (fichier de conf)
config_dhcp). Du coup, ma machine windows se retrouve de nouveau avec 192.168.2.6, mais cette fois ci, le programme de configuration est heureux et ne s'interrompt pas. Sur les deux écrans qui suivent, il demande qu'on lui donne les identifiants de connexion et le numero de téléphone + "clé de sécurité" sur lesquels je reviendrais plus loin. Ensuite, on choisi option A ou B, et de nouveau le programme semble vouloir se connecter à la alicebox, mais comment ?.
Ethereal
A ce point, nul besoin de s'encombrer avec des hypothèses quelconques, nous allons utiliser ethereal sur l'interface tun0 afin d'espionner ce qui se "trame" sur notre réseau virtuel. Comme ethereal est un outil très performant, il nous dit directement quelles opérations sont en cours, et dans notre cas, il s'agit d'un telnet. Felicitons nous, le chiffrement ne semble pas être arrivé chez alice, et tant mieux ! On sait maintenant qu'on va pouvoir visualiser toutes les commandes passées par le telnet, tranquillement !
telnetd
De manière évidente, nous allons avoir besoin d'un serveur telnet installé sur la machine linux. De nos jours, il n'y en a plus d'installé par défaut, mais rien de plus simple que d'en installer un.
Un fois tout bien installé, on relance, et première victoire, on voit le mot de passe root directement dans le dump ethereal -> "login: root Password: v8r7u43y Login incorrect". Première victoire, mais aussi premier vrai doute, si il veut absolument se loguer en root, cela va vite devenir pénible. Ho mais quelle surprise, ces gentils messieurs les codeurs de chez alice ont prévu le coup ! Une boite de dialogue s'en ouverte sur qemu et me dit que j'ai du changer le mot de passe et me demande le nouveau login et mot de passe ! Je n'en demandais pas tant ! Le nouvelle stratégie est claire, nous allons créer un compte bidon pour permettre au kit de configuration de la alicebox de se connecter et faire son petit boulot. J'ai choisi de nommer ce user qem (pour qemu bien sur !) son mot de passe sera qem aussi (je suis la terreur des administrateurs système :p ). Ici commence une partie fastidieuse du travail qui consiste à voir quelle commande est envoyée et à essayer de répondre comme si nous étions une alicebox. Le fichier .profile que je donne dans les liens est celui que j'ai construit pour réaliser cette opération. Au rang des trucs à noter, il vaut mieux utiliser bash comme shell pour ce user. Les autres shells posaient des problèmes, principalement parcequ'il semble que le kit d'installation semble rater des réponses et du coup il fini en erreur.
Les dumps complets réalisés avec option A et option B avec une configuration wifi sont donnés dans les liens.