Avant toute chose

Billet sur le partage de connexion avec un bridge

Récapitulatif

  • WAN : Freebox avec le module usbnet
  • LAN : Ethernet avec le module 3c59x
  • WLAN : Wifi 802.11g avec la carte PCI (chipset PRISM GT) avec le module prism
CONFIG_USB_USBNET=m
CONFIG_NET_VENDOR_3COM=y
CONFIG_VORTEX=m
CONFIG_PRISM54=m

Un petit lscpi et nous avons :

bibinsa@bibibox:~$ lspci
...
0000:02:08.0 Ethernet controller: 3Com Corporation 3Com 3C920B-EMB-WNM Integrated Fast Ethernet Controller (rev 40)
000:02:0e.0 Network controller: Intersil Corporation Intersil ISL3890 [Prism GT/Prism Duette] (rev 01)
...
bibinsa@bibibox:~$

Un petit plus par rapport à un routage classique (dans ce cas précis, nous aurions trois sous-réseaux IP) est d'utiliser le mode bridge (switch, commutateur, pont...) afin de mettre le réseau sans-fil et le réseau filaire dans un seul et même réseau IP managé par la bibibox.

Configuration réseau

Fichier /etc/network/interfaces pour les interfaces :

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

# The loopback network interface
auto lo
iface lo inet loopback

# Freebox
auto freebox
iface freebox inet dhcp

# Switch des interface lan et wifi
auto bridge
iface bridge inet static
        address 192.168.254.254
        netmask 255.255.255.0
        network 192.168.254.0
        broadcast 192.168.254.255
        bridge_ports lan wifi
        bridge_stp off
        bridge_fd 2
        bridge_maxwait 0
        pre-up /usr/local/bin/wireless-conf.sh wifi

Fichier /usr/local/bin/wireless-conf.sh pour la configuration wifi :

#!/bin/bash
IFACE=$1
iwconfig $IFACE nick "Hub wifi Bibibox" mode Master
iwconfig $IFACE essid "Bibibox WLAN"
iwconfig $IFACE key on
iwconfig $IFACE key 1111111111 [1]

Avec cette configuration, le réseau 192.168.254.0/24 est partagé par les machines wifi et filaires. La bibibox (le routeur en fait) est accessible par l'adresse IP 192.168.254.254 sur le LAN/WLAN. Le routage entre Internet et le réseau local se fait grâce à iptables et son masquerading.

Activation des toutes les interfaces

/etc/init.d/networking restart

C'est terminé !