B.A.T.M.A.N. (Better Approach To Mobile Ad-hoc Networking) e visualizzazione 3d dei link wifi
Friday, June 20th, 20082 giorni fa avendo tempo mi sono messo a provare un po Batman questo relativamente nuovo protocollo che si propone di migliorare il gia esistente Olsr, devo dire che i test hanno dati risultati davvero positivi e la configurazione è davvero semplice anche se la documentazione è davvero poca. Innanzitutto lavoreremo con Openwrt Kamikaze 7.09 io me lo sono gia ricompilato da svn quindi se volete le immagini sono queste: openwrt-atheros-2.6-root.squashfs e openwrt-atheros-2.6-vmlinux.lzma una volta flashata la nostra fonera con ap51 flash abbiamo la versione base di Kamikaze che risponderà sull’ip 192.168.1.1. Ora iniziamo la configurazione per batman e l’interfaccia web: diamo
vi /etc/ipkg.conf
e aggiungiamo la riga:
src X-Wrt http://downloads.x-wrt.org/xwrt/kamikaze/7.09/atheros-2.6/packages/
il file finale dovrà apparire così:
src release http://downloads.openwrt.org/kamikaze/7.09/atheros-2.6/packages src packages http://downloads.openwrt.org/kamikaze/packages/mips src X-Wrt http://downloads.x-wrt.org/xwrt/kamikaze/7.09/atheros-2.6/packages/ dest root / dest ram /tmp
poi diamo:
ipkg update
e dopodiche installiamo la GUI:
ipkg install webif
e ora batman:
ipkg install http://www.ieie.it/download/fonera/batmand_0.3-current_mips-kk-elf-32-msb-dynamic.ipk
passiamo ora alla sua configurazione(la facciamo attraverso uno script che viene lanciato ):
vi /etc/batman_start.sh
che dovrà apparire così:
#/bin/sh
batmand -s ip_server_visual -a gw_internet/24 -g 9 ath0
se il nodo è un nodo che è direttamente collegato ad internet dove: ip_server_visual è l’ip della macchina che ha attivo(lo vedremo dopo) il server che visualizza la topologia della rete gw_internet è l’ip che usa la fonera per andare in internet. se il nodo non ha connettività dovrà essere così:
#/bin/sh batmand -s ip_server_visual -r 3 -p gw_preferito ath0
dove gw_preferito è l’ip della fonera che ha connettività configurazione rete della fonera: Io ho optato per separare la rete wifi(batman) da un evenutale rete lan e ho agito in questo modo: /etc/config/network
config interface loopback
option ifname lo
option proto static
option ipaddr 127.0.0.1
option netmask 255.0.0.0
config interface lan
option ifname eth0
option type bridge
option proto static
option ipaddr 192.168.3.140
option netmask 255.255.255.0
option gateway 192.168.3.1
option dns 192.168.3.1
#### Wi-Fi LAN configuration
config interface wifi
option ifname “ath0″
option proto static
option ipaddr 192.168.9.1
option netmask 255.255.255.0
Naturalmente dovrete cambiare i parametri della lan se il nodo che state configurando è collegato a internet e mettere i vostri, per quanto riguardo la wifi le impostazioni devono essere le stesse per tutti i nodi tranne naturalmente cambiare per ogni nodo “option ipaddr” che deve essere diverso per tutti e la configurazione wifi:
/etc/config/wireless
config wifi-device wifi0
option type atheros
option channel 1
option mode ’11bg’
option diversity ’0′
option txantenna ’1′
option rxantenna ’1′
option disabled ’0′ config wifi-iface
option device wifi0
option network ‘wifi’
option mode ‘adhoc’
option ssid ‘batman’
option encryption none
option hidden ’0′
option isolate ’0′
option txpower ’18′
option bgscan ’0′
option wds ’0′
La configurazione di /etc/config/wireless deve essere uguale per tutti i nodi. Ok la configurazione delle fonere è finita, lanciando su ognuna /etc/batman_start.sh dopo averlo reso eseguibile con chmod +x /etc/batman_start.sh le fonere gia si dovrebbero vedere. Ora passiamo ai client (computer) che si devono connettere a internet o comunque usare la rete BATMAN: Perchè un computer possa entrare nella rete BATMAN deve poter parlare il protocollo BATMAN e quindi ci deve essere il demone BATMAN attivo. Io ho usato una UBUNTU per le prove ma qualsiasi distro linux va bene, scarichiamo il file batman-0.3.tar.gz estraiamo l’archivio dove ci pare e poi diamo da terminale dentro la cartello dove abbiamo estratto batman “make”, alla fine della compilazione ci ritroveremo nella cartella con il demone batmand, a questo punto dopo aver settato la nostra scheda wifi con:
sudo iwconfig eth1 essid batman mode ad-hoc sudo ifconfig eth1 192.168.9.X
possiamo lanciare batmand scegliendo sempre una delle due modalità (client o gateway):
./batmand -s ip_server_visual -a gw_internet/24 -g 9 eth1
se il nodo è un nodo che è direttamente collegato ad internet dove: ip_server_visual è l’ip della macchina che ha attivo(lo vedremo dopo) il server che visualizza la topologia della rete gw_internet è l’ip che usa la fonera per andare in internet. se il nodo non ha connettività dovrà essere così:
./batmand -s ip_server_visual -r 3 -p gw_preferito eth1
dove gw_preferito è l’ip della fonera che ha connettività A questo punto dovremmo gia essere in grado di navigare o comunque di vedere gli altri nodi della rete con un ping, se non riusciamo a navigare proviamo ad aggiungere la rotta di default con:
sudo route add default gw gw_internet
e il tutto dovrebbe funzionare. Installiamo il visualization server scaricando vis-0.3.tar.gz scompattandolo in una cartella a piacere e dando
make
lanciamolo con
./vis interfaccia
dove al posto di interfaccia dobbiamo mettere l’interfaccia fisica su cui deve rimanere in ascolto (ex eth1) Ora installiamo s3d per la visualizzazione 3d scaricandolo da svn
:
svn checkout svn://svn.berlios.de/s3d/trunk
e seguiamo il readme per compilarlo, una volta compilato lanciamo il server:
./s3d
e poi lanciamoda dentro apps
./meshs3d -H vis_server
dove vis_server è l’indirizzo ip del server vis che abbiamo lanciato prima. E ora dovremmo visualizzare la topologia in 3d.
Il risultato lo potete osservare in galleria




