12/07/2009

Partager la connexion de son laptop

Mode Master

Peu de combinaisons carte WiFi/driver permettent de passer en mode master. Le plus simple est d’essayer:

# iwconfig wlan0 mode master

Si la commande passe sans rien dire, c’est bon! Sinon, vous verrez une belle erreur du type

Error for wireless request "Set Mode" (8B06) :
    SET failed on device wlan0 ; Invalid argument.

Avec les drivers MadWiFi, pour passer en mode master, il faut d’abord détruire l’interface:

# wlanconfig ath0 destroy
#wlanconfig ath0 create wlandev wifi0 wlanmode master

Sur mon laptop, la carte Intel interne n’accepte pas ce mode master. Je n’ai par contre aucun problème à l’utiliser avec une carte Atheros sur port PCMCIA, avec le driver madwifi.

Configuration WiFi

Après avoir passé votre carte en mode master, il faut faire une configuration standard du WiFi en ligne de commande. Choisissez un ESSID, un channel et même un cryptage si vous le souhaitez. Un cryptage WPA est envisageable, mais je me limiterai au simple exemple du WEP:

# iwconfig wlan0 essid Alpha channel 1 key s:MotDePasseWEP
# ifconfig wlan0 10.42.42.1 netmask 255.255.255.0 broadcast 10.42.42.255

Serveur DHCP

Il ne manque plus qu’à installer un serveur DHCP pour fournir une adresse IP à tous ceux qui essayent de se connecter sur votre “routeur”.

Installez dhcpcd et éditez sa configuration:

# nano /etc/dhcp/dhcpd.conf
default-lease-time 3600;
max-lease-time 7200;
option subnet-mask 255.255.255.0;
option broadcast-address 10.42.42.255;
option routers 10.42.42.1;
option domain-name-servers 208.67.222.222, 208.67.220.220;
ddns-update-style none;

subnet 10.42.42.0 netmask 255.255.255.0 {
 range 10.42.42.10 10.42.42.100;
}

Et lancez le serveur DHCPD:

# /etc/init.d/dhcpd start

Attention, ce démon ne marchera que si vous avez déjà configuré votre carte WiFi sur l’IP 10.42.42.1. N’oubliez pas de lancer les commandes de NAT (voir page précédente).

Et voilà!

Tout ordinateur captant votre laptop sera maintenant capable de voir le réseau WiFi que vous avez créé et de s’y connecter exactement comme si c’était un simple routeur. Il aura alors accès à internet en toute transparence.

Si vous devez lancer ce routeur souvent, n’hésitez pas à créer un fichier bash 😉

  1. | #1

    Un petit script qui pourra certainement te servir.

    http://geekshell.org/~bragon/doku/doku.php?id=ap.sh

  2. | #2

    Petit lien qui peut être utile avant l’achat d’une carte WIFI (histoire d’en trouver une qui gère le mode master, le mode ad-hoc, …) :

    http://en.wikipedia.org/wiki/Comparison_of_open_source_wireless_drivers

    A partir du chipset, on peut remonter jusqu’à une liste des cartes WIFI qui l’intègrent en passant par exemple par ce site :

    http://linuxwireless.org

    Voilà, en espérant avoir pu en aider quelques un

    Fred

  3. | #3

    Bien que j’apprécie énormément Linux pour toutes ces fonctionnalités, il faut avouer que sous Windows c’est quand même vachement plus pratique : Connexions réseau, clic droit, créer un pont.

    Voilà ! 🙂 bon OK, c’est pas du NAT, c’est juste un pont, donc du coup, si l’hotel est équipé d’un système 1 port 1 MAC, ça marchera pas…mais j’ai rarement vu un B&B équipé d’un tel système.(et de toute façons, ils sont tous le WiFi maintenant ! :))

    (un nouveau lecteur, depuis un lien sur Korben.info :))

  4. | #4

    Ca ne marche presque jamais sous Windows ^^

    Et sous Linux c’est très simple :
    # iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
    # sysctl -w net.ipv4.ip_forward=1

    Suffisent à partager sa connexion.

  5. | #5

    kvu50z

  1. | #1