 Also, danke, dass ihr alle da seid. Ich habe eine schwere Konkurrenz mit dem Talk nebenan. Katzenautomatisierung, schwer aufzugeben für so ein Thema. Also, ich darf euch Weigart vorstellen. Wir hatten davon schon mal was gehört. Okay, gute Hälfte. Gut. Weigart bei Jason, hey, Donnenfeld. Ich werde nicht sein Spitznamen aussprechen, das kann ich nicht. Was ist Weigart und warum ist das eigentlich toll? Weigart versucht irgendwie so ein sicherer Lea-3-Netzwerk-Tool zu sein und dabei relativ viele Entscheidungen einen schon abzunehmen. Das heißt, erst mal damit simpel bleibt, hat der gute Mensch sich geraten. Im Kernel erkenne ich mich aus, da packe ich das auch direkt mit rein, dann spare ich mir die ganzen Verkehr zwischen Userspace und Kernelspace und gewinne vielleicht ein bisschen Performance dadurch. Das Ganze ist dann, der ganze Netzwerk-Traffic wird dann in UDP gepackt und einfach mit relativ modernen und vernünftigen Bausteinen gebaut, aufbauen auf dem Neues Protokoll und ja, es ist relativ übersichtlich. Das kann man sich mal so an einem Wochenende eigentlich geben. So rund 4.000 Zeilen, der eigentlich kann der ganzen Sache. Die Authentifizierung ist ähnlich einfach wie bei SSR. Ich packe irgendwo mein Publikum hierhin und dann kann ich mit dem kommunizieren, euch tauscht, wie besser das aussieht. Und wie ich schon gesagt habe, die ganze Sache ist eigentlich relativ flott. Ich musste den Talk jetzt ein bisschen umbauen. Ich hätte gerne mit euch ein bisschen gespielt. Deswegen, weil wir noch ein bisschen mit Netzwerk-Probleme hatten, aber da würde ich anbieten, dass ich noch einen Workshop-Organisier, wenn da viel Bedarf ist. Und dann setzen wir uns nochmal zusammen für die, die richtig Lust haben. Ansonsten habe ich jetzt nochmal in der letzten halben Stunde ein paar Spielenschatz gemacht, das irgendwie so ein bisschen noch klar ist. Wie schaut es denn eigentlich aus? Wie konfiguriere ich das alles? Mitgeliefert wird so ein Programm, das heißt einfach nur WG. Damit kann ich irgendwie angucken, wie ist denn die aktuelle Konfiguration und so weiter. Ich kann aber auch eben sagen, mit wem will ich denn reden. Wie ist mein Schlüssel? Wie ist der Schlüssel von dem anderen? Schaut denn etwas so aus. Und so ein paar Daten. Das ist jetzt das lokale Interface. Und das ist jetzt ein Pier, mit dem ich kommuniziere. Die echte IP, die externe, ist eben dieser Endpoint. Und ich erlaube dem, dass dieser Pier nur diese eine IP hat, die 001 eben. Und da gibt es eine 1-Sale Installation, also wenn ich eine gültige Nachricht von der IP bekomme, die zu dem Schlüssel passt, dann weiß ich, wer dahinter steht. Und netterweise kann man sich da auch so kleine Konfigurations-Set einschreiben. Mit WG Quick kann man die dann eben aufrufen. Dann wird einem ausgegeben, was das alles macht. Und das hat relativ vernünftig die Faults, auch wenn man zum Beispiel einen Fault Gateway setzt, oder so, der wird alles richtig gemacht. Das kann die Loops entstehen und so weiter. Das ist eigentlich alles ganz nett. Kann man es lesen? Okay, das ist jetzt so, wie eine Konfigurations-Set aussehen würde. Ich sage einfach nur, mein lokales Interface hört auf die, also im Tunnel. Die Tunnel IP ist die 1001. Und auf welchen Port ich nach außen höre. Dann der Private Key dazu. Den kann man sich auch mit dem WG Tool generieren. Und der wird dann, ja, ich gehe noch mal eins zurück. Der Public Key, der wird hier angezeigt, oder man kann sich es auch direkt den Private Key reinpipen. Und da kriegt man ihn auch. Und dann jetzt hat, jetzt möchte ich noch mit einem anderen Host kommunizieren. Da trage ich bloß den Public Key erstmal ein. Und ich sage gleichzeitig dazu, weil es diese 1001 Relation eben gibt, welche IP ich dem überhaupt zulasse. Warum das man es so macht, gleich auch noch gleich. Und noch jetzt dazu noch den zweiten Host. Da ist quasi jetzt alles umgedreht. Ja, also der zweite Host ist auf dem Tunnel eben die zwei. Hat den und den Private Key, der genau dem entspricht, was zum Public Key eben oben entspricht. Und da ist es eben exakt andersrum. Und jetzt ist noch eine Zeile mehr, die ich da unten eingefügt habe. Das ist diese Endpoint Zeile. Irgendjemand muss mal die erste Verbindung aufbauen. Noch steht dann irgendwo, wo jetzt in der echten Welt sitzt. Also wir haben noch unsere Tunnel IPs, aber noch nicht die aus der echten Welt. Und da reicht es, wenn das einer weiß und den anderen erreicht. Denn wenn das so ein Paket ankommt, wird einfach geguckt, zu welchen Public Key passt es. Wenn man die Konfiguration anschaut, passt dann alles zusammen. Und dann geht es weiter und dann weiß man auch genau, wer das ist. Und dann wird auch auf dem selben Interface, wie das Paket reingekommen ist, auch wieder zurück kommuniziert. Das heißt, mit Wirecard kann ich so Sachen machen, wie es mir möglich, dass ich einfach roamen kann. Ich kann meinem Server einfach irgendwo feststehen lassen. Mit meinem Gerät, mit dem ich einen Tunnel aufbaue, der weiß, wo der Server steht. Der Server weiß aber vielleicht gar nicht, wo der Rest ist. Und dann habe ich vielleicht so eine Konfiguration. Ich habe irgendein Server, der kennt die ganzen Clients. Klein 1 und Klein 2. Und der weiß nicht, wo die sind. Das kann eine ganze Liste sein. Und wenn ich jetzt zum kleinen Server bin, dann bin ich derjenige, der verantwortlich ist, einfach zum Server die erste Verbindung aufzubauen. Aber dann kann ich einfach irgendwo sein, solange ich den Server erreiche, kann ich mit dem auch über Wirecard reden. Und das funktioniert einmal frei. Genau. Und was man da auch noch, das habe ich mir einfach verdippt. Statt dem letzten hätte ich einfach da auch 0000 und slash 0 schreiben können. Da wird automatisch einfach auch ein Default-Way gesetzt. Und ich kann einfach jeden Traffic, den ich habe, komplett über den Tunnel jagen. Und dann geht er beim Server raus. Wie sieht es denn sonst aus? Also Wirecard schaut dann einfach aus wie ein ganz normales Netzwerk in der Fäße. Ich kann die ganzen Spiele rein damit machen. Ich würde fast allen Sachen auch, die jetzt nicht leer zwei oder tiefer betreffen. Ich habe, wenn man irgendwie Hardtop aufmacht, dann sieht man davon nichts, weil alles im Kernel lebt. Man macht dieses Interface. Man konfiguriert seine Piers und ist im Prinzip fertig. Der ganze Grab von Interstate Sessions, Wels, We Connect, das sehe ich jetzt erstmal gar nicht. Das verhält sich für mich einfach wie ein ganz normales Interface. Und um es jetzt nochmal wirklich nach Hause zu bringen, zu diesem Key habe ich konfiguriert, welche IPs dazu passen. Das heißt, von diesem Wirecard Interface bekomme ich von einem gewissen IP eben ein Paket. Und das IP, die IP hat, weiß ich, dass ich zum Beispiel alles zugewiesen habe. Und weil es über Wirecard kommt, ist das garantiert für alles. Also das macht meine Firewall-Regeln eben total simpel, weil ich gar nicht großartig auf eine andere schauen muss. Entschuldigung, also auf die IP. Dann nochmal ein bisschen so in Tanner, was wird denn alles verwendet? Wie ich schon gesagt habe, eben ist das neues Protokoll von dem Trevor Perrin. Das ist eine Konstruktion, um irgendwie so Kryptoprotokolle zu generieren. Da kann man mehr oder weniger einfach seine Kryptopprimitiven reinstecken und dann kriegt daraus ein fertiges Kryptoprotokoll. Insofern ist es relativ schön flexibel. Es werden spät, es ist alle 2 Minuten, neue Firmware Keys generiert. Also das heißt, selbst wenn ich da den Traffic mitschneide, ist auch irgendwie hinterher, kaum noch was rauszufinden. Der Key Exchange passiert innerhalb eines Roundtrips und dabei ist egal, werden initiiert. Jeder kann einen neuen Key Exchange auch anfordern. Das ist nicht an diesen 2 Minuten gebunden. Nachdem der Key eben generiert wurde, eben für die aktuelle Session, wird dann symmetrisch verschlüsselt und authentifiziert mit Charter 20 und Poly 1305. Die Schlüsselgeneration läuft halt über das eklipte Key-Verfahren, die für Helmen eben mit der Curve 259 sind. Für die Hashfunktion von dem Key-Darrelation-Function nimmt man eine Blake 2. Das ist so ein Verwandter von Charter 20, alles mehr oder weniger auch vom selben Menschen gebaut. Und dann so die, nach dem Verfahren ist einfach, für die Key-Darrelation ist einfach das HRKDF Verfahren und für dann interne die IP-Einträge und die Public Keys und so weiter intern. Das wird mit Zip Hash gemacht. Und jetzt noch ein paar Kleinigkeiten und wirklich nette Entscheidungen, die man sonst selten sieht. Nur in dem Moment, wo ich wirklich einen neuen Pier zufüge und zu meiner Konfiguration, in dem Moment wird aller Speicher der jemals dafür benötigt, wird alliziert. Kein Paket sorgt dafür, dass neue Speicherank fordert wird. Also eine Menge Fehler, das sind da schon einfach raus. Und genauso wenig die ganzen Paket-Hetter. Ein kleiner Hetter muss dann mit rein in das UDP-Paket, um das andere Paket herum. Das sind alle statisch große Felder. Also kein Pasa nötig, keine Leipasa nötig. Ich weiß genau, wo was steht und wenn es keinen Sinn macht, werf ich es weg. Und sobald da irgendwie nur irgendwas komisch aussieht an diesem Paket, werf ich es weg. Und mein Zustand ist wie davor auch. Also ich ignoriere das komplett. Es hat keinen nicht authentifiziertes Paket, hat überhaupt keinen Einfluss über den internen State. Und das sind einfach so ein paar Sachen, die das recht ... Das sieht man selten so in der Form, dass es einfach wirklich strikt durchgezogen ist und statt irgendwelche Fehler zu beheben, wenn sie erst mal unmöglich gemacht, für einen ziemlich schickten Ansatz. Genau, zur Performance. Ich habe selber relativ überrascht. Momentan ist es so, es ist eine reine Kernel Implementation. Die hat natürlich nur diesen User Space, Kernel Space, komisch Vorteil. Es sind ein paar andere Implementationen in der Mache auch. Einen Go, einen Rust. Damit man das halt eben auch irgendwie außerhalb von Linux irgendwann mal betreiben kann. Momentan sind die aber noch nicht fertig oder funktionieren nicht so hundertprozentig. Selbst auf unbeschleunigter Hardware und relativ schwacher oder alter, ist dieser Charger 20-Verstöpfungsalgonus echt flott. Also da wurde einfach gezielt auf teure Operationen verzichtet. Es wird relativ wenig einfach nur herumkopiert oder zufällig herumkopiert, wie es bei AES so aussieht. Und im Gegensatz zu AES ist es halt auch deutlich einfacher gegen Timing-Attacken zu schützen, da es AES ohne extra Hardware eigentlich immer recht anfällig für. Und ja, man sieht es auch selten. Also oft sind dann auch die Schlankenlösungen, manchmal vielleicht dann auch einfach die, die einfach, ja, ich prüfe diese extra Fälle einfach nicht ab und mache sie trotzdem, aber in dem Fall gilt wirklich, ich habe überhaupt kein Problem mit alter Hardware, Gigbit komplett zu saturieren und ich habe immer noch Rechenleistungen übrig. Also es ist überhaupt kein Problem damit, genau. Und dann so eine wirklich, da merkt man einfach, dass so wirklich fast alles gedacht wird. Aber das spielt wunderbar mit den ganzen Network-Namespaces. Ich kann so einen, so einen Wiger Interface nehmen und wenn ich das erstelle, dann merkt das ich sein aktuelles Network-Namespace. Wenn ich jetzt das in einander Namespace verschiebe, weiß das, wo es herkommt. Das heißt, ich kann das benutzen, um einen Namespace komplett vom physikalischen, von den physikalischen Interfaces zu trennen und das quasi zu zwingen, über dieses Wiger Interface überhaupt nach draußen zu kommen. Also, das ist eine zu nahe, das will ich kurz vorstellen. Man kann zum Beispiel, wenn man jetzt, wenn man sich jetzt einmal die Arbeit machen will und dann alles, was normal auf dem Rechner passiert, durch den VPN soll, macht man das folgendermaßen. Man fängt an und packt seine ganzen physikalischen Interfaces, also zum Beispiel das Etheranole. Ich baue ein neues Internet, in den neuen Network-Namespace. Physikalisch, also früher habe ich den Namespace genannt, verschieb da mein Interface rein. Dann kann ich da einfach mit IP netten S-Exec, kann ich da einfach rein. In dem Moment läuft meine Shell komplett unter diesen Namespace, unter diesen neuen, wo jetzt halt nur das physikalische Gerät drin ist. Da kann ich jetzt machen, was ich brauche, um das wieder zum Laufen zu bringen. Ja, Internet erstell, wieder wieder zum Laufen bringen oder so. Beim verschieben verliert leider alles seine Konfiguration. Das muss man also dann neu wieder aufsetzen. Dann erstelle ich eben mein Wireguard-Device und schiebe es wieder raus. Und in dem Moment kann ich dann, und wenn ich es dann konfiguriert habe, geht alle normaler Traffic, denn ich sonst so habe, ich mache ein Browser auf, ich ruf mir E-Mails ab, ich mache eine SSH-Session auf. Die wissen von dem normalen Netzwerk in der Fest nichts mehr, sondern es geht alles dann über den Ton. Die Frage war, was mit Anfragen ist. Wie meintest du es genau? Wenn ein Paket an das normale Netzwerk-Device geht, was passiert damit? Dann landet es einfach in diesem physikalischen Namespace. Wenn das nicht ein Paket ist, was für den Tunnel gedacht ist, also an das Port vom Tunnel gerichtet ist, dann war es auch immer, ja, das war es auch immer, das war es auch immer, das war es auch immer, das war es auch immer, ja, was auch immer, was halt auch gerade sonst noch läuft. Und wenn es an den Tunnel gerichtet ist, dann wird halt ganz normal geschaut, wo kommt es her, und das ganze Prozess geht los, aber es erscheint dann eben auf der anderen Seite im Default Namespace. Und das ungedrehtes Szenario ist, ich mache mir einen VPN Namespace quasi, ich erstelle also in meinem Default Namespace das WireGuard-Interface, verschiebe es dann in der dritten Zeile in das VPN Namespace. In dem Moment hat also dieses WireGuard-Interface immer noch Zugriff auf alles, was da war. Und dann, wenn ich da jetzt irgendetwas da drinnen ausführe, dann, ich habe es jetzt beispielhaft mal so gemacht, bin einfach da rein, habe mir alle Adressen, die es so gibt, dass es nur ein lokales local interface und eben nur das WireGuard-Interface. Es gibt also keine andere Möglichkeit, irgendwie nach draußen zu kommen, als über diesen Tunnel. Und dann kann ich zum Beispiel so Sachen machen, wie einfach zum Beispiel ein Firefox starten oder irgendeinen Browser starten und den halt über in dieses Network Namespace zu packen. Genau. Da sind nochmal die wichtigsten Links. Ich werde die Folie noch online packen bzw. die noch auf den Talkbeschreibungen mitstellen. Und ich würde mich darum bemühen, wenn wirklich jetzt halt noch viel Fragen offen sind und Lust ist, damit zu spielen. Ich habe ein bisschen Hardware noch dabei, da können wir mit rumspielen, da einfach die nächsten Tage noch ein Workshop zu organisieren. Und dann bin ich jetzt für Fragen noch offen. Also es geht halt darum, die beiden Gegenstellen, also die miteinander kommunizieren, haben ja den Public-Key zur Identifikation. Und ich stelle mir das halt so vor, auch wenn beide Komponenten, also Klein- und Server zum Beispiel, hinter Carrier-Crate-Nut oder sowas sind, sollten die sich ja auch gegenseitig sehen können. Und da müsste es ja eine Art Peer-to-Peer-Lösung geben, so ähnlich wie es jetzt BitTorrent gibt oder vielleicht irgendwas Blockchain passiert ist oder irgendwas, wo die Hole punchen könnten und dann die öffentlich sichtbare IP-Adresse und Port das System eintragen, das Peer-to-Peer-System, sich dann über den Public-Key gegenseitig sehen und einfach verbinden. Gibt es da irgendwie eine Lösung dafür? Also ich habe ein paar per Hand ausprobiert, die funktionieren, also das übliche funktioniert. Man kann selber einfach, wenn man weiß, wo es hingehen soll, einfach ein Hole punchen, indem man halt einfach ein Netzwerkpaket baut, was einfach in die richtige Richtung geht. Wenn das beide tun, sind beide Firewalls offen. Einfaches Nut ist überhaupt kein Problem. Das ist nur dann ein Problem, wenn beide hinter den Nut sind. Und was da noch so als Zusatzfunktion gibt, ist eben, dass wenn man einfaches Nut nur hat, das hilft eigentlich auch bei beiden Fällen, wenn zwei Nut sind und die Verbindung steht mal, dann kann man ein Keep Alive schicken. Das kann man so konfigurieren, so unter 30 Sekunden, da fangen dann die Firewalls meistens an und machen wieder dicht. Also wenn man so bei 25 Sekunden im Paketchen schickt, bleibt das Port offen. Das hat auch funktioniert relativ gut bei mir. Und was kann ich dazu so noch sagen? Ja, also das ist wirklich nur so, der minimale Baustein, das überhaupt zum Laufen zu bringen, wie man das drum herumorganisiert, ist dem jetzt erstmal so egal. Also da ist auch dann eher so, das würde man da auch nicht integrieren. Das ist davon auch eher unabhängig. Das hat dann auch Schnittstellen, das muss wie eine Library einbinden könnte in so einer Geschichte, dass man jetzt das einfach erweitern könnte mit diesen Komponenten, die jetzt zum Beispiel das Hohe Punching machen, die jetzt die Verteilung der IP-Adressen oder das herausfindende IP-Adressen machen, das einfach in das große Ganze einbinden kann als Library, das geht auch, da muss sich da viel ändern. Nee, das hat auch wenig damit zu tun, ehrlich gesagt. Das würde man wahrscheinlich auch komplett daneben organisieren, wenn man weiß, was los ist. Würde man dann den Tunnel aufbauen. Also man könnte jetzt einfacher Lösung sagen wir mal so. Ich habe einen zentralen Server. Ich sage als Client, der hinternetzt, hey, hier bin ich. Der Server weiß in dem Moment, okay, die externe IP ist vermutlich von dem. Das machen jetzt ein paar Leute. Dann wird auf dem Server angefragt, hey, ich würde gerne mit dem, mit der Public Key reden. Dann kriegst du die externe IP, der andere fragt vielleicht auch nochmal nach. Und dann können die sicher wieder in der Mitte treffen. Also das würde man, das weiß man dann nichts damit zu tun. Ja, wer nett, wenn es natürlich direkt geht, aber ehrlich gesagt, so etwas muss dann auch echt in dem Kern sein, in dem Moment. Das geht auch recht gut im User Space. Da gibt es wie gesagt auch Tausend Varianten, das zu tun, ob man das jetzt über nette HT löst oder wie auch immer. Das ist jetzt orthogonal dazu. Aber man hat eben ein Baustein, um sowas dann zu bauen. Da hinten sind Fragen, das sind mehrere, okay. Wenn ich jetzt damit spielen will, was brauche ich dann an Software? C-Compiler, Wim. Make. Ja. Es hält sich in Grenzen. Es ist wirklich wenig Abhängigkeiten. Auch das Repository ist wirklich schön organisiert. Man kann es Gepatches, den aktuellen Kernsauce patchen. Es baut mit DKMS. Es baut einfach auch so als Modul. Ich habe das alles ausprobieren können. Es war eigentlich alles problemlos. Es ist wirklich schön organisiert, ohne Probleme. Ich spiele damit auch auf der Ebene. Es ist wirklich ein schöner Einstieg. DKMS heißt, du hast es auf dem Jahr ausprobiert? Nein. Wut du? Nein. Die eigentliche Frage war, die laut IPs, die da vorhin konfiguriert waren, sind das die Intunnel, die die Gegenstände haben darf oder alle Pakete, die ich überhaupt annehme? Das sind die Intunnel, die Tunnel-IP. Ich kann auch so was zu machen. Ich kann alle zulassen. Damit finde ich eben über den Server tatsächlich ins Netz will. Dann muss er von dem aus ich von allen IPs Nachrichten bekommen. Der Server selber spricht mit mir über die Tunnel-IP. Aber über den Tunnel kommen dann natürlich auch, sobald ich mal diesen Hopp weitergehe, weltweit die IPs. Also ich kann das so irgendwie möglich schnüren. Ich kann auch wirklich eine Liste von Einzel-IPs angeben, die ich sage, die ich über den Tunnel überhaupt hören will. Oder ich kann sagen, es ist mir recht. Du bist jetzt mein Gateway. Ich nehme alles an. Letztlich ist das schon eine Art Firewall quasi. Es stellt halt sicher, dass man zu dem Maße diese Relation von Publici zu IP erst mal festnagelt. Und wenn ich dann halt und darauf entsprechend eben kann ich dann mein Firewall-Regeln aufbauen. Also wenn ich zum Beispiel sozusagen, also das macht halt in dem Sinne erst recht Sinn. Also wenn man das einsteckt, macht es mehr Sinn. Wenn es Publicis, wenn es wirklich alles offen ist, dann gelten die ganz normalen Firewall-Regeln und habe ich keinen extra Gewinn, den ich sonst dann auch hätte. Wenn ich aber will, dass zum Beispiel Einzel-IPs mehr oder weniger dürfen in meinem Netzwerk, will ich dir weiterleiten oder nicht. Oder was mache ich mit denen, dürfen die auf meinem Webserver oder nicht. Ja, dann macht es schon Sinn, das zu Granulare aufzuteilen. Ich habe im Hinterkopf dynamisches Rooting aller OSPF wie GP irgendwas, wo ich halt nicht weiß, wo was herkommen kann. Das will ich dann wahrscheinlich ganz aufmachen. Hast du sowas mal ausprobiert? Das habe ich halt ausprobiert und was ich auch noch vorwegnehmen kann, ist, falls die Frage kommt, aus so einem Onion-Rooting ist noch nicht integriert, soll aber noch kommen, damit man auch sowas einfaches wie den Relay bauen kann, ohne jetzt halt zwischenzeitlich das Paket auszupacken und es dann wieder weiter verschicken zu können, auch im selben Tonel in dem Sinne. Also das gibt es leider auch noch nicht, das ist auch noch nicht gemacht, das ist auf der To-Do-List auf jeden Fall. Das ist das Mikrofon dahintergewandert. Ich würde interessieren, ob es die Möglichkeit gibt, über eine zentrale Stelle, also über einen zentralen Server ein Full Mesh zu initiieren. Das geht, schlägt in die Kerbe eben. Also ich kann, was ich machen kann, ist, das ist quasi ja das Server-Kleinbeispiel, das ist jetzt auf meinem Server. Das Server ist einfach erreichbar, über die 001-Eben zentral, da schickt jeder hin, von daraus schickt jeder weg. Und ich kann aber auch zu Not zwischen Kleint 1 und 2 in dem Beispiel jetzt halt zusätzlich auch noch eine Verbindung jetzt in den Tonel aufmachen. Der stört jetzt erstmal nicht, automatisch geht es aber noch nicht. Ja, das war der Punkt, ich müsste es dann wieder manuell initiieren. Das Server, das sozusagen vermittelt, ist jetzt hier drin nicht vorgesehen auch nicht insigriert, wenn dann auch wieder so eine externe Lösung. Also der Wahlgat muss man da auch wirklich, das ist ein Legoschein. Wie ich den jetzt jetzt verwende, was man meint, aber was das tut, ist zwischen 2 Leuten einen sicheren Kanal aufzubauen und ein paar externe Lettigkeiten auch noch überdrehen zu packen. Und da habe ich noch eine zweite Frage, kann man den Public hier auch an sozusagen die erlaubte externe IP binden? Nicht, dass ich wüsste, würde ja auch dann das Roaming kaputt machen. Ja, definitiv. Eventuell kann man natürlich eine vorgelegte Firewall-Regel damit hinkriegen. Ich erlaube von einer gewissen IP, oder nur von so, von den und den IPs an das Pod vom WireGuard zu binden zum Beispiel. Sonst zur Frage. Ja, nur kurz. Wie sieht es mit IPv6 aus? Geht alles. Ich habe das jetzt bloß, weil es ist schön, da zu lesen. So wohl zwischen den Piers als auch ein Tunnel. Noch Fragen? Dann würde ich sagen, lass mich wissen, wenn ein paar Leute zusammenkommen, kümmere ich mich an einem Workshop. Wir können dann noch ein bisschen spielen. Ich bin im EH 18 Channel und sag mir Bescheid und dann gucken wir, dass wir nochmal Zeit finden. Dankeschön.