wir beabsichtigen eine neue Freifunk Community in unserer Stadt zu gründen.
Da ich noch einen vServer ungenutzt rumliegen hatte, dachte ich, das wäre das optimale Testobjekt
Ich habe erstmal ein Gateway nach Anleitung von FF Nordlippe aufgesetzt. InterCity VPN habe ich noch nicht konfiguriert. Da ich noch keine IP-Adressen für die neue Freifunk Community reserviert habe.
Eine eigene Fimrware habe ich auch gebaut. Ich habe einen WR841N v11 zu Testen hier. Die Firmware läuft auf dem Router. Wenn ich mir das Syslog auf dem Server anschaue, dann hat er via fastd auch eine Verbindung zum Gateway hergestellt:
Nov 28 09:45:42 ffein1 fastd[1443]: generating new handshake key
Nov 28 09:45:42 ffein1 fastd[1443]: adding peer {f45b5aa9443b27f9}
Nov 28 09:45:42 ffein1 fastd[1443]: responding handshake with {f45b5aa9443b27f9}[1.2.3.4:33246]…
Nov 28 09:45:43 ffein1 fastd[1443]: received handshake finish from {f45b5aa9443b27f9}[1.2.3.4:33246] using fastd v18
Nov 28 09:45:43 ffein1 fastd[1443]: handling handshake finish with {f45b5aa9443b27f9}[1.2.3.4:33246]…
Nov 28 09:45:43 ffein1 fastd[1443]: 1.2.3.4:33246 authorized as {f45b5aa9443b27f9}
Nov 28 09:45:43 ffein1 fastd[1443]: connection with {f45b5aa9443b27f9} established.
Nov 28 09:45:43 ffein1 fastd[1443]: new session with {f45b5aa9443b27f9} established using method `salsa2012+umac’.
Nov 28 09:45:43 ffein1 fastd[1443]: cleaning left handshakes with {f45b5aa9443b27f9}
Nov 28 09:45:43 ffein1 fastd[1443]: learned new MAC address da:d1:fb:a1:13:df on peer {f45b5aa9443b27f9}
Allerdings scheint er keine Verbindung zu batman aufzubauen:
root@ffein-98ded091ec3c:~# batctl gwl
Gateway (#/255) Nexthop [outgoingIF]: gw_class … [B.A.T.M.A.N. adv 2013.4.0, MainIF/MAC: primary0/da:d1:fb:a1:13:db (bat0)]
No gateways in range …
Wenn sich ein Client mit dem Wlan verbindet, dann wird diesem keine IP zugewiesen. Der DHCP läuft aber auf dem Gateway.
Habe ich da irgendwo einen Denkfehler oder etwas vergessen?
Hier noch einige Configs: site.conf fastd.conf
Die Verbindungen vom batman-adv kannst Du anzeigen mit:
batctl o
batctl tg
Kontrolliere mal auf dem Server, ob der GW-Mode wirklich gesetzt wurde (siehe fastd-config)
batctl gw
root@ffein-98ded091ec3c:~# batctl o
[B.A.T.M.A.N. adv 2013.4.0, MainIF/MAC: primary0/da:d1:fb:a1:13:db (bat0)]
Originator last-seen (#/255) Nexthop [outgoingIF]: Potential nexthops …
No batman nodes in range …
root@ffein-98ded091ec3c:~# batctl tg
Globally announced TT entries received via the mesh bat0
Client (TTVN) Originator (Curr TTVN) (CRC ) Flags
Der Server läuft als Server (woher kommt die 0.1/0.1 MBit Angabe? In der Richtung habe ich nichts konfiguriert?)
root@ffein1:~# batctl gw
server (announced bw: 0.1/0.1 MBit)
ob auf den fastd-Interfaces auch wirklich batman-adv läuft.
Wieso verwendest Du eigentlich auf dem Node noch batman-adv 2013.4? Vielleicht liegt hier der Fehler. Ist auf dem Server auch diese alte Version?
Stimmt, aus irgend einem Grund hatte ich die Zeile auskommentiert. Auf dem Server lief batman-adv auf tap0.
Nun läuft es auf dem Server:
root@ffein1:~# batctl if
ffein-mesh: active
und auf dem Node auf folgenden Interfaces:
root@ffein-98ded091ec3c:~# batctl if
ibss0: active
mesh-vpn: active
primary0: active
Stimmt, das ist echt ne alte Version. Werde gleich nochmal ne Firmware mit aktueller Version kompilieren…
Auf dem Server läuft 2014.3.0 Also auch nicht so ganz neu. Das ist wohl den alten Anleitungen geschuldet. Ggf sollte ich das Gateway auch nochmal als aktuelle Version installieren.
'ne Anmerkung zur site.conf: der IPv6-Block in der site.conf ist ein offizieller eines Hosters in Köln; Gluon funktioniert so, daß aus dem prefix6-Netz jeder(!) Freifunk-Knoten seinen Endgeräten daraus IPv6-Adressen ‚anbietet‘ (SLAAC als Stichwort, oder auch: man radvd). Heißt: Endgeräte glauben, eine IPv6-Verbindung zu haben und bevorzugen diese in der Regel. Falls das Gateway das so korrekt routen kann und soll, ist der Eintrag ok (aber: Vorsicht, Störerhaftung!); falls nicht, besser dort ULA verwenden. Bedenke, daß Dein vServer-GW IPv6 ggf. schon routet; Provider mögen es i. d. R. nicht, wenn man ihnen fremde IPs ins Netz kippt
Wo gibt es andere, aktuellere Anleitungen für Gateways?
Die aus Nordlippe ist recht veraltet (zb altes batman-adv, noch mit ffmap) und der Link von MPW zum Ausprobieren ungeeignet (zb wegen ansible und l2tp).
Interessant wäre die Kombination mit hopclass, grafana und respondd, wie sie es ja zumindest einige Communities via debian verwenden.
p.s. Wer hat zufällig eine Anleitung für die Gateway-Installation mit Openwrt bzw. LEDE? Wir verwenden dies zwar schon eine Weile, allerdings ist das Setup noch nicht vollständig (zb collectd anstelle grafana)
du sorgst dafür das ein dnsmasq auf dem mesh-vpn läuft damit clients ip und Gateway bekommen.
du sorgst dafür das der traffic auf dem mesh-vpn device seinen Exit findet,
du routest ggf. internen freifunk traffic zu anderen gateway
und zuguter letzt das mesh-vpn (und andere backendserver) zu batman hinzufügen und in den servermode schalten.
Als minimal notwendig würde ich erachten,
batman-adv in der richtigen Version
batctl
fastd
das lohnt durchaus sich mit seinen vorstellungen da selber durchzuarbeiten.
wenn das läuft kann gern auch alfred, alfred-vis , map-backend, map etc.pp folgen.
wenn du statt fastd , wireguard oder l2tp nutzen willst, musste halt dafür Endpunkte für potentielle clients erstellen. Hoffe das dich diese doch recht oberflächlichen Minimalbeschreibungen weiter bringen
( Ansonsten ists mit einer „Standard“ Gateway beschreibung glaub daher schwierig , weil der eine mag verschlüsselung, der andere will direkt ausleiten, andere wollen exotische Exit, die wege dahin sind vielfältig, die einen haben l2tp, die anderen fastd, experimentierfreudige wireguard/gretap, die einen haben batman-v14, andere wollen mapserver mitlaufen lassen, andere brauchen nagios/prometheus/icinga, die einen wollen alfred foo machen, die einen haben standalone backend, andere 10 backendserver, manche wollen nur spielen, andere ernsthaft hunderte clients performant versorgen, manche wollen icvpn, einige v6, ander nicht, manche nur intern … and so on …) edit: manchen haben so Anleitungen die genau für sie passen und in der Regel outdatet sind, aber dennoch hlfreich sein können
Ich habe darmals mir dieser Anleitung angefangen: Freifunk Stormarn:Gateway-alt – wiki.freifunk.net
Ein Sonntag und viel Kaffee dann lief der erste Gateway.
Ansonsten: ich wollte das bei Hetzner auf einer VM machen, dort bekommt man aber nicht direkt eine öffentliche IP. Bei netcup lief es dann aber Problemlos.
Hi,
ich hatte mit auch das was ich bisher auf meinem gw getan hatte auch wegdokumentiert.
Damit konnten die Knoten eine Verbindung aufbauen, und die clients bekamen eine ipv4 Adresse + über v4 internet via VPN … (sehe grade in der doku fehl der dhcp teil :-/)