Objectif
Faire marcher une connexion wifi sous linux et configurer un serveur en access-point (AP).
Installation du pilote de la carte
Dans mon cas, j’ai utilisé la carte D-link DWL-G520 (H/W Ver:B3 F/W Ver:4.11) qui marche en utilisant le driver madwifi. Les instructions pour l’installation sont disponibles sur http://www.marlow.dk/site.php/tech/madwifi.
Update 10-2006: les quatre premières étapes peuvent être avantageusement remplacées par l’utilisation de module-assistant
En résumé, il faut:
- Télécharger les sources de madwifi
echo "deb ftp://debian.marlow.dk/ sid madwifi" >> \ /etc/apt/sources.list echo "deb-src ftp://debian.marlow.dk/ sid madwifi" >> \ /etc/apt/sources.list apt-get update apt-get install madwifi-source madwifi-tools
- Télécharger les sources de votre noyau:
apt-get install linux-source-2.x.y
(ou kernel-source-2.x.y pour les versions antérieures a 2.6.12) - Compiler madwifi pour votre noyau
cd /usr/src tar -xzvf madwifi.tar.gz cd linux-source-x.y.z fakeroot make-kpkg --append-to-version "-flavour" \ --revision 2.x.y-z --added-modules madwifi modules_image
Si votre version de noyau est quelque chose du type 2.6.4.1-686, “-flavour” est alors “-1-686”.
- La dernière étape a produit un paquet debian qu’il faut installer par
dpkg -i /usr/src/madwifi-module-x.y.z_20040619-1+kernelversion_i386.deb
modprobe ath_pci
permet alors de charger le module en mémoireConfiguration en access point
Pour éviter que tout le quartier ne squatte votre connexion, il faut un minimum de configuration. Attention, la méthode donnée ici ne garanti pas un serveur inviolable, on se contente ici du strict minimum.
Générer une clé WEP par
dd if=/dev/urandom count=1 2> /dev/null | md5sum | head -n 2 | tail -n 1 | cut -c-26
Vous devez alors avoir un résultat de la forme 68e1c4647cf8ef7e70d3ff588c
: c’est votre clé de connexion que tous les utilisateurs devront avoir avant de pouvoir se connecter.
Configurer le /etc/network/interfaces
en ajoutant les lignes
auto ath0 iface ath0 inet static address 192.168.2.1 netmask 255.255.255.0 wireless-mode Master wireless-rate 11M wireless-essid MonAP wireless-key restricted 68e1c4647cf8ef7e70d3ff588c
Activer la carte réseau et vérifier que ca marche
ifup ath0 iwconfig
Activer le routage sur le serveur. On considère que l’interface eth0 est l’interface de sortie vers l’internet et le sous-réseau 192.168.2.255 est celui connecté sur ath0 (wifi). Le serveur accepte alors de transmettre les paquets IP des clients connectés en WIFI à l’extérieur.
echo "1" > /proc/sys/net/ipv4/ip_forward modprobe ip_tables modprobe ip_conntrack modprobe ip_conntrack_ftp modprobe ip_nat_ft /sbin/iptables -A FORWARD -i ath0 -o eth0 -j ACCEPT /sbin/iptables -A FORWARD -o ath0 -i eth0 -j ACCEPT /sbin/iptables -t nat -A POSTROUTING -s 192.168.2.0/24 \ -j MASQUERADE