Benutzer:PeterPhilipp

Aus Freifunk Franken
Wechseln zu:Navigation, Suche

Ich war von 2014-2018 aktiv. Dann eine Pause. Ich will 2021 wieder aktiv werden.

Meine Kontakt mail ist: freifunk [at] delphinusdns [dot] org

Good to knows

Ein Backup Gateway auf OpenBSD basis

Ich hab ein halbes dutzend Hobbies, und viele basieren rund um dem Betriebssystem OpenBSD. OpenBSD ist jetzt in der version 6.9. Um 6.8 rum bekam es wireguard support. Rola und ich haben versucht eine cloud instanz von mir bei Hetzner die OpenBSD ist umzubauen das es ein backup gateway werden kann. Was wir jetzt haben ist eine test-loesung. Wir hatten drei oder vier reibungspunkte wo wir nicht sicher waren das OpenBSD diese erfüllen konnten.

  • GRE tunnel (muss kompatibel zu Linux sein)
  • Babeld muss funktionieren auf OpenBSD (wir benutzten 1.10 version)
  • wireguard um den FFF Router einen tunnel zu geben
  • ip tables oder kompatibel. Wir benutzten rdomain(4).

Mehr hierzu ein wenig spaeter (fuer die details):

Bei mir ging es nicht

Ende Juni 2021, hab ich beschlossen das gateway abzubauen. Für ungefähr 1-2 wochen ging der gateway nicht mehr. Die routen haben sich alle auf blackhole routen umgestellt auf die schnittstelle lo5. Ich weiss nicht was ich da tun soll, restart vom babeld hat nicht geholfen. Vielleicht war die technologie noch nicht ausgereift für BSD. Es lief die meiste Zeit von mitte Mai bis ende Juni also 6 wochen.

OpenBSD

Ich benutzte OpenBSD 6.9 mit patch 001 auf dem system. Der VPS steht bei Hetzner Online in Nürnberg.


rdomains

Ein rdomain ist ein routing tree in einem routing forest von wo es bis zu 254 routing trees (auch tables genannt) im OpenBSD system gibt. rdomain 0 ist die default route auf dem VPS und kann nicht für FFF benutzt werden. Ich habe rdomain 5 benutzt da ich andere netzwerke schon auf 3 und 4 hatte (1 und 2 hab ich garnicht benutzt). Ein route tree in seinem rdomain ist isoliert auf diesem rdomain und wenn die rdomains nicht durch drivers oder dem pf firewall system verbunden werden kommt nichts auf rdomain 0 oder anderen rdomains raus. Das ist so wie die fff routing table geschichte mit den Linux systemen.


wireguard konfigurieren

Ich habe bisher nur ein wg (wg2) hier ist die /etc/hostname.wg2 datei (zensiert)

rdomain 5
wgport ZENSIERT wgkey ZENSIERT2 wgpeer ZENSIERT3 wgaip ::/0 wgaip 0.0.0.0/0
inet6 fe80::1234:5678:90ab:cdef%wg2 64
inet 10.83.252.xxx/32
up

Hier musste ich die eui64 selber eintragen da in OpenBSD "inet6 eui64" einen fehler auf wg(4) macht.

Update: Leider kann man die gleiche IP Adresse nicht auf alle wg Schnittstellen tun. Ich hab das heute herausgefunden.. :-(, Kein problem ich hab mir ein /27 dafür reserviert im FFF Netz (Portal:Netz#10.50.186.96.2F27_.28PeterPhilipp.29)... Ich hoffe das ist OK.

GRE konfigurieren mit pf trick

Von meiner /etc/hostname.gre0 datei:

rdomain 5
inet6 eui64
inet 10.83.252.xxx/32
tunnel 2a01:ZENSIERT1 2a01:ZENSIERT2
up

Dieses konfiguriert den GRE tunnel, aber wenn pf auf dem system ist (wird immer da sein bei default) muss man IPv6 Destination Options durchlassen und zwar ungefähr so:

anchor "gre" {
       pass in on vio0 inet6 proto 47 from 2a01:ZENSIERT1 to 2a01:ZENSIERT2 allow-opts
       pass out on vio0 inet6 proto 47 from 2a01:ZENSIERT2 to 2a01:ZENSIERT1 allow-opts
}

Siehe das "allow-opts" das ist benötigt da Linux GRE ein extra header im IPv6 reinfügt. Im IPv4 modus hab ich's nie ausprobiert obwohl Rola es bereit gemacht hat. Der debug für diese allow-opts hat mich einige Stunden zurückgesetzt, aber am ende hab ichs gefunden. Es ist erwähnt im pf.conf(5) manual page.

Die lo5 Schnittstelle

Wird angelegt sobald eine rdomain 5 schnittstelle angelegt wird. Ich habe es dann doch konfiguriert in der datei /etc/hostname.lo5:

rdomain 5
inet 127.0.0.1/8
inet6 ::1/128
up

Wie jedes /etc/hostname.if kann man es gleich aktivieren mit

sh /etc/netstart lo5

Die anderen schnittstellen hab ich auch so (um)konfiguriert (sh /etc/netstart gre0 # z.B.)

babeld

Die änderungen die ich an babeld vollzogen habe sind hier https://github.com/pbug44/fff-obsd-babeld/commit/8b05ac09e0f31f903cf24100954024143c0568da.

Ich hab /etc/rc.local geändert das babeld automatisch nach boot gestartet wird:

# babeld
/sbin/route -T 5 exec /usr/local/sbin/babeld -D

Ich muss route benutzen um in den rdomain 5 zu gehen.

Die /etc/babeld.conf hab ich angepasst aus (hier raus: Freifunk-Gateway_aufsetzen/Babel) und sie sieht so aus:

# babeld config for openbsd
skip-kernel-setup true
default type tunnel max-rtt-penalty 128
interface gre0
interface lo5 type wired rxcost 4096
interface wg2
redistribute local ip 10.50.0.0/16
redistribute local ip 10.83.0.0/16
redistribute local ip fd43:5602:29bd::/48
redistribute local deny
redistribute ip 10.50.0.0/16
redistribute ip 10.83.0.0/16
redistribute ip fd43:5602:29bd::/48
local-port 33123
log-file /dev/null

Babel Routen im rdomain 5

Wenn babeld gestartet wird, muss sicher gemacht werden das keine statische routen existieren. Es ist alles Dynamisches routing. Hier zeigt die routen im rdomain 5 auf OpenBSD:

job# netstat -nr -T 5 | wc -l
   2110
job# netstat -nrfinet6 -T5 | wc -l
   1261
job# netstat -nrfinet -T5 | wc -l
    850

Gute 2K routes das babeld eingeführt hat, eine babel route hat eine '2' flagge angehängt.


Der Test Router

Der test router heisst zrd01 und steht in Schweinfurt. https://monitoring.freifunk-franken.de/routers/17104


Vielen Dank!

Vielen Dank an Robert (rola) der sehr sehr viel geduld mit mir hatte. Wir haben einen Babel gateway aufgesetzt erst für Privat und dann als Backup für die FFF Region Schweinfurt vielleicht? Mal sehen, der nächste Schritt ist die Community zu fragen ob sie Robert ablöst damit ein echt redundantes Netzwerk entsteht. Ich werde die ML bald anfragen.


TODO

IPSEC für den GRE vielleicht. Feedback aus der Community wird auch helfen.


Administration von Knoten

Ich administriere gerade einen Knoten (bei meinen Eltern). Wegen Stromsparmassnamen habe ich 3 geräte Zuhause ausgestellt (ich spare somit 17 Watt), mein Freifunk Knoten zuhause war sowieso nicht populär. Vielleicht bringe ich es zurück in der (fernen) Zukunft.

Anfang Herbst 2022 wird der Knoten zrd01 (bei meinen Eltern) auch für die Winter Saison 2022/2023 abgeschaltet. Das ist nicht schlimm da der Knoten keine teilnehmer für monate hatte. Aber ich stehe da ohne Knoten administrierung bis März. Leider muss das sein.

Im Frühling 2023 hab ich beschlossen doch nicht wieder anzufangen mit dem knoten bei mir und meinen Eltern, ich bin aber interessiert mit dem "GartenNetz" knoten (siehe unten). Strom ist teuer geworden.

Solar Batterie

Nicht jeder hat eine Südliche seite mit Balkon oder Fenster. Ich habe ein Westliches Fenster wo ich ein 100 Watt Solar panel reingetan habe. Es macht vielleicht 4-5 KWh im Jahr (!) Meistens um die Sonnenwende im Juni hat die 70 Ah Batterie (auto batterie) ein bissle zu viel ladung. Dann hänge ich geräte dran um es zu entladen (wenigsten bis auf 50%). Dieses Jahr, in 2021, habe ich 4 wochen Freifunk gehabt. Es war ein TP-LINK WR-1043v4 den ich rangehängt habe. Und da der Knoten ein wenig mehr zur Strasse stand haben sich warscheinlich Leute dafür interessiert die sonnst nicht in guter Reichweite sind. Aber das ist nur meine einschätzung. Gerade (26. September) lädt die Batterie und ist wieder auf 12V oder so, es wird warscheinlich bis April dauern wenn ich den Router wieder daranstellen kann.

Das Panel ist jetzt verkauft an einen anderen Freifunker, die Batterie hab ich noch und die steht zu katastrophen zeiten bereit (hoffentlich wird sie nie benutzt).

Ein Garten Netz Knoten

Ich bin dabei ein solar betriebenen repeater zu bauen der für Freifunk eingesetzt werden kann. Ich werde hieran noch einige Zeit brauchen bevor ich es erläutere.

Bisher hab ich für das Protokoll eine Idee: LEAPER https://sky.delphinusdns.org/eap-tls-idea.txt

Update (ende August 2023):

Ich hab wenig Zeit gehabt viel weiter zu machen. Ich hab drei ESP32 module gekauft weil sie billig waren aber hab gemerkt das das Microcontroller toolkit mich in eine lernkurve bringt die ich nicht weiter verfolgen will.

Aber da kommt immer neues aus China. Letzlich hab ich den Milk-V Duo gesehen der 64-bit RISC-V macht mit 64 MB RAM. Es kostet 9USD aber das WLAN modul ist extra. Warscheinlich so teuer wie die alten WR-841'er am ende. Ich will mal sehen ob ich da OpenBSD drauf laden kann, also diese Investition wird bald stattfinden vielleicht um Weihnachten. Vielleicht wird 2024 das Jahr wenn ich den "prototyp" fertig bekomme.