Pour éditer le wiki, il faut demander un compte à un Lapin !

EtherBridge

From Le L∞p's Wiki
Revision as of 02:50, 24 August 2014 by Dermiste (Talk | contribs) (Created page with "== Problématique & programme == Avec OpenWRT, il est possible de faire un pont WiFi entre deux réseaux filaire ethernet en restant au niveau 2 OSI. La difficulté vient du...")

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Problématique & programme

Avec OpenWRT, il est possible de faire un pont WiFi entre deux réseaux filaire ethernet en restant au niveau 2 OSI.

La difficulté vient du fait que, en WiFi, une interface en mode managed ne peut pas se comporter comme un switch (présenter plusieurs adresses MAC). On doit donc passer au niveau 3 OSI et mettre en place des tables de routage, et/ou du NAT.

Mais il y a une autre solution: créer un tunnel entre les deux routeurs, qui passera par le réseau WiFi, et qui exposera de chaque coté une interface TAP, qui sera bridgée avec l'interface ethernet locale.

Cette page décrit comment mettre en place ce genre de configuration en partant de deux Fonera fraîchement flashées avec OpenWRT. Une servira d'Access Point et aura l'IP 192.168.123.1 sur l'interface WiFi, l'autre fera client et aura l'IP 192.168.123.10 sur l'interface WiFi.

Préparation des interfaces WiFi

Par défaut, OpenWRT est accessible par l'interface ethernet, a pour adresse IP 192.168.1.1/24, et est accessible par telnet.

 telnet 192.168.1.1


 uci set network.etherbridge=interface
 uci set network.etherbridge.proto=none
 uci set network.etherbridge.proto=static
 uci set network.etherbridge.ipaddr=192.168.123.1
 uci set network.etherbridge.netmask=255.255.255.0
 uci commit network
 uci set wireless.radio0.disabled=0
 uci set wireless.@wifi-iface[0].network=etherbridge
 uci set wireless.@wifi-iface[0].ssid=etherbridge
 uci set wireless.@wifi-iface[0].encryption=psk2
 uci set wireless.@wifi-iface[0].key='la cle wpa du pont'
 uci set wireless.@wifi-iface[0].mode=ap
 uci commit wireless
 uci set dhcp.etherbridge=dhcp
 uci set dhcp.etherbridge.interface=etherbridge
 uci set dhcp.etherbridge.ignore=1
 uci commit dhcp
 uci add_list firewall.@zone[0].network=etherbridge
 uci commit firewall
 /et/init.d/network restart

Pour la fonera qui va faire client il suffit de changer wireless.@wifi-iface[0].mode=ap par wireless.@wifi-iface[0].mode=sta et de renseigner une adresse IP différente.

Avant de passer a l'étape suivante, rebootez la Fonera et vérifiez que vous pouvez vous y connecter en telnet en passant par le réseau WiFi "etherbridge".

Bascule des interfaces filaires

 uci set network.lan.proto=dhcp
 uci delete network.lan.ipaddr
 uci delete network.lan.netmask
 uci delete network.lan.ip6assign
 uci commit network
 /etc/init.d/network reload

Installation d'OpenVPN

 opkg update
 opkg install openvpn-nossl

Une fois openvpn installé, il est judicieux de débrancher le cable ethernet.

Configuration d'OpenVPN

 uci set openvpn.etherbridge=openvpn
 uci set openvpn.etherbridge.dev=tap0
 uci set openvpn.etherbridge.proto=udp
 uci set openvpn.etherbridge.remote=192.168.123.10
 uci set openvpn.etherbridge.fragment=1200
 uci set openvpn.etherbridge.enabled=1
 uci commit openvpn
 /etc/init.d/openvpn enable
 /etc/init.d/openvpn start

verifier avec ifconfig tap0

Ajout du tunnel au bridge

 uci set network.lan.ifname='eth0 tap0'
 uci commit network
 /etc/init.d/network reload

Vérifier avec brctl show

Déploiement final

 { Réseau Principal } ------ [ Fonera 1 ]--+)))    (((+--[ Fonera 2 ]----{ Extension du réseau }

A partir de la, la partie "extension du réseau" aura une liaison niveau 2 avec le réseau principal, on pourra lancer un dhclient depuis l'extension et acquérir un bail depuis un serveur situé dans le réseau principal.