Spielerei mit RasPi rein ins FFF-Netz ohne Router

Tim Niemeyer tim.niemeyer at mastersword.de
Sa Sep 12 15:13:43 CEST 2015


Am Samstag, den 12.09.2015, 14:56 +0200 schrieb Christian Dresel:
> Am 12.09.2015 um 14:28 schrieb Tim Niemeyer:
> 
> > Hi
> > 
> > Am Samstag, den 12.09.2015, 14:02 +0200 schrieb Christian Dresel:
> > > Hallo
> > > 
> > > nachdem der liebe Provider mein RasPi im Rechenzentrum noch immer
> > > nicht freigeschaltet hat, hab ich mal mit einem SchreibtischPi
> > > angefangen ;) Mein Ziel:
> > > Das Ding ins Freifunknetz zu bekommen ohne an einem Freifunkrouter zu
> > > hängen, sprich fastd und batman-adv sollen auf dem Pi laufen.
> > > Technisch gesehen also ein "Gateway" nur eben ohne DHCP Server oder
> > > anderen Routingsachen. Als OS hab ich Raspbian genommen und das ganze
> > > X11 Zeug runtergeworfen sonst wäre ich mit der 4GB Karte nicht mehr
> > > klar gekommen...
> > > 
> > > Nach langen Krampf hab ich nun fastd und batman-adv kompiliert und zum
> > > laufen bekommen *stolz angeb* ;)
> > > 
> > > Leider tu ich mich mit den Configscripten etwas schwer, im Prinzip
> > > halte ich mich an die Anleitung zum Gatewayaufbau. Ich kopier jetzt
> > > mal hier rein was ich habe, wer einen Fehler sieht oder einen Tipp für
> > > mich hat immer raus damit.
> > > 
> > > In der vi /etc/network/interfaces hab ich die Zeile:
> > > 
> > > "post-up invoke-rc.d isc-dhcp-server restart"
> > > ausgeklammert, die brauch ich ja nicht, da ich keinen dhcp Server
> > > habe, richtig? Wenn ich die drinnen lasse, fährt bat0 nicht hoch (weil
> > > eben der DHCP Server fehlt).
> > Ich verstehe nicht was du gerade bauen möchtest. Wenn du batman drauf
> > packst, dann willst du offenbar ein Server machen, der die Hood mit IPs
> > und Routing versorgt. Dann brauchst du aber natürlich den DHCP.
> > Wenn du allerdings nur eine Daten-Abwerf-Kiste bauen willst, dann
> > brauchst du natürlich kein DHCP, aber dann brauchst du auch kein fastd
> > und kein batman.
> Wie gesagt, eine Spielerei, Das RasPi soll im Freifunknetz erreichbar
> sein. Stell dir einfach vor, ich will auf dem RasPi einen Webserver im
> Freifunknetz betreiben hab aber keinen FFF Router hier (woran ich es
> natürlich "einfach" an den Clientport anschließen könnte, aber das
> wäre ja zu einfach -> Spielerei), also müsste das RasPi eben per fastd
> und batman ins Freifunknetz um dort den Webserver zur Verfügung zu
> stellen. Das ist jetzt nur ein Beispiel (aber kein schlechts,
> vielleicht finde ich ja echt was, was ich auf dem RasPi anbieten
> könnte ;) )
> Demnach brauch ich keinen DHCP Server und auch keinerlei Routing ins
> OSLR Netz (zumindest wenn ich das Prinzip soweit richtig verstanden
> habe... ich sagte ja ich lerne noch ;) )

Ah ja, mein Fehler. Das hattest du ja auch so geschrieben. Richtig.

Trotzdem ist das OLSR an dieser Stelle nicht ganz dumm. Denn was
möchtest du z.B. als Gateway eintragen, denn du möchtest ja vermutlich
schon mit den anderen Nutzern aus anderen Hoods reden können.

Hier gibts zwei Ansätze:
a) Du nutzt einen DHCP Client, der regelmäßig nach Gateways Ausschau
hält, aber keine IP annimmt.
b) Du bindest den Client über das L3-Netz an, dann wird er keiner Hood
zugeordnet.

Nach deinem aktuellen Ansatz ist dein Client gerade in der default Hood
angesiedelt und wird also also dort mit einer Fürther IP auftreten. Das
Problem kann man lösen, in dem man das Ding im keyXchange fest in die
Fürther Hood steckt.

Tim

> > > Ist eigentlich das fastd Startscript so richtig?
> > > #!/bin/sh
> > > 
> > > SERVER="yes"
> > > SERVERNAME="ChristianDRasPi"
> > > 
> > > hood="fuerth"
> > > project="fff"
> > > port=10004
> > > ... Rest so belassen und nix mehr geändert
> > > 
> > > Hier nun die Ausgaben:
> > > 
> > > pi at raspberrypi /etc/fastd $ sudo ./fff_ChristianDRasPi_fastd.sh
> > > 2015-09-12 11:43:03 +0000 --- Info: Reading 32 bytes
> > > from /dev/random...
> > > /bin/rm: cannot remove `/var/run/fastd.fff.fuerth.pid': No such file
> > > or directory
> > > --2015-09-12 11:43:54--
> > > http://mastersword.de/~reddog/fff/?name=ChristianDRasPi.fuerth&port=10004&key=ZENSIERT!!! (da steht natürlich ein Key, weiß nur nicht ob man den so öffentlich rumposaunen soll?)
> > > Resolving mastersword.de (mastersword.de)... 5.9.54.215,
> > > 2001:6f8:90f:1::1
> > > Connecting to mastersword.de (mastersword.de)|5.9.54.215|:80...
> > > connected.
> > > HTTP request sent, awaiting response... 200 OK
> > > Length: unspecified [text/html]
> > > Saving to: `/tmp/fastd_fff.fuerth_output'
> > > 
> > >     [ <=>                                   ] 344         --.-K/s   in
> > > 0s
> > > 
> > > 2015-09-12 11:43:55 (2.16 MB/s) - `/tmp/fastd_fff.fuerth_output' saved
> > > [344]
> > > 
> > > Lösche alte:
> > > pi at raspberrypi /etc/fastd $ ifconfig
> > > bat0      Link encap:Ethernet  HWaddr da:b3:cc:1b:d5:3a
> > >           inet addr:10.50.32.4  Bcast:0.0.0.0  Mask:255.255.248.0
> > >           UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
> > >           RX packets:1 errors:0 dropped:0 overruns:0 frame:0
> > >           TX packets:26 errors:0 dropped:0 overruns:0 carrier:0
> > >           collisions:0 txqueuelen:0
> > >           RX bytes:42 (42.0 B)  TX bytes:5082 (4.9 KiB)
> > > 
> > > eth0      Link encap:Ethernet  HWaddr b8:27:eb:fc:76:63
> > >           inet addr:192.168.2.105  Bcast:192.168.2.255
> > > Mask:255.255.255.0
> > >           UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
> > >           RX packets:6622 errors:0 dropped:0 overruns:0 frame:0
> > >           TX packets:1926 errors:0 dropped:0 overruns:0 carrier:0
> > >           collisions:0 txqueuelen:1000
> > >           RX bytes:714237 (697.4 KiB)  TX bytes:913489 (892.0 KiB)
> > > 
> > > ffffuerthVPN Link encap:Ethernet  HWaddr 9e:88:21:e8:e1:ab
> > >           inet addr:169.254.7.38  Bcast:169.254.255.255
> > > Mask:255.255.0.0     <---------- Das sieht mit fehlerhaft aus oder?
> > >           UP BROADCAST RUNNING MULTICAST  MTU:1426  Metric:1
> > >           RX packets:0 errors:0 dropped:0 overruns:0 frame:0
> > >           TX packets:62 errors:0 dropped:0 overruns:0 carrier:0
> > >           collisions:0 txqueuelen:500
> > >           RX bytes:0 (0.0 B)  TX bytes:10703 (10.4 KiB)
> > > 
> > > lo        Link encap:Local Loopback
> > >           inet addr:127.0.0.1  Mask:255.0.0.0
> > >           UP LOOPBACK RUNNING  MTU:65536  Metric:1
> > >           RX packets:44 errors:0 dropped:0 overruns:0 frame:0
> > >           TX packets:44 errors:0 dropped:0 overruns:0 carrier:0
> > >           collisions:0 txqueuelen:0
> > >           RX bytes:4352 (4.2 KiB)  TX bytes:4352 (4.2 KiB)
> > > 
> > > pi at raspberrypi /etc/fastd $ ping 10.50.32.4
> > > PING 10.50.32.4 (10.50.32.4) 56(84) bytes of data.
> > > 64 bytes from 10.50.32.4: icmp_req=1 ttl=64 time=0.245 ms
> > > 64 bytes from 10.50.32.4: icmp_req=2 ttl=64 time=0.188 ms
> > > ^C
> > > --- 10.50.32.4 ping statistics ---
> > > 2 packets transmitted, 2 received, 0% packet loss, time 1001ms
> > > rtt min/avg/max/mdev = 0.188/0.216/0.245/0.032 ms
> > > pi at raspberrypi /etc/fastd $ ping 10.50.32.1
> > > PING 10.50.32.1 (10.50.32.1) 56(84) bytes of data.
> > > ^C
> > > --- 10.50.32.1 ping statistics ---
> > > 3 packets transmitted, 0 received, 100% packet loss, time 2000ms
> > Diese Verbindung würde nach deinem aktuellen Aufbaue (wenn batman
> > korrekt wäre) über das fastd gehen. Lass uns ein anderes Beispiel
> > nehmen, wie wäre es mit: "ping 10.50.80.2".
> > Den Server will man ja auch erreichen können, das würde nicht über fastd
> > funktionieren. Was ich sagen will: du brauchst noch OLSR und eine
> > Anbindung an das OLSR Netz. Das brauchst du auch in jedem Fall, egal ob
> > du ein "Hood-Server" oder ein "Internet-Router" bauen willst.
> solang ich aber "nur" einen Webserver betreiben will, brauch ich die
> Anbindung ans OLSR Netz nicht, oder versteh ich da was falsch?
> > 
> > > pi at raspberrypi /etc/fastd $ ls
> > > fff_ChristianDRasPi_fastd.sh  fff.fuerth
> > > pi at raspberrypi /etc/fastd $ ls fff.fuerth
> > > down.sh  fff.fuerth.conf  peers  up.sh
> > > pi at raspberrypi /etc/fastd $
> > > 
> > > 
> > > fastd läuft soweit:
> > > pi at raspberrypi ~ $ pgrep fastd
> > > 2624
> > > pi at raspberrypi ~ $
> > > 
> > > sieht für mich auch ok aus:
> > > pi at raspberrypi ~ $ ip rule
> > > 0:      from all lookup local
> > > 32763:  from all to 10.0.0.0/8 lookup fff
> > > 32764:  from 10.0.0.0/8 lookup fff
> > > 32765:  from all iif bat0 lookup fff
> > > 32766:  from all lookup main
> > > 32767:  from all lookup default
> > > pi at raspberrypi ~ $ ip route show table fff
> > > 10.50.32.0/21 dev bat0  scope link
> > > pi at raspberrypi ~ $
> > > 
> > > Tja die Nachbarn fehlen wohl auch :(
> > > 
> > > pi at raspberrypi /etc/fastd $ sudo batctl o
> > > [B.A.T.M.A.N. adv 2015.0, MainIF/MAC: ffffuerthVPN/9e:88:21:e8:e1:ab
> > Das Batman ist zu neu.
> > 
> > Wenn dein Kernel ein neueres Batman Modul mitbringt, muss das ggfs erst
> > aus dem Weg geräumt werden, damit das selbst compilierte ältere auch
> > wirklich verwendet wird.
> > 
> > Tim
> aua das ist mir gar nicht aufgefallen, eigentlich bringt meine Distri
> kein Batman mit und ich habs von hier kompiliert
> https://github.com/freifunk-gluon/batman-adv-legacy irgendwas muss da
> wohl schief gelaufen sein. Ich bau es gerade neu und dann probier ich
> es wieder. Danke für den Tipp, das ist mir nicht aufgefallen.
> > 
> > >  (bat0 BATMAN_IV)]
> > >   Originator      last-seen (#/255)           Nexthop [outgoingIF]:
> > > Potential nexthops ...
> > > No batman nodes in range ...
> > > pi at raspberrypi /etc/fastd $
> > > 
> > > reinpingen (also aus dem Freifunknetz die 10.50.32.4) geht natürlich
> > > auch nicht.
> > > 
> > > Jemand einen goldenen Tipp für mich? Ich bin solang weiter am
> > > rumprobieren :)
> > > 
> > > Gruß Christian
> > 
-------------- nächster Teil --------------
Ein Dateianhang mit Binärdaten wurde abgetrennt...
Dateiname   : signature.asc
Dateityp    : application/pgp-signature
Dateigröße  : 819 bytes
Beschreibung: This is a digitally signed message part
URL         : <http://lists.freifunk.net/pipermail/franken-dev-freifunk.net/attachments/20150912/d19b7472/attachment-0002.sig>


Mehr Informationen über die Mailingliste franken-dev