HowToBatman: differenze tra le versioni
(Creata pagina con "Con queste istruzioni si può creare una mesh di prova fra diversi pc oppure collegarsi ad EigenNet, utilizzando batman-adv e antenna wireless integrata. Prima di inzia...") |
Nessun oggetto della modifica |
||
Riga 92: | Riga 92: | ||
option proto 'batadv' | option proto 'batadv' | ||
option mesh 'bat0' | option mesh 'bat0' | ||
[[Categoria:HowTo]] |
Versione attuale delle 18:47, 19 nov 2016
Con queste istruzioni si può creare una mesh di prova fra diversi pc oppure collegarsi ad EigenNet, utilizzando batman-adv e antenna wireless integrata.
Prima di inziare fermiamo il nostro network manager, potrebbe interferire.
/etc/init.d/network-manager stop
Dobbiamo impostare la modalità della nostra scheda wireless. Può essere Managed (client che si connette ad access point), Master (agisce da access point), Ad-Hoc (nodi che si collegano fra loro senza access point). Quindi scegliamo la modalità Ad-Hoc.
iwconfig wlan0 mode Ad-Hoc
Batman incapsula il traffico aggiungendo un header di 28 bytes in ogni pacchetto, quindi bisogna aumentare la dimensione massima dei pacchetti che possono essere trasmessi sull'interfaccia fisica da 1500 a 1528 (in modo che possano passare i pacchetti originariamente grandi 1500)
ifconfig wlan0 mtu 1528
Possiamo scegliere il canale su cui operare. Saltando questo passaggio si usa il canale 1
iwconfig wlan0 channel [n]
L'essid serve ad identificare gli altri nodi della mesh
iwconfig wlan0 essid "lamiamesh"
Impostiamo anche lo stesso bssid perchè alcuni driver wifi hanno problemi quando ci sono molti nodi con bssid diversi e non si associano.
iwconfig wlan0 ap 02:aa:bb:cc:dd:ee
A questo punto possiamo tirare su l'interfaccia
ip link set wlan0 up
Molto probabilmente avremo già il modulo batman-adv, in caso contrario lo scarichiamo e installiamo da http://www.open-mesh.org . Per caricarlo
modprobe batman-adv
Batman opera in kernel space per evitare il sovraccarico di read() e write() che avrebbe processando i pacchetti in user space.
Per configurare il modulo batman-adv si usa il programma batctl.
Adesso aggiungiamo le interfacce su cui vogliamo fare la mesh
batctl if add wlan0
e batman crea automagicamente una nuova interfaccia virtuale bat0 inconsapevole del layer inferiore, che ci collega a tutti gli altri partecianti alla mesh.
Configuriamo il layer 3. Tutti i partecipanti possono assegnarsi un ip oppure uno può attivare un server dhcp su bat0
ip a add 192.168.1.1/24 dev bat0
per l'accesso ad internet uno dei nodi può agire da gateway:
iptables -t nat -A POSTROUTING -o intefaccia_con_internet -j MASQUERADE
e sui client
ip r add default via ip_del_gateway dev bat0
per dare la possibilità ad altri di partecipare alla mesh, senza usare batman e collegandosi alla porta ethernet del pc, si usano i bridge.
brctl addbr mesh-bridge brctl addif mesh-bridge eth0 brctl addif mesh-bridge bat0
e per openwrt?
git clone git://git.openwrt.org/12.09/openwrt.git make menuconfig e classica configurazione. kmod-batman-adv si trova sotto Kernel modules -> Network Support
Si usano appositi file di configurazione in /etc/config/wireless
config wifi-iface 'wmesh' option device 'device fisico' option ifname 'adhoc0' option network 'mesh' option mode 'adhoc' option ssid 'lamiamesh' option bssid '02:aa:bb:cc:dd:ee'
in /etc/config/network
config interface 'mesh' option ifname 'adhoc0' option mtu '1528' option proto 'batadv' option mesh 'bat0'