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.
Setup a network bridge for your LXC containers with lxc-net
Debian Firewall when using Docker
Design & Implementation of Modern Router with Docker + Linux for home and small office
Wiki Router
Getting Started with Kea
How to use ISC KEA DHCP to inform “DNS” and “GATEWAY” to my DHCPv4 clients?
An SSH tunnel via multiple hops
Transparent Multi-hop SSH
Wiki Dnsmasq
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...
13.10.2019
Ich habe mich entschlossen, in meinen diversen Shell-Projekten shellcheck als Mittel zur Qualitätssicherung einzusetzen.
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.
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...
26.09.2019
Nachdem ich mich lange dagegen gewehrt habe, Docker privat einzusetzen, habe ich jetzt doch wieder angefangen, mich damit zu beschäftigen...
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.
Multi-User-WebDAV, Docker, GitHub
17.11.2019
Nachdem ich mich in letzter Zeit verstärkt mit Docker und dem zugehörigen Ökosystem beschäftige, habe ich begonnen, verschiedenste Dienste in Containern zu testen um zu sehen, ob in manchen Fällen LXC oder KVM nicht doch die bessere Wahl wäre...
Weiterlesen...Android Basteln C und C++ Chaos Datenbanken Docker dWb+ ESP Wifi Garten Geo Go GUI Gui Hardware Java Jupyter Komponenten Links Linux Markdown Markup Music Numerik OpenSource PKI-X.509-CA Python QBrowser Rants Raspi Revisited Security Software-Test sQLshell TeleGrafana Verschiedenes Video Virtualisierung Windows Upcoming...
In eigener Sache...
Weiterlesen...Ich habe eine neue Java Swing Komponente erstellt: Es handelt sich um einen Wrapper für von JToolBar abgeleitete Klassen, die die Werkzeugleiste minimieren und sie nur dann einblenden, wenn der Mauszeiger über ihnen schwebt.
Weiterlesen...Ich habe bereits in einem früheren Artikel über meine ersten Erfolge berichtet, der sQLshell auf Basis des bestehenden Codes aus dem Projekt EBMap4D eine bessere Integration für Geo-Daten zu spendieren und entsprechende Abfragen, bzw. deren Ergebnisse auf einer Kartenansicht zu visualisieren.
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, muss 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 Codeberg-Repositories findet man hier.