alix apu asa auswahl backup bewegung bom buecher c cfengine checklisten cisco computernetz debian dvcs ebtables email epub fairphone2 fedora firewall fossilscm gns3 grep hardware i2c iproute ipsec iptables ipv6 kalender kpartx latex laufen lighttpd linux lua lur monotone mount mysql openvpn openwrt pac paketfilter perl postfix programmieren projekt proxy pxelinux python qubes-os rezension rfc rpm rs232 schreiben script seriell shell software stehen sysadmin syslog systemd troubleshoot ubuntu uci vcs virtualbox virtuel virtuell vpn wine xen

Mobiler Netzwerksimulator

Eines der Projekte, mit denen ich mich gerade beschäftige, ist ein mobiler Netzwerksimulator, kurz GNS3-Koffer genannt. Ursprünglich habe ich ihn für eine Schulung gebaut, die ich für Kollegen geben will. Später werde ich ihn vielleicht für einen Workshop beim GUUG Frühjahrsfachgespräch verwenden. Auf jeden Fall will ich damit selbst experimentieren.

Die Wahl fiel auf GNS3, weil ich damit schon, wenn auch nur kurz gearbeitet hatte. Eine mobile Lösung als Koffer mutet vielleicht etwas anachronistisch an, wo alles und jeder heutzutage seine Daten irgendwo im Internet ablegt. Tatsächlich verwende ich im Koffer eine GNS3-Installation, die eigentlich für Server im Internet gedacht ist. Doch dazu später mehr. Meine Intention bei diesem Projekt ist, den Simulator auch dann nutzen zu können, wenn ich kein Internet zur Verfügung habe. Diese Einstellung ist zum Teil dem schlechten Internetanschluss hier auf dem flachen Lande geschuldet.

Hardware

GNS3-Koffer Die Hardware besteht aus einem PC Engines APU 2C4 mit Gehäuse und Netzteil, einem einfachen Alukoffer und einer Sperrholzplatte nebst Abstandshölzern, auf denen der APU befestigt ist und einer Mehrfachsteckdose. Ein bis drei Ethernet-Kabel runden die Hardware, je nach Bedarf ab.

Momentan nehme ich immer noch einen USB-seriell-Wandler und ein Null-Modem-Kabel mit, falls ich an die Konsole des APU muss. Zum Arbeiten mit dem Koffer ist das nicht notwendig.

Software

Bei der Software ist natürlich GNS3 das zentrale Element. Es ist nach der Anleitung für einen remote Server installiert, das heißt, via Install-Skript auf einem Ubuntu 16.04. Damit ist klar, was ich als Betriebssystem auf dem APU verwende. Zur Installation von Ubuntu 16.04 bin ich nach der Anleitung aus der HowTo Collection von PC Engines vorgegangen.

Der APU 2C4 kommt mit 3 Ethernet-Anschlüssen, die ich wie folgt verwende:

  • enp1s0 (Internet) - Über diese Schnittstelle habe ich das Betriebssystem installiert, sie wird via DHCP von außen konfiguriert. Da bei der GNS3-Installation OpenVPN installiert und konfiguriert wurde, kann ich via OpenVPN auch von dieser Seite die Simulationen steuern.

  • enp2s0 (Management) - Diese Schnittstelle ist auf die Adresse 192.168.71.1/24 konfiguriert. Hier läuft ein DHCP-Server, der angeschlossene Geräte mit IP-Adressen versorgt. An dieser Schnittstelle wird normalerweise der Rechner mit der GNS3-Client-Software angeschlossen.

  • enp3s0 (Geräte) - Diese Schnittstelle ist reserviert für erweiterte Simulationen mit externen Geräten.

Firewall

Damit das ganze funktioniert sind noch ein paar Firewall-Einstellungen nötig:

Masquerading an enp1s0

Diese Schnittstelle erhält eine Adresse via DHCP, wenn sie an ein Netzwerk angeschlossen wird. Falls Geräte vom Management-Interface auf Ressourcen des dort angeschlossenen Netzes zugreifen sollen, müssen sie die vergebene Adresse und damit NAT verwenden.

Freigaben

  • 22/tcp - Zum Herunterfahren des Systems und für die Administration melde ich mich via SSH auf dem APU an.

  • 1194/udp - Der Zugriff auf die GNS3-VM erfolgt über OpenVPN, dementsprechend muss dieser Port freigeschaltet sein.


Warum geht Traceroute nicht durch ein VPN?
Posted 2018-06-27
C-Schnipsel: IP-Adressen einlesen und ausgeben
Posted 2018-05-11
Fehlersuche in IPsec VPN: Fragen
Posted 2018-04-26
Rezension: Threat Modeling: Designing for Security
Posted 2018-03-23
Ein Pure-Perl-Modul für PCAP-Dateien
Posted 2018-02-25
Im Trüben fischen in den ASA Logs
Posted 2018-01-22
Half-managed IPsec-VPN ist wie ...
Posted 2017-12-13
Kalender 2018
Posted 2017-12-08
Die serielle Schnittstelle bei Linux
Posted 2017-11-07