Das dn42 (Abkürzung für „Decentralized network 42“, deutsch: „dezentrales Netzwerk 42“) ist ein dezentrales Peer-to-Peer Netzwerk, welches mit VPNs und Software- bzw. Hardware BGP-Routern aufgebaut ist.[1][2][3][4]

Während andere Darknets versuchen, Anonymität für ihre Teilnehmer in den Vordergrund zu stellen ist dies nicht das Ziel vom dn42. dn42 zielt darauf ab, eine experimentelle Lernumgebung zu sein, in welchem Technologien, wie sie auch im Internet angewendet werden, ausprobiert werden können.

Das Netz ist nicht vollständig vermaschend. Das dn42 benutzt meistens virtuelle Tunnel anstatt physischer Verbindungen zwischen den individuellen Netzwerken. Jeder Teilnehmer verbindet sich zu einem oder mehreren anderen Teilnehmern.[5][6] Über das VPN bzw. die physischen Verbindungen wird dann inter AS Routing mit BGP betrieben. Während OSPF das meistverbreitete Protokoll für intra AS Routing ist, steht es jedem Teilnehmer frei, ein anderes IGP wie Babel in seinem AS zu verwenden.

Geschichte

Bearbeiten

Das dn42 ist ein Neustart des diac24.[7][8][9] Zu dieser Zeit bestand das diac24 lediglich aus etwa ein Dutzend Teilnehmern.[10] Im diac24 wurde der IPv4-Adressbereich 172.22.0/23 sowie der IPv6-Adressbereich 3ffe:400:c00::/48 verwendet.[11] Das dn42 hatte in seiner Anfangszeit den IPv4-Adressbereich 172.22.0.0/16[12] sowie teilweise IPv6-Adressbereiche aus dem Clearnet wie etwa 2001:6f8: verwendet.[13] Es verwendet für die AS-Nummern den Bereich 65000 bis 65999.[14] Man kann davon ausgehen, dass das diac24 bzw. auch das dn42 im Anfangsstadium primär für ein deutschsprachiges Publikum ausgerichtet was, da ein Großteil der Dokumentation auf Deutsch war. Das diac24 verwendete hauptsächlich GRE als Tunnelprotokoll zwischen den Teilnehmern, welches allerdings nicht verschlüsselt ist. Im den frühen Tagen des dn42 wurde wiederum OpenVPN als Tunnelprotokoll verwendet. Über die Zeit hin wurde immer häufiger WireGuard verwendet, unter anderem, da es schnell ist und recht einfach zu konfigurieren. Die Registry, in welcher alle Teilnehmer ihre IP-Adressbereiche und ihre AS-Nummern registrieren, wurde anfänglich in einer Wiki-Seite verwaltet; später wurde stattdessen Git verwendet.[15] Jeder, der teilnehmen wollte, konnte sich also einen IP-Adressbereich sowie eine AS-Nummer aussuchen und die Wiki-Seite entsprechend ergänzen.[16]

Technische Details

Bearbeiten

Adressbereich

Bearbeiten

Der im dn42 verwendet Adressbereich besteht aus dem privaten IPv4-Bereich 172.20.0.0/14 sowie für IPv6 den ULA-Bereich fd00::/8.[17] Es kann allerdings damit gerechnet werden, dass im dn42 auch andere Adressbereich propagiert werden, da das dn42 mit dem NeoNetwork, dem ChaosVPN, dem IC-VPN und dem CRXN verbunden ist. Das NeoNetwork verwendet 10.127.0.0/16 und fd10:127::/32[18], das ChaosVPN verwendet 172.31.0.0/16, sowie Teile von 10.0.0.0/8 und fd00::/8,[19] das IC-VPN verwendet 10.0.0.0/8 sowie auch Teile von fd00::/8[20] und das CRXN ist IPv6-only und verwendet auch Teile von fd00::/8.[21]

AS-Nummern

Bearbeiten

Um BGP in einer privaten Umgebung zu nutzen, werden AS-Nummern benötigt. Dafür verwendet das dn42 verschiedene private oder sonstig reservierte AS-Nummern einschließlich 64512 bis 64855 und 76100 bis 76199.[22] Seit Juni 2014 wird auch der neue private Bereich von 4242420000 bis 4242429999 verwendet,[23] welches Teil eines größeren Bereiches definiert in RFC 6996[24] ist.

BGP Router

Bearbeiten

Während einige Teilnehmer Hardware-Router verwenden, verwenden die meisten Server oder virtuelle Maschinen, um ihre Kosten günstig zu halten. Die überwiegend verwendeten BGP-Implementierungen sind BIRD und FRR, einige verwenden allerdings auch OpenBGPD, XORP, GoBGP[25] oder eine Implementierung wie JunOS, Cisco IOS, MikroTik's RouterOS oder VyOS (welches FRR im Hintergrund als Routing Daemon verwendet).[26]

Im dn42 werden verschiedene Verbindungen verwendet – hauptsächlich allerdings virtuelle Verbindungen, also Tunnel. WireGuard ist das am häufigsten verwendete Tunnelprotokoll, unter anderem da es einfach zu konfigurieren ist und als sicher gilt (mit Perfect Forward Secrecy). Des Weiteren unterstützten die meisten automatischen Peering-Systeme nur WireGuard als einzige Option. Für Peerings mit dem IC-VPN wird häufig fastd[27] auf github.com verwendet. In seltenen Fällen wird auch OpenVPN oder IPsec verwendet.

DN42 TLD

Bearbeiten

Webseiten und Dienste, welche im dn42 gehostet sind verwendet oft die Top-Level-Domain dn42. Diese wird nicht offiziell von der IANA zugewiesen, sondern durch die dn42 Registry verwaltet.

Registry

Bearbeiten

Um die Administration von IP-Adressen, AS-Nummern und Domain zu vereinfachen und zu vereinheitlichen gibt es das dn42 Registry. Dieses basiert auf Git, wodurch auch eine dezentrale Speicherung ermöglicht wird.[28] Des Weiteren können dadurch alle Änderungen auf einen eindeutigen Urheber zurückgeführt werden. Um Änderungen in der Registry vorzunehmen (beispielsweise eine Registrierung[29]), wird eine Pull Request mit den entsprechenden Änderungen erstellt. Einer der Registry Betreuer schaut sich diese dann an, validiert diese (unter anderem syntaktisch) und verifiziert auch die Authentifizierung (beispielsweise in Form einer Signatur). Der entsprechende Autor muss autorisiert sein, die Änderung durchzuführen. Dies wird beispielsweise mit Signaturen durch GPG- oder SSH-Schlüssel sichergestellt.[30]

Interconnections

Bearbeiten

Das dn42 ist mit einigen anderen ähnlichen Projekten verbunden:[31]

Name v4 v6 TLD
NeoNetwork X X .neo
Freifunk IC-VPN X X Verschiedene
ChaosVPN X X .hack
CRXN[32] X .crxn

Zertifizierungsstelle

Bearbeiten

Das dn42 hat seine eigene (inoffizielle) Zertifizierungsstelle (CA). Diese wird verwendet, um TLS-Zertifikate (beispielsweise für HTTPS) auszustellen. Die Inhaberschaft kann dabei wie im Fall von Let’s Encrypt mit ACME verifiziert werden.

Zusätzlich betreibt das NeoNetwork auch eine eigene CA für ihre .neo TLD und entsprechende IP-Adressbereiche.[33] Das ChaosVPN, das IC-VPN und das CRXN haben keine CA. Um sicherzustellen, dass die CA keine Zertifikate für Clearnet-Adressen ausstellt, werden name constraints verwendet[34], welche die Bereiche einschränken, für welche die CA Zertifikate ausstellen kann. Dies bedeutet, dass die CA nicht für Clearnet Adressen verwendet werden kann.

Das folgende ist eine Auswahl von Diensten, welche im dn42 angeboten werden:

Service v4 v6 DNS
Recursive Anycast DNS 172.20.0.53 fd42:d42:d42:54::1 a0.recursive-servers.dn42
Recursive Anycast DNS 172.23.0.53 fd42:d42:d42:53::1 a3.recursive-servers.dn42
Basic “What is my IP service”-Service 172.20.0.81 fd42:d42:d42:81::1 http://myip.dn42/
dn42 wiki 172.23.0.80 fd42:d42:d42:80::1 https://wiki.dn42/ / https://internal.dn42/
Global Route Collector 172.20.129.4 fd42:4242:2601:ac12::1 collector.dn42

Einzelnachweise

Bearbeiten
  1. Home. Abgerufen am 24. September 2024.
  2. Lan Tian: DN42 Experimental Network: Intro and Registration (Updated 2022-12). Abgerufen am 24. September 2024 (amerikanisches Englisch).
  3. Prelude: Connecting to the DN42 Overlay Network. Abgerufen am 24. September 2024.
  4. Usman: DN42 Part 1: Connecting to the DN42 BGP Mesh. 22. November 2021, abgerufen am 24. September 2024 (englisch).
  5. DN42 Realtime Map. Abgerufen am 24. September 2024.
  6. DN42 Realtime Network Map. Abgerufen am 24. September 2024.
  7. dn42. 14. März 2016, abgerufen am 24. September 2024.
  8. dn42 - decentralized network. 7. Februar 2009, abgerufen am 24. September 2024.
  9. C3D2VPN – C3D2. Abgerufen am 25. September 2024.
  10. diac24.net. 10. Februar 2004, abgerufen am 24. September 2024.
  11. diac24.net. 10. Februar 2004, abgerufen am 24. September 2024.
  12. IPv4Topologie – dn42 - decentralized network. 30. Mai 2009, abgerufen am 24. September 2024.
  13. IPv6Topologie – dn42 - decentralized network. 30. Mai 2009, abgerufen am 24. September 2024.
  14. ASTopologie – dn42 - decentralized network. 30. Mai 2009, abgerufen am 24. September 2024.
  15. Topologie – dn42 - decentralized network. 7. Februar 2009, abgerufen am 24. September 2024.
  16. HowToPeer – dn42. 14. März 2016, abgerufen am 24. September 2024.
  17. Address-Space. Abgerufen am 24. September 2024.
  18. NeoCloud/NeoNetwork. NeoCloud Networking Group, 19. September 2024, abgerufen am 24. September 2024.
  19. ChaosVPN:IPRanges. In: CCCHHWiki, oldwiki.hamburg.ccc.de. Abgerufen am 24. September 2024.
  20. freifunk/icvpn-meta. Freifunk, 25. August 2024, abgerufen am 24. September 2024.
  21. Prefix allocation and registration – CRXN. In: deavmi.assigned.network. Abgerufen am 24. September 2024.
  22. FAQ. In: dn42.dev. Abgerufen am 24. September 2024.
  23. AS numbers. In: dn42.dev. Abgerufen am 19. April 2021.
  24. RFC 6996 – Autonomous System (AS) Reservation for Private Use. Juli 2013 (englisch).
  25. gobgp, auf github.com
  26. FAQ. Abgerufen am 24. September 2024.
  27. fastd. github.com
  28. FAQ. Abgerufen am 24. September 2024.
  29. Getting-Started. Abgerufen am 24. September 2024.
  30. Registry-Authentication. Abgerufen am 24. September 2024.
  31. Interconnections. Abgerufen am 24. September 2024.
  32. Tristan B. Velloza Kildaire: Announcing the CRXNxDN42 inter-connect! In: deavmi.assigned.network/blog. 31. Januar 2023, archiviert vom Original (nicht mehr online verfügbar) am 24. September 2023; abgerufen am 6. Januar 2024 (englisch).
  33. NeoNetwork/ca/neonetwork.crt at master · NeoCloud/NeoNetwork. Abgerufen am 24. September 2024 (englisch).
  34. Certificate-Authority. In: dn42.dev. Abgerufen am 24. September 2024.