Comment faire : Nmap, Wireshark, TCPdump, IPTraf, IPerf, Nast, Ettercap...
 Charge moyenne sur 1mn : 0.06 Charge moyenne sur 5mn : 0.03 Charge moyenne sur 15mn : 0.01




OLSR - Optimized Link State Routing protocol

  • OLSR - Optimized Link State Routing protocol
OLSR est un protocole proactif de routage pour object mobile. Par extention, c'est aussi son implémentation. On le trouve sous windows et linux et autres.

Informations

Dates
  • Publication : Jeudi 17 septembre 2009
  • Modification : Jeudi 01 septembre 2011

Partager

Traduire la page

C'est utilisé dans ce que l'on appelle les réseaux maillés (mesh network en anglais), en grappes ou ad-hoc multi hops. On peut résumer en disant que c'est un programme qui permet aux machines d'un réseau ad-hoc de communiquer entre elles pour qu'elles s'echangent des informations sur leur disposition. Imaginons que nous ayons trois machines (A, B et C) qui forment un réseau. A et B savent communiquer, B et C aussi mais A et C sont trop loin d'une de l'autre et donc ne savent pas dialoguer ! Grâce à OLSR, B va dire à C qu'elle peut communiquer avec A, et dire à A qu'elle peut communiquer avec C. Donc quand A et C veulent communiquer ensemble, B fera le relais !

001 A-----B----C

Projet KillBills national - No Aliens, No Bills, Just Free Wifi !

Projet lancé par la fédération Française Wireless d'une solution de réseau Wifi Mesh + Partage connexion internet avec portail d’accueil. Ce réseau libre est ouvert à tous, conciliant l’internet gratuit sans fils et les réseaux citoyens.

Le principe de réseau maillé (Mesh Network) est un réseau sans fil composé d’ordinateurs, de PC portables, de PDA, ou de systemes embarqués (point d’accés, routeur, ...) intégrant le protocole proactif de routage OLSR.

Installer et configuer OLSR sur une passerelle Linux (OLSR-Gateway)

Cette page récapitule la configuration OLSR que j'ai employé sur une passerelle (gateway) sous Linux debian Sarge. Elle permet d'émettre des ondes Wi-Fi pour que des équipements Wifi puissent s'y connecter et pouvoir naviguer sur Internet.

  • Une carte PCI eth0 qui est branché sur la Freebox ayant comme IP une IP Internet.
  • Une carte wlan0 qui émet des ondes WIFI actuellement en mode Master à comme IP 10.92.120.17 et comme masque 255.0.0.0

Installation :

Editer le fichier source APT et ajouter les dépots OLSR :

001 vi /etc/apt/sources.list
001 # OLSR
002 deb http://www.skyhub.de/debian/ unstable main
003 deb-src http://www.skyhub.de/debian/ unstable main

Télécharger les paquets olsrd et olsrd-plugin.

001 apt-get update
002 apt-get install olsrd olsrd-plugin

Configuration :

001 vi /etc/apt/sources.list
Le Firewall
001 iptables -A INPUT -p tcp --dport 698 -j ACCEPT
002 iptables -A INPUT -p udp --dport 698 -j ACCEPT
003 iptables -A FORWARD -p tcp --dport 698 -j ACCEPT
004 iptables -A FORWARD -p udp --dport 698 -j ACCEPT
005 iptables -A OUTPUT -p tcp --dport 698 -j ACCEPT
006 iptables -A OUTPUT -p udp --dport 698 -j ACCEPT
Le fichier /etc/olsrd.conf
001 DebugLevel             0
002 IpVersion              4
003 ClearScreen            no
004 
005 Hna4
006 {
007  # Internet gateway:
008  0.0.0.0      0.0.0.0
009  # more entries can be added:
010  10.0.0.0  255.0.0.0
011 }
012 
013 AllowNoInt             yes
014 
015 IpcConnect
016 {
017  MaxConnections        1
018  Host                  127.0.0.1
019 }
020 
021 UseHysteresis          no
022 
023 HystScaling            0.50
024 HystThrHigh            0.80
025 HystThrLow             0.30
026 
027 LinkQualityLevel       2
028 LinkQualityWinSize     10
029 
030 Pollrate               0.05
031 TcRedundancy           2
032 MprCoverage            1
033  
034 # ce plugin active une interface Web acccessible sur le port ci-dessous
035 # les valeur de l'option "Net" sont les réseaux pouvant accéder à cette interface Web
036 LoadPlugin "olsrd_httpinfo.so.0.1"
037 {
038        PlParam     "port"   "8080"
039 #      PlParam     "Host"   "10.92.120.17"
040 #      PlParam     "Host"   "81.56.54.30"
041        PlParam     "Net"    "10.0.0.0 255.0.0.0"
042        PlParam     "Net"    "192.168.0.0 255.255.0.0"
043        PlParam     "Net"    "0.0.0.0 0.0.0.0"
044 }
045 
046 # Permet de déclarer le nom d'hôte de cette machine et..
047 LoadPlugin "olsrd_nameservice.so.0.2"
048 {
049        PlParam     "name"         "gateway"
050        PlParam     "suffix"       ".wifi.wwweball.com"
051        PlParam     "hosts-file"   "/etc/hosts.4wifi"
052        PlParam     "resolv-file"  "/etc/resolv.conf.4wifi"
053 }
054 
055 Interface "wlan0" "eth0"
056 {
057       HelloInterval         2.0
058       HelloValidityTime     6.0
059 
060       TcInterval            5.0
061       TcValidityTime        15.0
062 
063       MidInterval           5.0
064       MidValidityTime       15.0
065 
066       HnaInterval           5.0
067       HnaValidityTime       15.0
068 }

Ligne 38, j'ai configuré le port pour accéder à mon interface Web. Il faut donc configurer à notre firewall que le port 8080 est ouvert en TCP sur cette machine.

001 iptables -A INPUT -p tcp --dport 8080 -j ACCEPT
002 iptables -A OUTPUT -p tcp --dport 8080 -j ACCEPT

Activer la carte Wi-Fi en mode ad-hoc

001 iwconfig wlan0 essid wiFi.wWwEBALL.com mode ad-hoc

Lancement d'olsrd

001 /usr/sbin/olsrd -f /etc/olsrd.conf -d 9

Une fois démarré, aller sur l'inferface Web > ex : http://10.92.120.17:8080 et vérifier la configuration.

Pour l'instant les testes sont :

Plugin Http Info

La page /routes

Les nodes OLSR :

  • Depuis un poste windows ;

    • sans olsr.exe de lancé sur ce poste
      • sur ce poste : je navigue
      • sur l'interface Web de la node "AP" : je ne vois pas ce poste sur la page /nodes.

    • avec olsr.exe de lancé sur ce poste
  • Depuis un poste linux ;
    • pas testé !
    • la configuration doit être la même mis à part le fait, que nous ayons sûrement qu'une seule carte WiFi.

Si tout marche, activer olsrd au boot de la machine

001 vi /etc/default/olsrd
001 # sourced by /etc/init.d/olsrd
002 start_olsrd=yes

et configurer la carte wifi en mode ad-hoc

001 vi /etc/network/interfaces
001 auto wlan0
002 iface wlan0 inet static
003        address 10.92.120.17
004        netmask 255.255.0.0
005        network 10.92.120.0
006        broadcast 10.92.120.255
007        wireless_essid wiFi.wWwEBALL.com
008        wireless_mode Ad-hoc

Les routes pour internet (ça vous l'savez sûrement déjà !)...

Attention :
En ligne 2 j'ai ouvert tout les ports d'internet à mes utilisateurs Wi-Fi.
Regarder de la doc sur iptables, si vous souhaitez fermer certains accès aux utilisateurs Wi-Fi.

001 # ouvrir tout le trafic vers internet
002 iptables -A FORWARD -i wlan0 -o eth0 -j ACCEPT
003 # Cacher les machines derrière le routeur
004 ipatbles -A POSTROUTING -t nat -s 10.92.120.0/24 -j MASQUERADE

Donc voilà, si j'ai rien sauté ça doit marcher :/
Bien sûr OLSR est un protocole complexe, et dès lors, je n'ai pas encore testé ses subtilités.


PS : je viens de tomber la-dessus : WifiDog And Olsr

Le problème :
Si vous choisissiez d'installer seulement une gateway Wifidog, toutes les adresses MAC des clients seront masqués par le routeur OLSR le plus proche.

La solution :
Installez une gateway Wifidog sur tous les noeuds d'OLSR. Permettez l'écoulement de HTTP entre les noeuds d'OLSR avec le script suivant lancé par le cron sur tout le noeuds.

001 #!/bin/sh
002 #
003 # Script to bypass HTTP interception for traffic forwarded by OLSR
004 # bms 9-Aug-2005
005 # Licensed under GPL
006 #
007 
008 rm -f /tmp/get_neighbors.awk
009 cat > /tmp/get_neighbors.awk <<__HERE1__
010 BEGIN {
011  while("route -n"|getline) {
012    if (/^[0-9]/) {
013        if (0 < $5) {
014           if ($3 == "255.255.255.255 ") {
015             printf "%sn", $1;
016                 }
017               }
018             }
019           }
020        }
021 __HERE1__
022 
023 
024 iptables -t nat -D WiFiDog_Unknown -j OlsrNeighbors 2>&1 >/dev/null
025 iptables -t nat -F OlsrNeighbors 2>&1 >/dev/null
026 iptables -t nat -X OlsrNeighbors 2>&1 >/dev/null
027 iptables -t nat -N OlsrNeighbors
028 
029 neighbors=$(awk -f /tmp/get_neighbors.awk)
030 
031 for _neighbor in ${neighbors} ; do
032 
033   _mac=$(grep "^${_neighbor}" /proc/net/arp | awk '{print $4}')
034   echo ${_mac}
035   iptables -t nat -A OlsrNeighbors -m mac --mac-source ${_mac} -p tcp --dport 80 -j ACCEPT
036           
037 done
038 
039 iptables -t nat -I WiFiDog_Unknown -j OlsrNeighbors

On m'a conseillé de laisser passer toutes les requetes TCP (au lieu de laisser que le port 80)

Remplacer cette ligne :

001 iptables -t nat -A OlsrNeighbors -m mac --mac-source ${_mac} -p tcp --dport 80 -j ACCEPT

par celle-ci :

001 iptables -t nat -A OlsrNeighbors -m mac --mac-source ${_mac} -p tcp -j ACCEPT

Bon personnellement, j'ai encore quelques soucis, j'aimerais partager ces astuces et ces problèmes avec d'autres.
Par exemple, j'ai des deconnexions, bcp de deconnexions :/

Installer et configuer OLSR comme relais sur un poste windows (OLSR-Relay)

J'ai testé ce relais sur un windows 2000 avec olsr-0.4.9-lsf-2-setup.exe

Je me connecte sur la node (ad-hoc) la plus proche qui m'envoie mon IP 10.92.120.20, la passerelle 10.92.120.17 et un DNS 195.132.0.132. Je lance donc OLSR Switch.exe

Voilà en image la configuration :

La section nodes m'affiche cela :

et la section routes :

L'icône dans la barre des tâches de mon windows est verte.

Le plugin HttpInfo


Pour plus de détails voici ma conf réseau :

001 ipconfig /all
001 Configuration IP de Windows 2000
002 
003        Nom de l'hôte . . . . . . . . . . : nomade
004        Suffixe DNS principal . . . . . . : lab3w.com
005        Type de noud. . . . . . . . . . . : Mélangé
006        Routage IP activé . . . . . . . . : Oui
007        Proxy WINS activé . . . . . . . . : Non
008        Liste de recherche de suffixe DNS : lab3w.com
009                                            wifi.wwweball.com
010 
011 Ethernet carte Connexion au réseau local :
012 
013        Suffixe DNS spéc. à la connexion. : wifi.wwweball.com
014        Description . . . . . . . . . . . : ORiNOCO 802.11bg ComboCard Gold
015        Adresse physique. . . . . . . . . : 00-20-A6-52-24-33
016        DHCP activé . . . . . . . . . . . : Oui
017        Autoconfiguration activée . . . . : Oui
018        Adresse IP. . . . . . . . . . . . : 10.92.120.20
019        Masque de sous-réseau . . . . . . : 255.0.0.0
020        Passerelle par défaut . . . . . . : 10.92.120.17
021        Serveur DHCP. . . . . . . . . . . : 10.92.120.17
022        Serveurs DNS. . . . . . . . . . . : 195.132.0.132

ZW3B.Links : Liens qui peuvent vous intéressez !

Web.Archive 2008


AUTEUR : LAB3W.ORJ Alias de O.Romain Jaillet-ramey (NOTIF LVL 7 - 43 ans) LAB3W.ORJ
CONTACT
- Web - STEAM - Monster - LinkedIn - Viadeo - DailyMotion - FACEBOOK - GOOGLE - Twitter
DROITS SITES : ZW3B.Admin
INSCRIPTION : Le samedi 06 janvier 1 (2001/01/06 15:31)
CONNEXION : il y a bientôt 24 jours (2020/05/12 06:02)
DERNIERE VISITE : il y a bientôt 21 jours (2020/05/15 07:29)

les réactions des ZW3B.Nautes (0 note)

Ajouter un commentaire

Avatar par default
Pseudo :
Email :
 
Ajouter la chaine de caractères (le code) ci-dessous dans le champ du dessous.
Captcha
Code :





Valid XHTML 1.0 Strict CSS Valide !

ipv6 ready