Wenn es dann endlich läuft

Oh Mann war das ein Ritt. Der Plan mal schnell einen Proxy aufzusetzen hat mich die letzten Tage gut beschäftigt. Wie man Docker-Container an eine IP-Adresse hängt, weiß ich jetzt. Bevor man damit loslegen kann braucht man aber erst virtuelle IP Adressen, dann geht es ganz leicht, funktioniert auch, bringt aber nichts. Die Fritzbox braucht nämlich MAC-Adresse zum Routen.

QEMU und VirtualBox sind da schon andere Geschütze, interessant, aber für das Vorhaben zu überdimensioniert und der Server zu langsam. Wieder zwei Tage für die Katz. Nach etwas Recherche bin ich dann auf Linux-Container gestoßen. Mit LXC/LXD Container schottet man eigentlich Applikationen voneinander ab. Für meinen Zweck sollen diese halt noch von außen erreichbar sein und zwar so dass die FritzBox denkt dass es sich um einen richtigen physikalischen Rechner handelt. Das kriegt man über einen Trick mit Macvlan hin.

PiHole läuft in so einem Container out-of-the-box. Ein erster Teilerfolg. Als nächstes kommt der Container, der Proxy spielen soll und im Endeffekt ja nur ein ngnix-Webserver mit Let’s Encrypt Zertifiaten und einer ausgefuchsten Konfiguration ist. Da steckt der Teufel gerne im Detail. Ein Feature von LXC/LXD sorgt nochmal kurz für Spannung, weil diese Container zwar untereinander und im ganzen Subnetz kommunizieren können, aber aus Sicherheitsgründen nicht mit dem Host, auf dem sie laufen. Die Lösung für dieses Kommunikationsproblem ist alles, was erreichbar sein soll, ebenfalls in einen Container zu verbannen. Dann zickt Docker erst mal, aber auch dafür gibt es eine Lösung.

Das klinkt alles erst mal ganz kompliziert, macht aber Sinn, denn das Endergebnis ist sauber strukturiert: Es gibt einen kleinen Server, der diverse Dienste immer anbietet, und einen großen, der nur bei Bedarf läuft. Damit sich die vielen Dienste auf dem Kleinen nicht in die Quere kommen wird das Betriebssystem mit LXC/LXD abstrahiert und aufgeteilt. Und zu guter Letzt wird der Zugriff auf den ganzen Quatsch zentral über einen Proxy geregelt. So, jetzt heißt es dokumentieren – und freuen dass es nach einer Woche probieren und experimentieren tatsächlich so ähnlich läuft wie geplant.

Schreibe einen Kommentar