====== B.A.T.M.A.N. advanced ======
Um das Freifunknetzwerk nicht nur zu nutzen, sondern auch zu erweitern, lernen wir ein Teil davon zu werden.
Debian 7.0 kommt bereits mit dem notwendigen [[http://www.open-mesh.org/projects/batman-adv/wiki/Wiki|batman-adv]] Kernelmodul. Weiterhin sollten die Pakete ''batctl'', ''ip'', ''nmap'' und ''curl'' vorhanden sein.
# Kernelmodul laden
modprobe batman-adv
# wlan device in ad-hoc mode schalten
iwconfig wlan0 mode ad-hoc
iwconfig wlan0 essid batman.jena.freifunk.net
batctl if add wlan0
# eine weile warten und andere Teilnehmer des Meshnetzwerks anzeigen
batctl o
# optional kann man andere hosts im batman-adv layer pingen
batctl p fa:1a:67:cb:25:12
# um ins internet zu kommen muss man einen default gateway finden
# alle konten sind von der form 10.17.*.1
ifconfig wlan0 0.0.0.0
ifconfig bat0 10.17.78.1 # besser auf address kollision pruefen!
# finde den schnellsten node
nmap -sP '10.17.*.1'
# nutze den schnellsten als gateway
ip route add default via 10.17.11.1 dev bat0
# akzeptiere den splash screen
curl -d target_url=foo 10.17.11.1/cgi-bin/splash-click.html
Die einzelnen Batman Knoten kann man ueber ihre link-local IPv6 Addresse erreichen:
ssh fe80::fa1a:67ff:fecb:3162%bat0
In order to check the underlying mesh-wide distributed database ([[http://http://code.sotun.de/git/hbbp/|hbbp source repository]]), add the following Lua code to ''/usr/share/wireshark/init.lua''. If you run wireshark as root make sure to comment out the appropriate lines in this file to allow Lua to run.
trivial_proto = Proto("hbbp","Home Brew Broadcast Protocol")
-- create a function to dissect it
function trivial_proto.dissector(buffer,pinfo,tree)
pinfo.cols.protocol = "HBBP"
local subtree = tree:add(trivial_proto,buffer(),"HBBP Data")
local i = 0
local b = buffer():bytes()
while (i
Here is screenshot of the dissector in action:
{{hswiki:projekte:screen_lua.png?640|}}
{{tag>anleitungen}}