Linux box en routeur WIFI

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émoire
  • Configuration 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

    Leave a Reply

    Your email address will not be published. Required fields are marked *