Benutzer:PeterPhilipp

Aus Freifunk Franken
Wechseln zu:Navigation, Suche

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

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):

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
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.


GRE konfigurieren mit pf trick

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.

Der Test Router

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