Cette page décrit comment obtenir le Wifi sous Linux. Une autre solution est décrite sur une autre page : elle consiste à configurer manuellement le wifi ../AvecRacoon. Elle est réservée aux utilisateurs avancés.
Le wifi sous Linux
Se connecter à la borne wifi
La première étape consiste à s'assurer que votre carte wifi fonctionne. On pourra par exemple aller regarder comment on le configure sur cette page : WiFi/SousLinux. Cette étape n'est pas triviale, il est inutile d'aller plus loin tant que la carte wifi ne fonctionne pas. On peut regarder le résultat de iwconfig pour voir si la carte fonctionne.
Ensuite, on doit pouvoir se connecter en utilisant les scripts de son système :
Sous Debian, on doit modifier /etc/network/interfaces :
iface cranswifi inet dhcp wireless-essid Cr@ns
- on définit une interface cranswifi qui utilise le DHCP pour se configurer
on force le SSID à Cr@ns pour ne pas s'associer à un autre réseau et s'associer au réseau Cr@ns même lorsqu'il n'est pas visible.
Comme cranswifi n'est pas le nom d'une vraie interface, on doit monter cette interface en lui donnant le nom de l'interface réelle. Si votre carte wifi s'appelle eth1, on fera ifup eth1=cranswifi. Il faut aussi arrêter la carte filaire. Il s'agit sans doute de faire ifdown eth0.
- l'interface graphique sous Mandrake et autre
à la main avec dhclient eth1
- ...
On pourra se référer aux instructions disponibles sur le net. Elles sont compatibles avec le CRANS. Une fois que la carte fonctionne correctement, vous pouvez vérifier que le site https://wifi.crans.org est disponible. Il contient alors ces instructions.
Si cette étape ne fonctionne pas, il peut y avoir plusieurs causes :
La carte wifi n'a pas été détectée correctement. Regardez avec la commande iwconfig si votre carte wifi est correctement vue par le système. Le module approprié est-il bien chargé (lsmod) ? Peut-être qu'il faut fournir un firmware à cette carte ? dmesg indique peut-être une erreur ?
Vous n'êtes pas à portée d'une borne CRANS. Vérifiez avec la commande iwconfig. Si vous captez une borne, mais qu'il ne s'agit pas d'une borne CRANS, utilisez la commande iwlist scan pour connaître les réseaux à portée et utilisez iwconfig pour forcer le réseau CRANS (iwconfig wlan0 essid Cr@ns)
Vous êtes à portée d'une borne ENS Cachan. Elle cache une borne Cr@ns, vous devez entrer le nom du réseau à la main. Une façon de faire est de taper la commande suivante :
iwconfig eth1 essid Cr@ns
Vous ne vous êtes pas enregistré auprès d'un câbleur. Regardez l'IP que vous avez obtenue avec ifconfig, elle doit être en 138.231.149.* ou 138.231.150.*. Vous devez attendre une vingtaine de minutes après l'enregistrement auprès d'un câbleur. Peut-être avez-vous fait une erreur dans l'adresse MAC que vous lui avez communiquée ? Dans ce cas, les bornes devraient refuser que vous vous connectiez (mais elles sont tout de même visibles).
Votre carte wifi peut être bridée. Il existe 13 canaux sur lesquels on peut se connecter. Habituellement, on utilise (au Cr@ns) les canaux 1, 5, 9 et 13. Votre carte wifi peut n'accepter que les canaux 1 à 11, interdisant ainsi l'accès au canal 13. Pour vérifier cette hypothèse, utilisez la commande iwlist wlan0 channels pour obtenir la liste des canaux autorisés pour la carte wlan0.
Établir le tunnel IPsec
En graphique
Une fois connecté, on peut installer une application graphique comme ../SousMac. Celle-ci s'appelle CransWifi et s'exécute sous ce même nom. Elle va vérifier que tout est bien configuré et permet d'initier la connexion sécurisée. Pour l'installer, cela dépend de la distribution que l'on a.
sous Debian, il suffit de rajouter cette ligne dans /etc/apt/sources.list :
deb ftp://ftp.crans.org/pub/crans/debian ./
Il faut se brancher sur le réseau filaire pour que cela fonctionne. Si l'on ne peut vraiment pas, il est possible de récupérer manuellement les paquets en allant sur https://wifi.crans.org/pub/crans/debian. On pourra alors installer le programme avec :
aptitude update aptitude install cranswifi
Pour Ubuntu, c'est exactement pareil sauf qu'il faut ajouter cette ligne dans /etc/apt/sources.list :
deb ftp://ftp.crans.org/pub/crans/ubuntu ./
- pour Fedora ou Redhat, il faut rajouter ceci dans /etc/yum.conf :
[cranswifi] name=CransWifi baseurl=https://wifi.crans.org/pub/crans/redhat/
yum update yum install cranswifi
- Pour Mandrake, on effectue les opérations suivantes :
urpmi.addmedia cranswifi https://wifi.crans.org/pub/crans/mandrake/ with hdlist.cz urpmi install cranswifi
pour SuSE, il faut pour le moment prendre les RPM à la main sur https://wifi.crans.org/pub/crans/suse/
- pour Gentoo, il faut se d'abord se créer un overlay pour son arbre portage
(on consultera http://gentoo-wiki.com/HOWTO_Installing_3rd_Party_Ebuilds pour avoir plus d'infos sur le sujet). On télécharge ensuite le fichier https://wifi.crans.org/pub/crans/gentoo/cranswifi-0.9-r2.ebuild que l'on place dans l'overlay sous la catégorie net-wireless. Pour que portage télécharge les sources sans erreur à cause du certificat autosigné de https://wifi.crans.org, il faut rajouter dans /etc/make.conf la ligne suivante
FETCHCOMMAND="/usr/bin/wget --no-check-certificate -t 5 --passive-ftp \${URI} -P \${DISTDIR}"
Ensuite, on installe CransWifi avec la commande
emerge --digest cranswifi
pour le reste, on peut prendre les sources et les compiler soi-même. Plus de renseignements sur la page CransWifi.
Le programme se lance avec la commande :
CransWifi
Voilà à quoi cela ressemble :
Une fois l'application lancée, on doit lui fournir la clef communiquée par le câbleur. Elle tente ensuite de lancer la connexion sécurisée et remonte les problèmes. Si cela ne fonctionne et que l'aide de l'application ne donne aucune réponse, il peut y avoir plusieurs causes :
vous disposez d'un firewall, regardez avec iptables -L -v. Le plus simple est de le désactiver pour le moment. Il doit laisser passer le protocole ESP (-p ESP -j ACCEPT) ainsi que les communications sur le port 500 en UDP (-p UDP --source-port 500 --destination-port 500 -j ACCEPT).
vous avez compilé votre noyau vous-même et vous n'avez pas inclus le support de l'IPsec ou de l'AES. Jetez un oeil sur WiFi/SousLinux pour savoir ce qu'il faut y mettre.
regardez les logs de racoon dans /var/log/daemon, il indiquera sans doute la source d'autres problèmes.
- le serveur assurant la passerelle pour le wifi rencontre des problèmes temporaires, on pourra essayer plus tard...
En mode texte
Avec la même application, on peut aussi se connecter en mode texte. Il faut soit se connecter une première fois en mode graphique, soit renseigner la clef dans ~/.cranswifi-ipsec :
CransWifi --text --connect CransWifi --text --disconnect
Avec un script dans /etc/network/if-up.d/
Cette solution lance CransWifi automatiquement lorsque l'on se connecte au réseau Cr@ns. Elle est compatible à la fois avec ifconfig et network-manager. Une fois l'application installée, on ajoute le script suivant dans /etc/network/if-up.d/:
#!/bin/sh CRANS="Cr@ns" CRANSWIFI=`which CransWifi` if [ ! -n "$IFACE" -o ! -x $CRANSWIFI ]; then exit 0 fi SSID=`iwgetid -r $IFACE` if [ ! -n "$SSID" ]; then exit 0 fi if [ $SSID = $CRANS ]; then $CRANSWIFI --text --connect & fi
Et le même script dans /etc/network/if-down.d/ en remplaçant --connect par --disconnect.
CransWifi sera lancé en root, il est donc nécessaire de renseigner /root/.cranswifi-ipsec ou de se connecter une première fois avec cette application en root.
Testé avec Debian/Ubuntu.
En configurant /etc/network/interfaces
Alternative au script dans if-up.d.
Avec Debian, on pourra par exemple modifier /etc/network/interfaces de cette façon :
iface cranswifi inet dhcp wireless-essid Cr@ns up CransWifi --text --connect down CransWifi --text --disconnect
Avec Ubuntu, l'ajout d'un sleep 1 dans /etc/network/interfaces peut résoudre certains problèmes :
iface cranswifi inet dhcp wireless-essid Cr@ns up sleep 1 && CransWifi --text --connect down CransWifi --text --disconnect
Pour lancer la connexion : ifup eth1=cranswifi (si eth1 est l'interface Wi-Fi)
Pour stopper la connexion : ifdown eth1=cranswifi
Il convient de s'assurer que l'on n'active pas à la fois l'interface filaire et l'interface wifi. Cela pose des problèmes que l'on peut constater avec la commande /sbin/route -n.
Avec le daemon cranswifi-nm
Alternative aux deux précédentes. Remarque: elle n'apporte rien en l'état à la solution if-up.d.
Si on se sert de Network Manager plutôt qu'ifconfig, on peut utiliser cranswifi-nm au lieu de lancer CransWifi --text --connect à la main à chaque connexion. Ce daemon lance CransWifi en mode texte dès que Network Manager annonce via DBus s'être connecté sur le réseau Cr@ns. Après installation, il se lance avec les scripts de démarrage, ce qui fait qu'on est dispensé de toute action lorsque network-manager se connecte.
Il n'y a pas encore de paquet Debian/Ubuntu, il faut donc installer à partir des sources. Nécessite ocaml, ocaml-dbus et CransWifi.








