Mein Netzwerklabor beruht derzeit noch auf virtuellen Maschinen, die auf VirtualBox beruhen. Ich trug mich schon seit längerer Zeit mit dem Gedanken, diesen Zustand zu ändern.

Ich wollte für meine Experimente leichtgewichtigere virtuelle Maschinen nutzen - mir schwebte die Benutzung von LXC vor. Ich wollte damit beginnen und unter Umständen danach auf Docker schwenken.

Nach eingehender Recherche stellte ich fest, dass es keine fertige Router-Distribution gab, die ich auf virtuellen Maschinen einsetzen kontne, die als Container realisiert sind. Weder für IPCop, noch für IPFire, pfSense oder OpnSense konnte ich eine Möglichkeit finden, diese als Container zu betreiben.

Ich musste also selbst tätig werden. Der aktuelle Arbeitsstand dieses Projektes ist in ein Github-Repository gewandert.

Der Stand dort setzt die minimalen Anforderungen um: Der Container trennt zwei Netze, auf dem äußeren Netzwerk fragt er eine IPv4-Adresse per DHCP an, auf dem internen Netzwerk arbeitet er als DHCP-Server. Diverse Aspekte sind bereits beim Start des Skripts konfigurierbar. Wenn das Skript ausgeführt ist, existiert unter dem angegebenen Namen ein Container, der als Router und Gateway zwischen äußerem und internem Netz agiert. Der Zugriff aus dem internen Netz ins äußere ist derzeit nicht eingeschränkt.

Dafür müsste man die Firewall-Regeln weiter anpassen - entweder durch Erweiterung des Skripts oder nachträgliche Konfiguration des aufgesetzten Containers.

Die nächsten Schritte im Projekt sind das Hinzufügen von SSH-Zugängen zum Router und die Dokumentation der Möglichkeit, per Multi-Hop Verbindung zu den Clients in den internen Netzen zu erhalten - auch wenn mehrere dieser Router-Container hintereinander kaskadiert sind.

Aktualisierung vom 30. September 2019

Eine neue Version der Appliance steht zur Verfügung - damit ist es jetzt auch möglich, dem externen Interface eine statische IP-Adresse zuzuordnen.

Aktualisierung vom 26. Februar 2020

Eine neue Version der Appliance steht zur Verfügung - die Konfiguration wurde um Vorbereitungen erweitert, innerhalb des Containers ein tun-Interface zur Verfügung zu stellen. Dies wird zum Beispiel für die Einrichtung von VPN-Tunneln - etwa mit Tinc - benötigt..

Artikel, die hierher verlinken

Automatisches Setup eines Netzwerklabors

01.12.2019

Ich hatte hier schon über Möglichkeiten geschrieben, Komponenten eines Netzwerklabors automatisch als LXC-Container aufzusetzen. Nachdem ich neulich mit einem Kollegen über Testszenarien für GlusterFS philosophiert habe, habe ich nunmehr versucht, diese Fragmente zu konsolidieren...

CI/CD mit shellcheck

13.10.2019

Ich habe mich entschlossen, in meinen diversen Shell-Projekten shellcheck als Mittel zur Qualitätssicherung einzusetzen.

LXC Netzwerk Degrader

06.10.2019

Ich habe neulich ein Skript zur automatisierten Erstellung eines Routers in einem LXC-Container präsentiert - ein wenig wie Docker nur ohne Docker.

Performanceprobleme mit KVM und Windows

28.09.2019

Ich strebe wieder einmal nach mehr Wissen und versuche mich daher momentan im Bereich Virtualisierung weiterzubilden. Durch einen Kollegen angeregt nahm ich mir diesmal KVM vor...

Docker und CI/CD

26.09.2019

Nachdem ich mich lange dagegen gewehrt habe, Docker privat einzusetzen, habe ich jetzt doch wieder angefangen, mich damit zu beschäftigen...

Umzug Netzwerklabor abgeschlossen

24.09.2019

In meinem vorhergehenden Artikel zu diesem Thema habe ich beschrieben, wie man mit einem einfachen Bash-Skript sehr schnell einen rudimentären Router als LXC-Container aufbauen kann.

Alle Artikel rss Wochenübersicht Monatsübersicht Github Repositories Gitlab Repositories Mastodon Über mich home xmpp


Vor 5 Jahren hier im Blog

  • Fährnisse des Buildprozesses unter Windows

    17.07.2019

    Nachdem ich begonnen hatte, mich mit der Beschleunigung der Berechnung des Mandelbrot-Fraktals unter Zuhilfenahme der Shadereinheiten in Graphikkarten zu beschäftigen und erste Erfolge feiern konnte, wollte ich das mal auf einer richtigen Graphikkarte ausprobieren...

    Weiterlesen...

Neueste Artikel

  • Datenvalidierung UTF8 mit BiDi-Steuerzeichen (TrojanSource 2.0)

    Ich bin heute nochmal inspiriert worden, weiter über die Trojan Source Vulnerability nachzudenken. Meiner Meinung nach bestehen hier noch Probleme - speziell bei Nutzereingaben oder Daten, die über externe Schnittstellen ampfangen werden.

    Weiterlesen...
  • OpenStreetMap Navi als Docker-Container

    Ich habe die auf OpenStreetMap basierende OpenSource Navigationslösung Graphhopper in einen Docker-Container gepackt und als neuestes Mitglied in meinem Docker-Zoo willkommen geheißen.

    Weiterlesen...
  • SQL-Aggregatfunktionen in SQLite als BeanShell-Scripts

    Ich habe neulich über eine Möglichkeit berichtet, SQLite mittels der sQLshell und Beanshell-Skripten um SQL-Funktionen zu erweitern. In diesem Artikel versprach ich auch, über eine solche Möglichkeit für Aggregatfunktionen zu berichten.

    Weiterlesen...

Manche nennen es Blog, manche Web-Seite - ich schreibe hier hin und wieder über meine Erlebnisse, Rückschläge und Erleuchtungen bei meinen Hobbies.

Wer daran teilhaben und eventuell sogar davon profitieren möchte, muß damit leben, daß ich hin und wieder kleine Ausflüge in Bereiche mache, die nichts mit IT, Administration oder Softwareentwicklung zu tun haben.

Ich wünsche allen Lesern viel Spaß und hin und wieder einen kleinen AHA!-Effekt...

PS: Meine öffentlichen GitHub-Repositories findet man hier - meine öffentlichen GitLab-Repositories finden sich dagegen hier.