Routing-Einstellungen: Befehle ip route
, netstat
, ss
1. Was ist Routing?
Heute gehen wir noch tiefer rein: Wir richten Routen ein, analysieren Netzwerkverbindungen und schauen uns Ports an. Hier beginnt die wahre Magie der Netzwerkadministration – wir klären, wohin Pakete gehen, wie sie dorthin kommen und warum es wichtig ist, der "Boss der Routen" zu sein.
Routing ist nicht einfach nur ein kompliziert klingendes Ding, es ist das Fundament moderner Netzwerke. Stell dir vor: Dein Computer ist ein Tourist, der zu einem anderen Computer (ein Hotel) reisen möchte, und die Routen sind die Straßen und Hinweisschilder. Wenn es keine Routen gibt, wird der Tourist umherirren, Passanten nach der Richtung fragen (diese Passanten könnten DNS-Server sein, aber dazu später mehr) oder einfach zu Hause bleiben.
Warum brauchen wir Routen?
Jedes Gerät im Netzwerk muss wissen, wie es andere Geräte erreicht. Zum Beispiel, wenn dein Computer eine Anfrage an die Website example.com
senden möchte, muss er Folgendes wissen:
- Wohin die Pakete geschickt werden sollen.
- Über welches Gateway oder Interface dies erfolgen soll.
Es gibt zwei Arten von Routen:
- Lokale Routen: Anweisungen für Geräte in deinem Subnetz (z.B. dein Computer und Drucker).
- Externe Routen: Anweisungen für Geräte außerhalb deines Subnetzes (z.B. für eine Ressource im Internet).
2. Routentabelle
Eine Routentabelle ist eine Tabelle mit Regeln, die bestimmen, wohin Pakete basierend auf IP-Adressen gesendet werden. Es ist wie Google Maps für deinen Computer: "Wenn du dorthin willst, geh über dieses Gateway".
Versuche, deine Routen anzuzeigen:
ip route show
Beispielausgabe:
default via 192.168.1.1 dev eth0 proto dhcp metric 100
192.168.1.0/24 dev eth0 proto kernel scope link src 192.168.1.100 metric 100
Was bedeutet das:
default via 192.168.1.1
: Wenn für ein Paket kein spezifisches Ziel angegeben ist, sende es über das Gateway mit der Adresse192.168.1.1
.dev eth0
: Wir verwenden die Schnittstelleeth0
.192.168.1.0/24
: Dies ist eine Route für das gesamte Subnetz192.168.1.0/24
. Pakete bleiben "zu Hause" im lokalen Netzwerk.proto
undmetric
: zusätzliche Parameter, darüber reden wir später.
3. Der Befehl ip route
Routen anzeigen
Um die Routing-Tabelle anzuzeigen, haben wir bereits ip route show
verwendet. Du kannst Filter hinzufügen, z.B., um die Route nur für das lokale Netzwerk zu bestimmen:
ip route show match 192.168.1.0/24
Routen hinzufügen
Du kannst eine statische Route hinzufügen – das ist, als würdest du ein Straßenschild selbst aufstellen. Zum Beispiel, um alle Anfragen an das Subnetz 10.0.0.0/24
über ein bestimmtes Gateway umzuleiten:
sudo ip route add 10.0.0.0/24 via 192.168.1.1 dev eth0
Erklärung:
10.0.0.0/24
– Ziel-Subnetz.via 192.168.1.1
– Gateway, über das die Pakete gesendet werden.dev eth0
– Schnittstelle, über die die Pakete verlassen.
Routen löschen
Falls du möchtest, dass eine Route nicht mehr existiert, entfernst du sie mit dem Befehl:
sudo ip route del 10.0.0.0/24
4. Praxis: Statische Route konfigurieren
- Stelle sicher, dass du Zugriff auf ein anderes Subnetz hast.
- Füge eine Route hinzu:
sudo ip route add 192.168.2.0/24 via 192.168.1.1 dev eth0
- Überprüfe die Routing-Tabelle:
ip route show
- Lösche die Route, falls sie nicht mehr benötigt wird.
5. Befehl netstat
Wenn es darum geht, aktuelle Verbindungen zu analysieren, ist netstat
der gute alte Freund des Systemadministrators (auch wenn es dafür schon eine modernere Alternative gibt – ss
, über die wir später sprechen werden).
Überprüfung aktiver Verbindungen
netstat -tun
Was das bedeutet:
-t
– zeigt TCP-Verbindungen.-u
– zeigt UDP-Verbindungen.-n
– benutzt numerische Adressen (anstatt von Hostnamen).
Beispielausgabe:
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 192.168.1.100:22 192.168.1.50:50240 ESTABLISHED
Was das bedeutet:
- Lokale Adresse
192.168.1.100:22
– das ist dein Computer, der Port 22 (SSH) abhorcht. - Entfernte Adresse
192.168.1.50:50240
– das ist der entfernte Host, der mit deinem Port verbunden ist. ESTABLISHED
– das ist eine aktive Verbindung, Daten werden übertragen.
Ports abhören
Um zu sehen, welche Ports auf deinem Rechner "lauschen":
netstat -ltn
Das Flag -l
zeigt nur abhörende Ports an, und -t
sowie -n
haben wir bereits besprochen.
6. Befehl ss
Wenn netstat
ein Dinosaurier ist, dann ist ss
wie eine DeLorean-Maschine aus der Zukunft: Es arbeitet schneller und liefert mehr Informationen.
Überprüfung aktiver Verbindungen
ss -tun
Das Ausgabe-Beispiel ist dem von netstat
ähnlich, aber schneller und detaillierter.
Abhören von Ports
ss -tln
Alles genauso wie mit netstat
, aber mit ss
zu arbeiten ist bequemer und moderner.
7. Verbindungen überwachen
- Benutze
netstat
oderss
, um zu sehen, welche Ports dein Computer abhört. - Öffne eine SSH-Verbindung auf einem anderen Gerät und überprüfe, ob sie in der Verbindungsliste erscheint.
- Versuche, die Ausgabe der Befehle zu interpretieren.
Wir sind in die Welt des Routings und der Verbindungsüberwachung eingetaucht: Jetzt kannst du ip route
verwenden, um die Routing-Tabelle zu verwalten, und netstat
/ss
nutzen, um Netzwerkverbindungen zu analysieren. Diese Tools sind dein Schweizer Messer, um die verwirrendsten Netzwerkprobleme zu lösen. Willst du einem Freund helfen, der sich beschwert, dass "das Internet nicht funktioniert"? Zieh deine neuen Skills raus und zeig, was du drauf hast!
In der nächsten Vorlesung wird es noch spannender: Wir beschäftigen uns mit DNS und seiner Magie. Bis dahin – übe mit ip route
und schau dir an, wie Pakete ihren Weg nach Hause finden.
GO TO FULL VERSION