In dieser Laborübung soll mittels Kommandozeile 1) eine Gruppe von Routern miteinander vernetzt werden. Die notwendigen Routen in die unterschiedlichen Netze sind dabei manuelle zu konfigurieren.
Die Router verwenden zwei Schnittstellen, wobei jeweils eine Schnittstelle in einem anderen Netz liegen. Die Router befinden sich paarweise in einem gemeinsamen Netz. Alle Netze sind so verschaltet, dass sie einen Kreis bilden. Netz soll mindestens ein Client konfiguriert werden, dass er einen der beiden Router als Default-Gateway nutzt. Das folgende Bild veranschaulicht den Aufbau.
Folgenden Komponenten sind zu konfigurieren:
In der Laborübung zu IPv4 sind alle notwendigen Befehle zum Ändern von IP-Adressen beschrieben.
HINWEIS: Es wird dringend empfohlen die notwendigen Befehle per Shell-Script zu bearbeiten. Der grundsätzliche Umgang mit Shell-Scripten wird auf der folgenden Seite kurz erläutert.
Beispiel Konfiguration für eine Router Schnittstelle. Das Script dient bewusst nur als grobes Gerüst. Es sind entsprechende Ergänzungen vorzunehmen.
#!/bin/bash # FORWARDING aktivieren sudo sysctl net.ipv4.ip_forward=1 # alle IP-Adressen an eth1 löschen sudo ip addr flush eth1 # IP-Adresse 192.168.99.<PLATZ+100> auf Interface eth1 setzen sudo ip addr add dev eth1 192.168.99.<PLATZ+100>/<PREFIX> # Interface eth1 aktivieren sudo ip link set dev eth1 up # Route in ein ZIELNETZ setzen über (via) ein Gateway im eigenen Netz über die Schnittstelle (dev) setzen. # (nur auf Routern) sudo ip route add <ZIELNETZ>/<PREFIX> via <IP_des_Gateways> dev eth1
Aufbau des ip route
-Befehls
Befehl/Parameter | Bedeutung | Beispiel |
---|---|---|
sudo | Administrativer Eingriff | sudo ip addr add… |
ip | ip -Befehl zur Konfiguration des IP-Protokoll-Stacks inkl. Routing | sudo ip route add … |
route | Der Parameter route gibt den Unterbereich vom ip -Befehl an,der für die Routing-Tabellen zuständig ist | sudo ip route add … |
addr | Der Parameter addr gibt den Unterbereich vom ip -Befehl an,der für die IP-Adressen zuständig ist | sudo ip addr add … |
add/del | Hinzufügen/Löschen einer Komponente (IP-Adresse oder Route). Dem Parameter folgt die IP-Adresse (addr) bzw. das Zielnetz (route). | sudo ip addr add … |
via | Nur im Kontext route : Gibt das Gateway bzw. den Next Hop als IP-Adresse an. | sudo ip route add 10.0.0.0 via 10.0.0.2 … |
default | Standard-Gateway für alle unbekannten Netze | sudo ip route add default via 10.0.0.2 … |
dev | Mit dev wird das Device als die Schnittstelle angegeben. Z.B. eth1 | dev eth1 |
Beispiel Konfiguration für eine Client-Schnittstelle. Das Script dient bewusst nur als grobes Gerüst. Es sind entsprechende Ergänzungen vorzunehmen.
Hier wird der ip route
-Befehl mit dem Parameter default
benutzt. Damit wird das Standard2)-Gateway gesetzt, also der Router, der die Pakete des Clients in fremde Netze bringt.
#!/bin/bash # default-Route auf eth0 löschen, IP für Raumnetz setzen und Schnittstelle aktivieren. sudo ip addr flush eth0 sudo ip addr add dev eth0 192.168.<RAUM>.<PLATZ+100>/<PREFIX> sudo ip link set dev eth0 up # alle IP-Adressen an eth1 und eth2 löschen sudo ip addr flush eth1 sudo ip addr flush eth2 # IP-Adresse 192.168.99.<PLATZ+100> auf Interface eth1 setzen sudo ip addr add dev eth1 192.168.99.<PLATZ+100>/<PREFIX> # Interface eth1 aktivieren sudo ip link set dev eth1 up # Default-Route setzen (Standard-Gateway) sudo ip route add default via 192.168.99.<IP_des_Gateways> dev eth1
t.b.d.