Cette page explique comment avoir le Wifi CRANS avec un Unix ou avec Mac OS X. Il s'agit d'une méthode manuelle. Pour Mac OS X, il existe une méthode avec une interface graphique. Cf ../SousMac. Pour Linux, il y a aussi une méthode avec une interface graphique mais également une méthode "automatique" en mode texte. Cf ../SousLinux.
Avec racoon, sous Linux, Mac OS X, Mandrake, NetBSD, ...
Avant de commencer à lire cette page vous devez avoir établi une connection non securisée. Pour cela reportez vous à la page WiFi/AvoirLeWifi
Il faut installer racoon : aptitude install racoon sous Debian, urpmi ipsec-tools sous Mandrake ou emerge -av ipsec-tools sous gentoo. Choisir l'installation directe. Ensuite, on modifie /etc/racoon/psk.txt pour n'avoir qu'une seule ligne du style
138.231.148.1 clef
où clef est la clef donnée par la nounou ou le cableur. Vous pouvez aussi obtenir cette clef en vous connectant sur l'intranet. Ensuite, on modifie /etc/racoon/racoon.conf ainsi :
path pre_shared_key "/etc/racoon/psk.txt";
remote 138.231.148.1
{
exchange_mode main;
proposal {
encryption_algorithm 3des;
hash_algorithm sha1;
authentication_method pre_shared_key;
dh_group modp1024;
}
generate_policy off;
}
sainfo address 138.231.149.2 any address 0.0.0.0/0 any
{
pfs_group modp1024;
encryption_algorithm rijndael, blowfish, 3des;
authentication_algorithm hmac_sha1, hmac_md5;
compression_algorithm deflate;
}
Il faut remplacer 138.231.149.2 par votre IP qui est donnée par la nounou ou le cableur. Vous pouvez aussi obtenir cette IP en vous connectant sur l'intranet.
Racoon plante avec "failed to parse configuration file." si il n'arrive pas à charger un module crypto spécifié
Enfin, on crée /etc/ipsec.conf et on met :
#!/usr/sbin/setkey -f spdflush; spdadd 138.231.149.2[68] 0.0.0.0/0[67] any -P out ipsec esp/tunnel/138.231.149.2-138.231.148.1/use; spdadd 0.0.0.0/0[67] 138.231.149.2[68] any -P in ipsec esp/tunnel/138.231.148.1-138.231.149.2/use; spdadd 138.231.149.2 0.0.0.0/0 any -P out ipsec esp/tunnel/138.231.149.2-138.231.148.1/require; spdadd 0.0.0.0/0 138.231.149.2 any -P in ipsec esp/tunnel/138.231.148.1-138.231.149.2/require;
Là encore, il faut remplacer 138.231.149.2 par votre IP.
Ci-dessus, toutes les occurrences de clef ont été remplacées par votre clef et que 138.231.149.2 a été remplacé par votre IP !
Ensuite, à chaque fois que l'on veut se connecter, il suffit de faire (il faut le paquet fping) :
modprobe esp4 setkey -F setkey -P -F dhclient eth1 setkey -f /etc/ipsec.conf /etc/init.d/racoon restart while ! fping -c 1 -q zamok.crans.org 2> /dev/null ; do sleep 1 ; echo -n . ; done ; echo
Le "modprobe esp4" n'est pas necessaire si il est compilé en dur dans votre noyau. Le ping semble aider pas mal de ce côté (le temps de négocier les clefs).
Debian
C'est sans doute automatisable facilement en mettant ce qu'il faut dans /etc/network/interfaces pour Debian. Par exemple :
iface eth1 inet dhcp up modprobe esp4 || true up setkey -FD -F up setkey -f /etc/ipsec.conf up /etc/init.d/racoon restart up while ! fping -c 1 -q komaz.crans.org 2> /dev/null ; do sleep 1 ; echo -n . ; done ; echo down setkey -FD -F
On a ensuite le réseau en faisant ifup eth1.
Mandrake
Sous Mandrake, créez un fichier /etc/sysconfig/network-scripts/ifup.d/crans avec :
#!/bin/bash echo "debut de la connexion au Cr@ns" if [ "$1" == wlan0 ] ; then modprobe esp4 killall -9 racoon setkey -F setkey -P -F setkey -f /etc/ipsec.conf racoon -f /etc/racoon/racoon.conf while ! ping -c 1 -q komaz.crans.org > /dev/null 2>&1 ; do sleep 1 ; echo -n . ; done ; echo fi echo "Connexion etablie"
Il faut ensuite rendre ce fichier exécutable : chmod +x /etc/sysconfig/network-scripts/ifup.d/crans. On obtient ensuite le réseau avec ifup wlan0. Éventuellement, pour faire plus propre, on peut faire un script à mettre dans ifdown.d.
Gentoo
Sous Gentoo Linux, éditez le fichier /etc/conf.d/net et ajoutez à la fin de celui-ci (en remplacant wlan0 par le nom de votre interface wifi) :
preferred_aps=("Cr@ns")
postup() {
if [[ ${1} == wlan0 ]]; then
setkey -F
setkey -P -F
setkey -f /etc/ipsec.conf
/etc/init.d/racoon start
fi
}
postdown() {
if [[ ${1} == wlan0 ]]; then
/etc/init.d/racoon stop
fi
}
Désormais le wifi devrait s'activer lorsque vous débranchez votre cable réseau (l'équipe gentoo est en train d'intégrer ifplugd dans les scripts de déparrage).








