12/07/2009

Partager la connexion de son laptop

Laptop égal routeurC’est la première fois depuis le début de mes vacances que je me retrouve sans mon routeur WiFi… Et c’est la première fois que j’en ai besoin! Il n’y a qu’une seule fiche ethernet dans ma chambre d’hôtel que je partage avec mes deux frères.

J’ai donc resorti mes vieux scripts pour transformer mon laptop en routeur WiFi et ainsi partager ma connexion ethernet via le WiFi intégré.

Prérequis

Il vous faut bien entendu un ordinateur avec deux interfaces réseau. Je verrai ici comment configurer le partage en WiFi d’une connexion filiaire, mais toutes les combinaisons sont possibles.

Votre kernel doit être compilé avec les redirections IPv4:

Networking  --->
    Networking options  --->
        [ M ] Network packet filtering (replaces ipchains)  --->
            Core Netfilter Configuration  --->
                < M > Netfilter Xtables support
            IP: Netfilter Configuration  --->
                < M > IP tables support (required for filtering/masq/NAT)
                < M > Packet filtering

Activer les redirections NAT

Le laptop va jouer le rôle de routeur, ou plus exactement de NAT. Il accepte toutes les requêtes sur l’interface WiFi (wlan0) et les répète sur l’interface filiaire (eth0). L’hôtel aura l’impression qu’une seule machine génère toutes les requêtes, sur une seule IP.

# iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
# sysctl -w net.ipv4.ip_forward=1

Interconnexion des différents ordinateurs

La solution la plus simple est la création d’un réseau WiFi Ad-Hoc. Créez-le sur le laptop qui joue le rôle de NAT en lui attribuant la première IP, 10.42.42.1 par exemple.

Connectez ensuite les autres ordinateurs sur ce réseau en faisant bien attention à spécifier l’IP du NAT comme adresse du routeur.

Et voilà, vous êtes prêt à surfer!

Faire de votre laptop un vrai routeur

Si vous n’aimez pas les réseaux Ad-Hoc et/ou préférez utiliser un vrai réseau WiFi managed, avec attribution d’IP par DHCP et tout le tralala, continuez la lecture à la page suivante.

Attention toutefois, la solution décrite sur cette première page fonctionne avec tous les ordinateurs qui supportent les réseaux Ad-Hoc, alors que transformer votre ordinateur en routeur nécessite une carte et un driver supportant le mode master.

  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