Connexion en wifi/PPTP à l'ENST

Un howto simple et rapide pour configurer sa connexion wifi à l'ENST sous Linux

L'Ecole Nationale Supérieure des Télécommunications propose une connexion wifi pour les élèves dans la totalité de l'établissement. Si la configuration de la connexion est assez simple et bien expliquée sous Windows et MacOS X (consulter le site du SIAV pour plus de détails), la connexion sous GNU/Linux (ou autres systèmes *nix) est plus problématique. Par chance, Gabriel (promo 2008) avait configuré sa connexion avant moi, ce qui m'a évité de nombreux tâtonnements. J'ai donc rédigé ce HOWTO afin de permettre à tous de se connecter facilement en wifi sous GNU/Linux à Télécom Paris. La distribution que j'utilise est Gentoo Linux, mais ce guide devrait être facilement adaptable pour toutes les distributions.


Tout au long de ce HOWTO, les commandes préfixées de '#' nécessitent des droits de super-utilisateur (root). Vous devrez donc vous identifier au préalable ou utiliser le paquetage sudo. Notez par ailleurs que la plupart des fichiers à éditer requièrent eux aussi d'être identifié en tant que super-utilisateur.

La connexion wifi

Je considèrerai dans tous ce guide que votre périphérique wifi est /dev/eth1 car c'est le cas le plus courant (la connexion filaire étant généralement /dev/eth0).

Avant tout, vous devez avoir une connexion wifi fonctionnelle, c'est à dire que celle-ci doit pouvoir se connecter automatiquement à un réseau wifi non encrypté utilisant DHCP. Vous pouvez pour ceci consulter documentation de votre distribution, par exemple la section section sur les réseaux sans fil du Gentoo Handbook.

Nous utiliserons wpa_supplicant (voir le Gentoo Handbook) dans ce guide. Remplacez votre fichier /etc/wpa_supplicant.conf par le fichier suivant :

ctrl_interface=/var/run/wpa_supplicant
ctrl_interface_group=0
ap_scan=1
network={
key_mgmt=NONE
}

Editez le fichier /etc/conf.d/net pour y ajouter les lignes suivantes concernant la connexion eth1 :

config_eth1=("dhcp")
modules=("wpa_supplicant")
wpa_supplicant_eth1="-Dwext"
wpa_timeout_eth1=60

Si tout s'est bien passé, vous pouvez maintenant lancer votre connexion à l'aide de la commande :

# /etc/init.d/net.eth1 start

Pour ma part, le fichier /proc/sys/kernel/hotplug est mal initialisé au démarrage d'une part, et d'autre part, je dois décharger et recharger le module afin que mon périphérique soit reconnu. Je lance donc la connexion avec les commandes suivantes :

# echo -n /sbin/hotplug > /proc/sys/kernel/hotplug
# modprobe -r ipw3945
# modprobe ipw3945
# /etc/init.d/net.eth1 restart

Ces problèmes sont probablement dus aux versions de hotplug, du kernel et des pilotes ipw3945 qui sont installés sur ma machine : ils seront probablement corrigés très rapidement.

Les packages PPP et PPTPD

Il est nécessaire d'installer les paquetages PPP et PPTPD de votre distribution. Sous Gentoo, tapez juste :

# emerge ppp pptpd

Si votre distribution ne fournit pas ces paquetages, vous pouvez consulter les sites poptop.org et samba.org/ppp pour obtenir les télécharger.

Il vous faut alors configurer ces packages. Editez votre fichier /etc/ppp/chap-secrets :

nom_d_utilisateur * mot_de_passe *

Vous devez bien sûr remplacer nom_d_utilisateur par votre nom d'utilisateur (celui de votre compte UNIX de l'ENST) et mot_de_passe par votre mot de passe PPTP (que vous devez générer sur http://pptpreg.enst.fr). Créez ensuite le fichier /etc/ppp/peers/enst :

name enst
noauth
user nom_d_utilisateur
pty "pptp pptp.enst.fr --nolaunchpppd"

Cette fois encore, vous devez bien sûr remplacer nom_d_utilisateur par votre nom d'utilisateur. Enfin éditez le fichier /etc/ppp/options.pptpd (il semble que selon votre configuration, ce fichier peut s'appeller /etc/ppp/options.pptp) : commentez les lignes commençant par require-mppe :

#require-mppe-128
...
#mppe-40
#mppe-128
#mppe-stateless

PPP et PPTPD sont maintenant configurés. Nous pouvons donc passer au lancement de la connexion elle-même.

Lancement de la connexion

Lancez votre connexion wifi :

# /etc/init.d/net.eth1 restart

Synchronisez-vous sur le réseau ENST-SIAV :

# iwconfig eth1 essid ENST-SIAV

Lancez la connexion :

# pon enst

Attendez quelques secondes, puis ajoutez les routes suivantes :

# route add pptp.enst.fr gw 137.194.36.254 dev eth1
# route del default
# route add default gw 137.194.2.47

Si tout s'est bien passé, vous devez être connecté à internet. Pour éviter à avoir à retaper toutes les commandes de la dernière section, vous pouvez utiliser le script wifi.sh :

#!/bin/sh
poff enst
/etc/init.d/net.eth1 restart
iwconfig eth1 essid ENST-SIAV
pon enst
sleep 2
route add pptp.enst.fr gw 137.194.36.254 dev eth1
route del default
route add default gw 137.194.2.47

Vous pouvez télécharger le script wifi.sh ici. Pour l'utiliser, ajoutez lui les droits d'exécution :

# chmod a+x wifi.sh

Puis lancez-le :

# ./wifi.sh

Vous pouvez également en faire un init script pour le lancer au démarrage.

Commentaires, suggestions

J'espère que ce guide vous a été utile. Si vous avez des commentaires ou des suggestions, merci de me contacter à l'adresse e-mail jean-pierre[à]lozi[point]org.

Version du 18 janvier 2007, par Jean-Pierre Lozi.