Praktikum Netzemulation mit Kathara
Falls Sie mit Ihrem eigenen Rechner arbeiten installieren Sie vorab die Software. Eine Installationsanleitung für Ubuntu finden Sie in den Praktikumsdateien. Für andere Betriebssysteme informieren Sie sich auf der Website. Mittels des Befehls kathara check können Sie die Korrektheit der Installation prüfen.
Wichtige Befehle in der Form: kathara befehl
- check: Prüfung auf Korrektheit der Installation (kathara check)
- vstart: startet eine virtuelle Maschine (z.B.
kathara vstart --eth 0:A -n pc1) - vclean: stoppt eine virtuelle Maschine (z.B.
kathara vclean -n pc1) - list: Zeigt alle laufenden Maschinen
- lstart: startet ein definiertes Netzwerk
- lclean: stoppt das Netzwerk
- linfo: Informationen über das Netzwerk
- exec: führt einen Befehl in einer virtuellen Maschine aus
- connect: Öffnet eine Shell in der virtuellen Maschine
- settings: Anzeige und Änderung der Einstellungen (wir verwenden für unsere Versuche das Image kathara/frr)
Hinweis: Befehle mit einem v beginnen (z.B. vstart), beziehen sich auf eine einzelnen virtuelle Maschine. Befehle mit einem l beginnen (z.B. lstart), beziehen sich auf einen gesamten Versuch (Lab). Wir werden nach der Einführung in Kathara nur noch Versuche (Labs) bauen uns starten, keine einzelnen Maschinen.
Definition eines Netzwerks (Labor)
- lab.conf: Konfigurationsdatei für das gesamte Netz, für Beschreibung der Befehle siehe Manual zu Kathara
- pc1.startup: Befehle, die nach dem Start für das jeweilige Gerät ausgeführt werden, z.B.
ifconfigoderroute - pc1, r1 usw: Verzeichnisse für die Geräte, diese Verzeichnisse werden nur vom Emulator genutzt, anlegen und leer lassen.
Dateizugriff
- Zugriff auf das Homeverzeichnis des Hosts vom Gast aus erhalten Sie mittels des Verzeichnisses:
/hosthome/. Dazu muss in den Einstellungenkathara settingsder Zugriff erlaubt werden. - Das Verzeichnis
/sharedin einer Gastmaschine zeigt auf das Verzeichnis shared in einem Lab. Damit können Dateien für die Gastmaschinen bereitgestellt werden.
Internetzugriff aus dem Kathara-Netzwerk
- Benutzung der
--bridgedOption in vstart oder lab.conf (pc1[bridged]=true)
1. Aufgabe: virtuelle Maschinen
- Lesen Sie die verlinkte Einführung zu Kathara
- Vollziehen Sie den verlinkten Versuch mit 2 PCs nach
2. Aufgabe: Lab konfigurieren
Ein Lab ist eine Menge an vorkonfigurierten Geräten, welche gemeinsam gestartet und beendet werden können.
Konfiguriert wird das Lab mittels eines Verzeichnisses und der zentralen Datei lab.conf.
Mittels der Dateien <device_name>.startup können die einzelnen Geräte konfiguriert werden. Diese Shellskripte werden beim Hochfahren automatisch ausgeführt. Achtung: diese Dateien liegen in der gleichen Ebene wie die Datei lab.conf und werden nicht in Unterverzeichnisse der Geräte gelegt.
- Bauen Sie einen Versuch (Lab) mit den folgenden Eigenschaften:
- 3 PCs mit den Namen pc1, pc2 und pc3
- pc1 befindet sich in einem Netzwerk A mit pc2 (1. Netzwerkkarte eth0)
- pc3 befindet sich in einem Netzwerk B mit pc2 (2. Netzwerkkarte eth1)
- Testen Sie das Lab indem Sie dieses hochfahren, testen und wieder herunterfahren
- Erzeugen Sie jeweils eine Startdatei für pc1 und pc2 welche beim Hochfahren automatisch ausgeführt wird und die IP-Adresse 10.0.0.1/24 bzw. 10.0.0.2/24 für Interface eth0 vergibt. Testen Sie die Erreichbarkeit mittels ping.
- Erzeugen Sie ein Unterverzeichnis für das Gerät pc1 mit identischem Namen und legen Sie in dieses die Datei file.txt in das Unterverzeichnis foo. Nach dem Neustart sollte die Datei in pc1 unter /foo/file.txt sichtbar sein.
- Legen Sie eine Datei in den Verzeichnis shared ab. Diese sollte in allen Geräten sichtbar sein.
- Konfigurieren Sie das Netzwerk B mit der Adresse 10.0.1.0/24 und geben Sie pc2 (eth1) und pc3 Adressen aus diesem Bereich.
- Prüfen Sie auf eine Verbindung zwischen pc1 und pc3. Was ist für eine Verbindung zu tun?
Hinweis: Falls der Zugriff von den Gastmaschinen auf die bereitgestellten Dateien nicht funktionieren sollte, müssen Sie u.U. das Verzeichnis des Versuchs in das /tmp Verzeichnis kopieren und dort starten. Fragen Sie dazu den zuständigen Laboringenieur.
Verzeichnisstruktur:
myLab
lab.conf
pc1.startup
pc2.startup
pc3.startup
pc1
foo
file.txt
Die Datei lab.conf besteht aus Anweisungen der Art: maschine[arg]=value
Beispiel:
pc1[0]=A
pc2[0]=A
pc2[1]=B
pc3[0]=B
Routing aktivieren in Linux:
- Prüfung:
cat > /proc/sys/net/ipv4/ip_forward - Für eine temporäre Aktivierung bis zum nächsten Neustart verwenden Sie den Befehl
echo 1 > /proc/sys/net/ipv4/ip_forwardodersysctl -w net.ipv4.ip_forward=1
Letzte Änderung: 25. November 2025 08:55