CodeGym /Kurse /Docker SELF /Routing-Einstellungen: Befehle `ip route`, `netstat`, `ss...

Routing-Einstellungen: Befehle `ip route`, `netstat`, `ss`

Docker SELF
Level 4 , Lektion 1
Verfügbar

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:

  1. Wohin die Pakete geschickt werden sollen.
  2. Ü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 Adresse 192.168.1.1.
  • dev eth0: Wir verwenden die Schnittstelle eth0.
  • 192.168.1.0/24: Dies ist eine Route für das gesamte Subnetz 192.168.1.0/24. Pakete bleiben "zu Hause" im lokalen Netzwerk.
  • proto und metric: 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

  1. Stelle sicher, dass du Zugriff auf ein anderes Subnetz hast.
  2. Füge eine Route hinzu:
sudo ip route add 192.168.2.0/24 via 192.168.1.1 dev eth0
  1. Überprüfe die Routing-Tabelle:
ip route show
  1. 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

  1. Benutze netstat oder ss, um zu sehen, welche Ports dein Computer abhört.
  2. Öffne eine SSH-Verbindung auf einem anderen Gerät und überprüfe, ob sie in der Verbindungsliste erscheint.
  3. 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.

Kommentare
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION