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.
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...Android Basteln C und C++ Chaos Datenbanken Docker dWb+ ESP Wifi Garten Geo Git(lab|hub) Go GUI Gui Hardware Java Jupyter Komponenten Links Linux Markdown Markup Music Numerik PKI-X.509-CA Python QBrowser Rants Raspi Revisited Security Software-Test sQLshell TeleGrafana Verschiedenes Video Virtualisierung Windows Upcoming...
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...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...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.