Configuration du Wifi à l’ÉPITA avec Network Manager

Attention : depuis le premier semestre de l’année scolaire 2010-2011, la méthode de connexion au wifi a changé. Il n’y a plus besoin de certificat, mais juste d’un couple login-pass SOCKS. Je vous renvoie donc à la documentation de l’Intra-Bocal, la procédure y est assez clairement décrite.

Les gens vous sourient, votre compagne (ou compagnon) est épanoui(e) grâce à vous… bref, vous vivez mieux depuis que vous avez installé une distribution GNU/Linux sur votre ordinateur portable, celui qui vous suit partout, jusqu’aux confins des cours de physique ! Mais il y a un « hic ». Impossible de configurer la bête pour se connecter en Wifi au réseau de l’école… Nous allons y remédier ! Vous pourrez enfin disserter à propos de votre désespoir et de cet égarement de la SI en direct live de la salle 202 (ou la 207).

État du Wifi à l’école

Vous n’avez pas encore utilisé le Wifi à l’école ? Sachez donc ceci : on n’est sûr de rien ! Même si vous configurez votre connexion à la perfection. On ne sait pas vraiment comment le Bocal a architecturé le bouzin, mais parfois (voir souvent), le point d’accès Wifi lâche. Plus du tout de connexion pendant une durée indéterminée !

Et quand bien même arriveriez-vous à vous connecter, rien ne vous dit que la liaison va être stable ! À tout moment, la connexion peut se casser, auquel cas il suffit la plupart du temps de tenter de refaire la liaison immédiatement. Que se passe-t-il vraiment ? Nul ne le sait, mystère. Et encore, je ne parle pas des pannes de services internes, comme pour le Proxy HTTP ou le serveur Netsoul : dans ces moments-là, c’est tout le réseau de l’école qui déguste !

En tout cas, le plus souvent le Wifi est bien pratique. Il suffit juste de ne pas en dépendre, d’avoir toujours une alternative. C’est surtout vrai en soutenance et pendant d’autres exposés : en ayant prévu autre chose, soit le Wifi marche et c’est la joie, soit non… et on s’en moque parce que ce n’est en fait pas indispensable, on a pensé à tout.

Bref, passons à la configuration. Il faut savoir que la connexion au réseau du PIE se fait en deux étapes : se connetcter au point d’accès Wifi proprement dit, puis s’ouvrir les portes des services en se « netsoulant » (c-à-d se connecter au serveur Netsoul). Les deux sont nécessaires pour aller sur Internet, ou lire les Newsgroup, … Ici je vous décris comment :

Récupération des certificats

Tout d’abord, récupérez les certificats (client.p12 et ca.crt) sur l’Intranet Bocal (connectez-vous sur https://intra-bocal.epitech.net/ avec votre login et votre pass www, puis téléchargez ca.crt et client.p12) avec une clef usb, ou tout autre moyen à votre disposition. Ce sont les mêmes que ceux dont on a besoin sous Windows. Placez-les à un endroit où vous ne les déplacerez plus.

Connexion au Wifi avec Network Manager

Faites un clic droit sur l’icône de Network Manager (zone de notification de Gnome, Xfce, Fluxbox ou autre) et choisissez « Modification des connexions… ».

La liste des réseaux configurés apparaît. Allez dans l’onglet des réseaux sans fils, et cliquez sur le bouton « Ajouter ».

Passons à la configuration proprement dite : renseingez les champs suivants.

  • SSID : wireless-iit
  • Mode : Infrastructure
  • Sécurité: WPA et WPA2 entreprise
  • Authentification : TLS
  • Identité : mobile
  • Certificat du CA : ca.crt
  • Clé privée : client.p12 (ce sont les deux certificats téléchargés précédemment, il suffit d’aller les chercher là où vous les avez téléchargé)
  • Mot de passe : iit-wifi
  • Laissez les « Paramètres IPv4 » inchangés

Et… c’est tout ! (en ce qui concerne la connexion Wifi en tout cas)

Si la connexion ne se fait pas toute seule la prochaine fois que vous serez à portée du réseau (et si celui-ci n’est pas mort…), faites un clic gauche sur l’icône de Network Manager puis sélectionnez « wireless-iit »… et attendez la connexion. Il ne vous reste plus qu’à vous netsouler !

L’équivalent en ligne de commande

Pour le coup, la documentation de l’Intra-bocal devrait être suffisante, moyennant quelques mises à jour. Je vais tout de même expliquer à ma façon comment faire. Je suppose que vous maîtrisez un minimum la ligne de commande sous GNU/Linux, et que le Wifi est fonctionel sur votre ordinateur (le matériel est bien reconnu et prêt à être utilisé). Toutes les commandes qui suivent doivent être exécutées avec les droits du superutilisateur root

.

Pour se connecter manuellement au Wifi, il faut désactiver tous les programmes qui le gèrent automatiquement (Network Manager, wicd, …). Pour désactiver Network Manager sous Ubuntu ou sous Debian, exécutez :

# Pour Ubuntu
service NetworkManager stop

# Pour Debian
service network-manager stop

Commencez d’abord par installer le paquet wpa_supplicant (avec l’outil adapté de votre distribution : apt-get, aptitude ou synaptic sous Debian, urpmi sous Mandriva, yum sous Fedora, emerge sous Gentoo, …).

Creez le dossier /etc/wpa_supplicant/ (s’il n’existe pas déjà) et placez-y les deux certificats ca.crt et client.p12, puis créez le fichier /etc/wpa_supplicant.conf que voici :

# Bocal 2009 - GuiGou
eapol_version=1
ap_scan=1
fast_reauth=1
network={
       disabled=0
       ssid="wireless-iit"
       scan_ssid=0
       key_mgmt=WPA-EAP
       pairwise=TKIP
       eap=TLS
       identity="mobile"
       ca_cert="/etc/wpa_supplicant/ca.crt"
       private_key="/etc/wpa_supplicant/client.p12"
       private_key_passwd="<À remplacer>"
}
# EOF

Remplacez bien sûr le champ private_key_passwd par le mot de passe que vous pouvez lire dans le fichier de configuration donné par le Bocal : wpa_supplicant-3.conf.

Repérez le nom de l’interface Wifi que vous voulez utiliser (avec la commande ifconfig, c’est wlan0 dans la plupart des cas). Pour se connecter, il faut exécuter la commande  (en remplaçant NomInterface par le nom de l’interface Wifi choisie):

wpa_supplicant -Dwext -iNomInterface -c /etc/wpa_supplicant.conf

Des lignes plus ou moins compréhensibles vont défiler. Vous saurez que vous êtes associés à la borne Wifi quand une ligne similaire à la suivante apparaîtra :

CTRL-EVENT-CONNECTED - Connection to 00:14:bf:7d:a7:f3 completed (auth) id=0 id_str=

Garder la console qui exécute cette commande ouverte tant que vous voulez rester connecté (elle ne rend pas la main puisqu’elle doit maintenir la connexion ouverte). Si la connexion subit un problème, wpa_supplicant tentera automatiquement de se reconnecter… après la borne Wifi déconne ou pas ! Lorsque votre connexion est réussie, il vous suffit d’exécuter la commande suivante pour vous connecter au réseau en demandant une adresse IP au serveur DNS :

dhclient NomInterface

La sortie de cette commande est assez explicite : elle rend la main soit en cas de réussite, soit en cas d’échec. Une fois toutes les étapes précédentes effectuées avec succès, vous devez vous netsouler pour avoir accès aux différents services !

Se connecter au serveur Netsoul

Netsoul est un protocole mis au point par et pour le réseau informatique du groupe IONIS. Il sert basiquement à communiquer (ça fonctionne un peu comme AIM, MSN, …), mais il a une toute autre utilité pour le Bocal : autentifier les personnes qui veulent se connecter au réseau. En effet, chaque élève a un compte Netsoul (avec son login et son mot de pass SOCKS) et doit se connecter au serveur Netsoul du PIE pour avoir accès aux différents services du réseau (serveur des Newsgroup, le proxy, …). Pas netsoulé ? Les différents serveurs ne vous répondent pas. Du coup, le Bocal est théoriquement capable de savoir qui a fait quoi…

Sous Windows, se netsouler ne pose pas de problème : il vous suffit d’installer bNetSoul (utilisé par défaut sur les Windows du PIE), SameSoul (plus apprécié par les ordinateurs personnels). Mais sous Unix ? Ah, mystère…

Il est actuellement possible d’installer un plugin à Pidgin, je vous renvoie à la documentation d’Ubuntu-fr : http://doc.ubuntu-fr.org/netsoul.

Personnellement, j’utilise pour l’instant Rubysoul. Je n’utilise pas le plugin pour Pidgin pour ne pas être connecté en permanence (par principe…), et je trouve l’interface de Rubysoul pas géniale, et il n’arrête pas de planter… Du coup, faudrait que je me fasse mon propre client, sûrement en Python, que ce soit avec une interface en Gtk ou en ncurses (dans un terminal, du style Irssi).

PS : une fois que vous êtes connectés, netsoulé, toussa… n’oubliez pas de configurer le proxy de votre navigateur ! Le reste est sur l’Intra-bocal…

Créé fin 2009 et dernière mise à jour début août 2010.