Domainprobleme

So da bin ich wieder…

Bisschen in der Matrix (ja ich nutzt diesen Neumodischen scheiß wirklich :)) diskutiert über E-Mail und so… und mir wurde nun uberspace.ähhh https://uberspace.de/ empfohlen. Problem dabei, meine alte chrisi01.de Domain ist einfach aus meiner Jugendzeit und schon lange nicht mehr zeitgemäß. Nicht umsonst läuft der Blog auf cdresel.de

cdresel.de nunja das wäre mal die erste Option für E-Mail Adressen. Beim bisschen rumhacken und versuchen cd.ENDUNG was zu bekommen, wurde mir recht schnell klar… no way da findeste nix schönes bezahlbares. Aber hey ich bin 1986 gebohren und kurz probiert cd86.de war frei und gehört nun mir JAAJIAAA hübsch oder? Kurz darauf ist mir mein AS205165 wieder eingefallen und natürlich war auch as205165.de wieder frei 🙂 Aber das als E-Mail nehmen? Ne oder? Das leite ich vllt. auf den Blog hier weiter oder so.

Also steht nun die Wahl zwischen cd86.de und cdresel.de. Schwere Entscheidung was nimmt man denn nun? Mal ne Nacht drüber pennen 😉

edit:

Lassen wir doch Twitter entscheiden, wobei ich schon weiß was raus kommt. Es war eine schöne Zeit mit euch, kurz aber schön…

AS205165 läuft wieder :)

So endlich hab ich meinen Kram mal wieder im Griff und meine VM mit dem AS205165 läuft wieder 🙂

Hab ja schon lange überlegt die für Freifunk zu verwenden. Providermeldung an die BNetzA und schon wäre man ziemlich fein raus. Im Sinne der Dezentralität wäre es ja echt super, wenn nicht zuviel an F3 Netze e.V. hängt. Ja ich hatte es wirklich schon fast vor und dann kommt die #EH18 und dieser Vortrag

Jetzt zweifel ich wieder an mir selbst. Soll ich es wirklich tun? Oh man echt schwere Entscheidung. Mal nochmal paar Nächte drüber pennen und überlegen.

Ob sich so Hausdurchsuchungen vermeiden lassen, wenn man als Provider gemeldet ist? Ansbach war es ja nicht. Ich wäre also hier schon einen Schritt voraus. Echt schwere Entscheidung

edit:

Der Blogpost entstand natürlich auf Reaktion eines Twitter-Tweets. Jetzt macht er mir aber direkt wieder Hoffnung 🙂

Denn genau der Eintrag in der RIPE und das Konzept ISP trifft dann natürlich wieder auf mich zu. Also doch „tun“? Den Tweet werde ich mal noch ein bisschen im Blick behalten und danke schon mal für die Tipps 🙂

FreifunkV3

Hihi bei Twitter mal bisschen was geschrieben und schon waren Nachfragen da 😛

Schön  das den Blog wohl noch immer niemand kennt und ich die Idee einfach mal runtertippen kann 😉 Glückwunsch wenn du ihn gefunden hast mal sehen wer später nach FreifunkV3 googelt und hier landet 😉

Also was ist nun dieses ominöse FreifunkV3. Fangen wir mal mit den 0815 Standartfreifunk an:

Man packt Pakete ins Batman ein, packt sie in ein VPN ein um sie über eine DSL Leitung zu verschicken. Selbst ein wdr4900 schafft da bestenfalls 22Mbit (fastd). Ein x86 braucht viel Strom und will auch niemand. Also wie gehts schneller. Es entstand die Idee der dezentralen Hood:

https://wiki.freifunk-franken.de/w/Dezentrale_Hood

Keine schlechte Idee und genau darauf ist auch der keyxchangev2 entstanden:

https://wiki.freifunk-franken.de/w/KeyXchangeV2

Aber irgendwie wurde das ganze endlos kompliziert und hatte Bugs, niemand blickt mehr durch und man hat versucht eine eierlegende Wollmilchsau zu bauen:

https://github.com/FreifunkFranken/firmware/blob/master/src/packages/fff/fff-hoods/files/usr/sbin/configurehood

Ja das ganze soll wie von selbst laufen, was dann passiert kann man hier nachlesen:

https://lists.berlin.freifunk.net/pipermail/berlin/2015-September/030046.html

Nein die User müssen ihre Netze selbst aufbauen, leicht, wenig automatisch und von jedem der sich bisschen mit beschäftigt umsetzbar,

Die Idee der dezentralen Hood wurde also wieder aufgegriffen und ich hab heute mal in kurzer Zeit folgendes gebaut:

  • wdr4900 mit aktuellen LEDE geflasht
  • opkg update
  • opkg install babeld
  • opkg install wireguard
  • opkg install luci-proto-wireguard

Danach bisschen Wireguard konfiguriert damit er sich zu meinem Server verbindet der in der Freifunk Franken Backbone angebunden ist (hier müsste noch eine [halb]automatisch Lösung her), darauf Babel geworfen damit ich alle Routen aus dem Freifunk Franken Netz habe (ja wir haben eine Babel Backbone). Danach noch ein bisschen Routingregeln und Firewall (ist nicht viel und mit ner kurzen Anleitung umsetzbar, notfalls kann man auch ein kleines Script schreiben das man einfach ausführt und alles automatisch macht).

Zum erweitern des Netzes nimmt man dann Accesspoints namhafter Hersteller die deutlich besser funktionieren als so ein 841er mit LEDE, 5GHz Outdoor ist auch kein Problem und wer Mesh will, es gibt mittlerweile genug Hersteller die ein besseres Mesh machen als Freifunk (weil mehrere Kanäle verwendet werden was Freifunk noch immer nur sehr bescheiden kann). Man kann also dran hängen was immer man will, vom 20€ Repeater über geiles Meshnetz.

Besser noch, Babel kann man als „erweiterter Nutzer“ auch auf einen Ethernetport werfen und z.b. per Richtfunk sich mit seinen Nachbar der das gleiche (oder ähnliches) Setup fährt direkt verbinden (nennt sich übrigens Routing und nicht dieses krüppelL2Routing was Batman macht ;)), genau das was man bei Freifunk will 🙂

Falls es jemand nachbauen will, einfach mal melden vielleicht hab ich Muse die Anleitung runter zu tippen und paar Tipps zu geben 😉

IPv6 Routing ins Freifunknetz (Franken)

So und nun wollen wir uns an die Königsklasse wagen, wir wollen alle Router in den Hoods die bereits ULA Adressen haben erreichen können. Speziell betrifft das die dezentralen Hoods wie auch beim KeyxchangeV2.

Um diese Anleitung umzusetzen ist es zwingend notwendig ein Gateway in der Hood wo man sitzt selbst betreibt da man Routen ins Freifunknetz announcen muss.

Zuerst generieren wir uns ein eigenes ULA v6 Netz. Am einfachsten geht das z.b. hier, man gibt die MAC Adresse der eigenen Netzwerkkarte ein und erhält dann ein generiertes /48 Netz.

Wenn man nun sein Netz hat, muss man dies zusätzlich auf dem Interface vergeben, wo das lokale Netz dran hängt, in meinem Fall eth1. Man klickt also am Dashboard bei eth1 auf Actions und config. Danach wählt man „Add IP“ und gibt eine Adresse des /48 ein (ich hab ::1 genommen).

Danach das ganze mit Save abspeichern. Danach müssen wir unseren radvd noch sagen, das er dieses Subnetz ebenfalls im privaten Netz verteilen soll. Dazu klicken wir auf configtree und machen folgenden Baum auf (kennen wir bereits von der IPv6 Anleitung):

interfaces – ethernet – eth1 (oder das, wo unser privates Netz dran hängt) – ipv6 – – prefix

und legen dort mit „Add“ ein neues prefix an und geben dort ein /64 aus dem /48 ein (evtl. kann man auch das ganze /48 nehmen, bin mir da unsicher und hab ein /64 genommen also z.b. fdc6:xxxx:xxx::/64).

Nach dem abspeichern sollte man an Endgeräten schon eine IP aus diesem Subnetz erhalten.

Jetzt kommt der interessante Part, wir wollen dieses Subnetz ins Freifunk routen und im Freifunk bescheid sagen, dass diese Subnetz über unser Gateway erreichbar ist. Dies machen wir indem wir es ins Babel announcen. Hier sollte man sich bewusst sein, dass man dadurch sein privates Netz im Freifunk öffnet. Daher stellen wir weiter unten noch eine Firewall ein, damit niemand aus dem Freifunknetz ins private Netz kommen kann.

Wir legen also zuerst mal in unserem Router eine statische Route ins Freifunknetz an, dazu nutzen wir wie immer bei IPv6 den configtree:

protocols – static – route6

hier legen wir eine neue Route an, wir wollen alles zu fc00::/7 auf das Freifunk routen, also geben wir fc00::/7 ein. Danach auf „Update List“ klicken und links kann man dann als Unterpunkt von fc00::/7 „next-hop“ auswählen.

Hier muss die IP Adresse des Freifunkgateways eingeben werden. Wir haben in Franken typischerweise fd43:5602:29bd::/48, ich hab in meiner Hood das fd43:5602:29bd:5::/64 Subnetz und mein Gateway hat fd43:5602:29bd:5::6466:b3de:f861 somit habe ich diese Adresse genutzt. Ihr müsst dies natürlich auf eure eigenen Adressen anpassen, danach das ganze noch abspeichern. Aussehen sollte das ganze nun so:

Somit haben wir eine route in das Freifunknetz, allerdings „weiß“ das Freifunknetz natürlich nicht, wie es uns findet, wir müssen also auch einen Rückweg bekannt geben.

Wir legen also auf unserem Gateway eine statische Route in die Tabelle fff mit „proto static“ damit Babel das ganze auch redistributed. Die route sollte so aussehen:

fdc6:xxxx:xxxx::/48 via fd43:5602:29bd:5:de9f:dbff:fe29:44c9 dev br-mesh proto static

Die erste Adresse ist unser eigenes Subnetz, bei via muss die Adresse rein die sich unser Edgerouter auf das eth2 Interface gelegt hat. Als device das nutzen worüber der Edgerouter erreichbar ist (da mein Gateway ein LEDE System ist und in der br-mesh bridge das Clientnetz mit drinnen hängt, habe ich dieses Interface verwendet).

Danach muss man Babel nur noch sagen das man diese route auch wirklich redistributen will. Unter LEDE z.b. die /etc/config/babel anpassen und folgendes hinzufügen:

config filter
option type ‚redistribute‘
option local ‚true‘
option ip ‚fdc6:xxxx:xxxx::/48‘

config filter
option type ‚redistribute‘
option ip ‚fdc6:xxxx:xxxx::/48‘

Als IP natürlich unsere eigene IP nutzen. Unter Debian muss dies natürlich in der /etc/babeld.conf gemacht werden, etwa so:

 

redistribute local ip fdc6:xxxx:xxxx::/48
redistribute ip fdc6:xxxx:xxxx::/48

Wenn man nun Babel neu startet, sollte diese route mit redistributed werden. Wie oben bereits gesagt ist das private Netz aber nun offen wie ein Scheunentor, man sollte tunlichst die Firewall dazu erweitern.

Dazu gehen wir wieder in den configtree und gehen dort nach:

firewall – ipv6-name

Zuerst legen wir einen neuen Unterpunkt FREIFUNKv6_LOCAL an. Dieser beschreibt den localen Zugang zum Edgerouter (NICHT das routing dahinter). Da man vom Freifunknetz keinesfalls NIE auf den Edgerouter kommen soll, droppen wir einfach alles bis auf ipv6-icmp (ping).

Bei default-action geben wir also erstmal „drop“ ein.

Danach legen wir eine rule an, nennen sie „10“ bei „action“ -> „accept“ und bei „protocol“ -> ipv6-icmp. Damit erlauben wir nun IPv6 Pings.

Dies sperrt aber noch nicht den Zugang hinter dem Edgerouter, also das ganze private Netz. Dies wird mit der Regel „IN“ erledigt. Wir legen also wieder unter ipv6-name einen neuen Punkt an und nennen diesen .

Hier können wir natürlich nicht alles sperren, denn sonst kommen wir ja nicht mehr raus. Dazu gibt es bei der Firewall state was wir nutzen.

Zuerst legen wir wieder eine rule 10 an und erlauben ipv6-icmp wie schon oben bei local. Danach legen wir eine rule 20 an, setzen diese auch auf accept. Hier lassen wir protocol aber leer und wählen den Unterpunkt „state“. Die Punkte „established“ und „related“ auf „enable“ stellen:

Danach mach es noch Sinn, UDP Port 33434-33523 freizugeben damit traceroutes ordentlich funktionieren. Wir legen eine rule 30 an, setzen diese auch wieder auf accept, protocol auf udp und unter destination -> port auf 33434-33523 stellen. Danach alles abspeichern.

Die ganzen Regeln müssen wir jetzt nur noch auf dem eth2 Interface anwählen. Dazu öffnen wir

interfaces – ethernet – eth2 – firewall

unter „IN“ schreiben wir bei „ipv6-name“ -> „FREIFUNKv6_IN“ rein und unter „LOCAL“ bei ipv6-name -> „FREIFUNKv6_LOCAL“.

Abspeichern und nun sollte die Firewall aktiv sein. Man kann nun zwar aus dem Freifunknetz Geräte im privaten Netz pingen aber da alle Ports gesperrt sind ist kein Service im privaten Netz erreichbar. Andersherum sollte man aus dem privaten Netz heraus aber alle v6 ULA Adressen im Freifunknetz erreichen. Man sollte dies auf jeden Fall nochmal intensiv testen um sicher zu sein das man nichts verkehrt gemacht hat.

 

 

IPv4 ins Freifunknetz mit NAT über den Edgerouter

Die Fortsetzung der Geschichte rund um meinen Edgerouter. Diesmal eine kurze Erklärung wie man sein priv. Netz ins Freifunknetz NATtet.

Wie im letzten Beitrag schon erklärt, hängt bei mir am eth2 der Clientport eines Freifunkrouters dran. Wenn man das Interface nun auf IP per DHCP beziehen stellt, bekommt man auch schon eine IP aus dem Freifunknetz. Alternativ kann man auch eine feste IP setzen.

Danach klickt man auf Routing und „Add static route“ denn wir wollen ja eine statische Route ins Freifunknetz setzen. Destination Network beschreibt das Zielnetz, in unseren Fall also 10.0.0.0/8. Als Next Hop müssen wir uns ein Gateway aus unserem Freifunknetz suchen. Wenn man es nicht kennt, verbindet man sich mit einen Laptop o.ä. ins Freifunknetz und schaut was man als Gatewayip zugewiesen bekommt. Diese kann man dann verwenden und bei Next Hop eintragen.

Jetzt steht schon die statische Route von allen Clients im privaten Netz ins Freifunknetz. Da das Freifunknetz aber den Rückweg ins eigene Netz nicht kennt, müssen wir unsere Pakete noch NATten. Dies erreichen wir im Menü „Firewall/NAT“ und dort im Reiter „NAT“.

Dort klicken wir auf „Add Source NAT“ und geben folgendes ein:

Description: Irgendeine Beschreibung, z.b. „NAT ins Freifunk“

Enable: Den Haken setzen, wir wollen es ja aktivieren

Outbound Interface: eth2 (bzw. das Interface wo Freifunk drauf hängt)

Bei „Use Masquerade“ und „All protocols“ jeweils einen Haken setzen.

Abspeichern und sich freuen das man nun von seinem privaten Netz aus das IPv4 Netz im Freifunk erreichen kann.

Für IPv6 geht das ganze noch ein gutes Stück schöner, da man hier auf das NAT verzichten kann. Wie das geht erkläre ich im nächsten Beitrag.

Konfiguration Edgerouter

So ich hab das Ding nun komplett fertig eingerichtet und möchte hier mal meinen Netzaufbau erklären.

Anschlüsse:

  • eth0: DSL Modem
  • eth1: privates Netz (hier hängt bei mir ein 24 Port managed NETGEAR GS724T)
  • eth2: Clientport Freifunkrouter

IPv4 ist die Einrichtung noch recht leicht. Ich hab ein PPPoE Interface angelegt, meine Telekomzugangsdaten reingeklopft, als Interface eth0 ausgewählt und schon hat sich das Ding über mein DrayTek Vigor 130 verbunden.

Aufpassen muss man, das man auf dem eth0 (also dort, wo das DSL Modem hängt) DHCP Client ausschaltet. Sonst holt sich der Edgerouter eine 192.168.1.X IP vom DSL Modem und will darauf routen. Da das Modem aber kein Router ist, kommt man darüber natürlich nicht ins Internet. Nachdem ich DHCP aus hatte, hat der Edgerouter es dann auch verstanden das er die default route auf das PPPoE Interface werfen soll.

Die Konfiguration des DHCP Servers sollte selbsterklärend sein, dazu einfach mal oben auf Services klicken und dann kommt man direkt auf den DHCP Punkt.

Danach hab ich mich mal ein wenig mit den config tree auseinander gesetzt. Wirklich einfach zu bedienen ist er nicht, aber wenn man es mal verstanden hat geht es eigentlich. Ich will hier mal kurzfassend die größten Probleme erklären.

Mit dem > Pfeil vor dem Text kann man das Untermenü aufmachen

Mit dem + kann man einen Unterpunkt anlegen

Mit dem – deaktiviert man den Unterpunkt wieder

Text in rot ist eine Änderung die noch nicht gespeichert wurde

Mit discard verwirft man alle Änderungen, mit preview übernimmt man sie.

Hier ist IPv6 aktiviert und daher ein Minus davor (damit könnte man es wieder deaktivieren)

Wenn man das Prinzip mal verstanden hat, ist es eigentlich ganz angenehm damit zu arbeiten. Als erstes aktivieren wir IPv6 auf dem PPPoE Interface. Dazu öffnen wir folgenden Baum mit dem Pfeil: Interface – ethernet – eth0 (oder das Interface wo das Modem dran hängt) – pppoe – 0 – ipv6 – address. Bei dem Unterpunkt autoconf der dann erscheint klickt man auf das + und aktiviert somit IPv6. Danach mit preview abspeichern, bestätigen und einmal auf dem Dashboard neu die PPPoE Verbindung aufbauen. Voila schon sollte eine IPv6 Adresse auf dem PPPoE Interface sein, wo vorher nur eine v4 drauf war.

Diese wird aber immer noch nicht ins private Netz geroutet dazu müssen wir noch ein paar Sachen setzen, genaugenommen ist es der Unterpunkt dhcpv6-pd im selben Baum (auf dem Bild rechts 4 Punkte über ipv6).

Wir setzen hier dhcpv6-pd – pd – 1 – interfaces auf eth1 (oder das Interface, wo unser PC dran hängt) und aktivieren den Unterpunkt prefix-only. Wenn wir nun die Interfaces neu starten, sollte nun das eth1 Interface eine IPv6 bekommen haben.

Wenn dies der Fall ist, muss nur noch radvd gestartet werden, damit auch Adressen per SLAAC an die Endgeräte vergeben wird. Dazu bewegen wir uns wieder im configtree unter interfaces – ethernet – eth1 (oder das, wo unser privates Netz dran hängt) – ipv6 – – prefix und geben dort das Prefix an, das wir auf eth1 bekommen haben, also z.b.: 2003:a:abcd:abcd::/64.

Danach das Zeug abspeichern und schon sollte der PC eine IPv6 bekommen, mit der man auch ins Internet kommt. Glückwunsch man hat den Edgerouter nun konfiguriert 🙂

Natürlich kann man das ganze auch auf der Konsole machen, das ist allerdings auch ein wenig gewöhnungsbedürftig und gerade für den Anfang fand ich die den configtree ganz schick. Ohne den configtree ist nach meinen Kenntnisstand IPv6 nicht zu konfigurieren.

In einen weiteren Beitrag werde ich noch beschreiben, wie man auf eth2 wo bei mir ja das Freifunknetz drauf hängt, eine statische Route mit NAT bzw. mit IPv6 sogar richtiges Routing (aber nur wenn man im Freifunk Franken Layer 3 Babel Netz aktiv ist) setzen kann.

Edgerouter Lite

Nachdem ich in letzter Zeit immer wieder mit IPv6 an einem Telekomanschluss mit meinen wdr4900 und LEDE gehabt habe, heute mal den Edgerouter Lite der hier noch rumflog angeklemmt und konfiguriert.

Mit bisschen Hilfe läuft das Ding nun und macht auch ordentlich IPv6 sowie Routing ins Freifunknetz (zumindest auf v4 Basis, mit ULA v6 muss ich mich nochmal auseinander setzen).

Wenn das alles fertig ist und ich mit dem Teil zufrieden bin, werde ich die configs sowie Tricks hier mal in einen weiteren Beitrag aufzeigen.

Ansich gefällt mir die Kiste jetzt schon ganz gut, mal sehen wie sie sich die nächsten Tage macht.

Größter Nachteil: Ich hab jetzt kein eigenes WLAN mehr. Jetzt muss die Entscheidung her ob für mein Handy und AmazonFireTV Stick Freifunk reicht oder ob ich irgendeinen guten Accesspoint anklemme, eine Ignite Skyfire fliegt hier ja noch sinnlos rum, die würde sich bestimmt gut machen 🙂