IP-Adressierung in Linux verwalten

CompTIABeginner
Jetzt üben

Einführung

In diesem Labor lernen Sie die grundlegenden Fähigkeiten zur Verwaltung von IP-Adressen in einer Linux-Umgebung. Sie beginnen mit der Verwendung des modernen ip-Befehls, um die Netzwerkschnittstellen Ihres Systems zu inspizieren. Anschließend konfigurieren Sie manuell eine statische IP-Adresse, legen ein Standard-Gateway fest, um die Kommunikation mit externen Netzwerken zu ermöglichen, und überprüfen dann Ihre Verbindung mit dem ping-Dienstprogramm.

Als Nächstes erkunden Sie die dynamische IP-Konfiguration, indem Sie die statische Adresse freigeben und den dhclient-Befehl verwenden, um automatisch eine neue IP-Adresse von einem DHCP-Server zu beziehen. Zum Abschluss des Labors verwenden Sie die Befehle arp und traceroute, um Ihre Netzwerkkonfiguration weiter zu inspizieren und zu überprüfen und sicherzustellen, dass alle Komponenten ordnungsgemäß funktionieren.

Netzwerkschnittstellen mit ip a inspizieren

In diesem Schritt lernen Sie, wie Sie die Netzwerkschnittstellen auf Ihrem Linux-System inspizieren. Bevor Sie eine IP-Adresse konfigurieren können, müssen Sie zuerst den Namen der Netzwerkschnittstelle identifizieren, die Sie konfigurieren möchten. Jede Verbindung, ob kabelgebunden oder drahtlos, wird über eine Netzwerkschnittstelle verwaltet.

Der moderne und standardmäßige Befehl zur Anzeige und Manipulation von Netzwerkschnittstellen unter Linux ist ip. Wir werden ihn mit dem Argument a (oder address) verwenden, um alle Netzwerkschnittstellen und ihre zugewiesenen IP-Adressen anzuzeigen.

  1. Öffnen Sie Ihr Terminal. Sie sollten sich bereits im Verzeichnis ~/project befinden.

  2. Um alle Netzwerkschnittstellen und ihre aktuellen Konfigurationen aufzulisten, führen Sie den folgenden Befehl aus:

    ip a

    Sie sehen eine Ausgabe, die der folgenden ähnelt. Die genauen Details, wie z. B. Schnittstellennamen (eth0, enp0s5), IP-Adressen und MAC-Adressen, variieren jedes Mal, wenn Sie eine neue Laborumgebung starten.

    1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
        link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
        inet 127.0.0.1/8 scope host lo
           valid_lft forever preferred_lft forever
    2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
        link/ether 00:16:3e:0f:23:a5 brd ff:ff:ff:ff:ff:ff
        altname enp0s5
        inet 172.16.50.11/24 metric 100 brd 172.16.50.255 scope global dynamic eth0
           valid_lft 1892159972sec preferred_lft 1892159972sec
    3: docker0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default
        link/ether 02:42:bb:cb:56:62 brd ff:ff:ff:ff:ff:ff
        inet 172.17.0.1/16 brd 172.17.255.255 scope global docker0
           valid_lft forever preferred_lft forever

Verständnis der Ausgabe:

  • 1: lo: Dies ist die Loopback-Schnittstelle, eine virtuelle Schnittstelle, die das System zur internen Kommunikation verwendet. Sie hat immer die IP-Adresse 127.0.0.1.
  • 2: eth0: Dies ist Ihre primäre Ethernet (kabelgebundene) Schnittstelle. Ihre Schnittstelle hat möglicherweise einen anderen Namen oder zeigt altname (alternative Namen) wie enp0s5 an. Dies ist die Schnittstelle, mit der wir arbeiten werden.
  • 3: docker0: Möglicherweise sehen Sie andere Schnittstellen wie docker0, die von der Docker-Container-Engine verwendet wird. Für die Zwecke dieses Labors können Sie diese ignorieren.
  • inet 172.16.50.11/24: Dies ist die IPv4-Adresse, die Ihrer Schnittstelle zugewiesen ist. Die angezeigte Adresse wird anders sein. Dies ist die Adresse, die Ihnen die Verbindung zu diesem Remote-Labor ermöglicht.
  • link/ether ...: Dies ist die MAC-Adresse der Schnittstelle, eine eindeutige Hardware-Kennung.

Nachdem Sie nun Ihre primäre Netzwerkschnittstelle (eth0) identifizieren können, sind Sie bereit zu lernen, wie Sie sie konfigurieren.

Eine sekundäre statische IP-Adresse konfigurieren

In diesem Schritt weisen Sie Ihrer Netzwerkschnittstelle manuell eine zusätzliche, statische IP-Adresse zu. Eine statische IP-Adresse ist nützlich für Server, die konsistent unter derselben Adresse erreichbar sein müssen.

Wichtiger Hinweis: Da Sie sich in einer Remote-Laborsitzung befinden, dürfen Sie die vorhandene IP-Adresse nicht entfernen oder die Netzwerkschnittstelle deaktivieren. Andernfalls würden Sie Ihre Verbindung unterbrechen. Stattdessen werden wir der Schnittstelle eine zweite IP-Adresse hinzufügen, was eine gängige und sichere Praxis ist.

  1. Weisen Sie der Schnittstelle eth0 die neue statische IP-Adresse 192.168.1.10 mit einer /24-Subnetzmaske zu. Wenn Ihre Schnittstelle einen anderen Namen hat, verwenden Sie stattdessen diesen Namen.

    sudo ip addr add 192.168.1.10/24 dev eth0

    Dieser Befehl fügt die neue Adresse hinzu, ohne die vorhandene zu beeinträchtigen. Bei Erfolg gibt er keine Ausgabe zurück.

  2. Überprüfen Sie abschließend, ob die neue IP-Adresse zugewiesen wurde. Verwenden Sie erneut den Befehl ip a und geben Sie die Schnittstelle eth0 an.

    ip a show eth0

    Sie sollten nun sowohl die ursprüngliche dynamische IP-Adresse als auch die neue statische IP-Adresse für die Schnittstelle eth0 aufgeführt sehen.

    2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
        link/ether 00:16:3e:0f:23:a5 brd ff:ff:ff:ff:ff:ff
        altname enp0s5
        inet 172.16.50.11/24 metric 100 brd 172.16.50.255 scope global dynamic eth0
           valid_lft 1892159595sec preferred_lft 1892159595sec
        inet 192.168.1.10/24 scope global eth0
           valid_lft forever preferred_lft forever
        inet6 fe80::216:3eff:fe0f:23a5/64 scope link
           valid_lft forever preferred_lft forever

    Beachten Sie, dass ein zweites inet-Feld nun 192.168.1.10/24 anzeigt. Sie haben erfolgreich eine temporäre statische IP-Adresse hinzugefügt, während Ihre Verbindung aufrechterhalten wurde.

Standard-Gateway festlegen und Konnektivität mit ping überprüfen

In diesem Schritt legen Sie ein Standard-Gateway fest und testen die Netzwerkkonnektivität. Das Standard-Gateway ist der Router, an den Ihr System Datenverkehr sendet, wenn das Ziel in einem anderen Netzwerk liegt (z. B. im Internet).

Ihr System verfügt bereits über ein Standard-Gateway, das von der Laborumgebung bereitgestellt wird. Das Ändern oder Entfernen würde Ihre Verbindung unterbrechen. Um diesen Befehl sicher zu üben, fügen wir eine neue, zweite Standardroute mit einer höheren Metrik hinzu. Eine höhere Metrik bedeutet eine niedrigere Priorität, sodass das System sie nicht für den tatsächlichen Datenverkehr verwendet und unsere Verbindung sicher bleibt.

  1. Fügen wir eine Standard-Gateway-Route für das Netzwerk 192.168.1.0/24 hinzu. Wir setzen die IP des Gateways auf 192.168.1.1 und geben ihr eine Metrik von 200.

    sudo ip route add default via 192.168.1.1 dev eth0 metric 200
    • default: Gibt an, dass dies die Standardroute ist.
    • via 192.168.1.1: Die IP-Adresse des Gateway-Routers.
    • dev eth0: Die Route ist über die Schnittstelle eth0 erreichbar.
    • metric 200: Macht diese Route weniger bevorzugt als die primäre, vorhandene Route (die eine niedrigere Metrik hat).
  2. Überprüfen Sie, ob die Route hinzugefügt wurde, indem Sie die Routing-Tabelle anzeigen.

    ip route

    Die Ausgabe wird komplex und variiert, sollte aber nun zwei Zeilen enthalten, die mit default beginnen. Ihr ursprüngliches Gateway hat eine niedrigere Metrik (z. B. 100) und unser neues eine Metrik von 200.

    default via 172.16.50.253 dev eth0 proto dhcp src 172.16.50.11 metric 100
    default via 192.168.1.1 dev eth0 metric 200
    172.16.50.0/24 dev eth0 proto kernel scope link src 172.16.50.11 metric 100
    192.168.1.0/24 dev eth0 proto kernel scope link src 192.168.1.10
    ... (andere Routen können vorhanden sein)
  3. Testen wir nun die Konnektivität mit ping. Dieser Befehl sendet eine ICMP-"Echo-Anforderung" an einen Host, um zu sehen, ob er erreichbar ist. Versuchen wir, das Gateway anzupingen, das wir gerade für unser imaginäres Netzwerk konfiguriert haben.

    ping -c 3 192.168.1.1

    Erwartetes Ergebnis: Dieser Befehl wird voraussichtlich fehlschlagen. Da wir die IP 192.168.1.10/24 zu eth0 hinzugefügt haben, geht das System davon aus, dass sich 192.168.1.1 im selben lokalen Netzwerk befindet. Es wird versuchen, es direkt zu erreichen, aber kein Gerät mit dieser Adresse existiert, sodass Sie "Destination Host Unreachable" sehen werden.

    PING 192.168.1.1 (192.168.1.1) 56(84) bytes of data.
    From 192.168.1.10 icmp_seq=1 Destination Host Unreachable
    From 192.168.1.10 icmp_seq=2 Destination Host Unreachable
    From 192.168.1.10 icmp_seq=3 Destination Host Unreachable
    
    --- 192.168.1.1 ping statistics ---
    3 packets transmitted, 0 received, +3 errors, 100% packet loss, time 2039ms

    Dies ist das korrekte und erwartete Ergebnis. Sie haben gelernt, wie Sie eine Standardroute hinzufügen und ping zum Testen verwenden.

Mit dhclient zu einer dynamischen IP-Adresse zurückkehren

In diesem Schritt entfernen Sie die erstellten statischen Konfigurationen und verwenden dann dhclient, um die dynamische IP-Lease vom DHCP-Server zu aktualisieren.

Zunächst ist das Tool dhclient, das Teil des Pakets isc-dhcp-client ist, möglicherweise nicht standardmäßig installiert. Stellen wir sicher, dass es verfügbar ist.

  1. Aktualisieren Sie die Paketliste Ihres Systems und installieren Sie den DHCP-Client:

    sudo apt-get update
    sudo apt-get install -y isc-dhcp-client

    Nun entfernen wir sicher die statische IP und Route, die wir in den vorherigen Schritten hinzugefügt haben, ohne unsere Verbindung zu unterbrechen.

  2. Löschen Sie die statische IP-Adresse von eth0:

    sudo ip addr del 192.168.1.10/24 dev eth0
  3. Löschen Sie die von uns hinzugefügte statische Standardroute:

    sudo ip route del default via 192.168.1.1 dev eth0

    Jetzt ist Ihre Netzwerkkonfiguration wieder im ursprünglichen Zustand. Um dhclient zu demonstrieren, fordern wir eine Aktualisierung der IP-Adresse vom DHCP-Server an.

  4. Geben Sie zuerst die aktuelle DHCP-Lease frei.

    sudo dhclient -r eth0
  5. Fordern Sie als Nächstes eine neue Lease vom DHCP-Server an.

    sudo dhclient eth0

    Möglicherweise sehen Sie die Meldung RTNETLINK answers: File exists. Das ist normal. Es bedeutet lediglich, dass dhclient versucht, Routen hinzuzufügen, die bereits vorhanden sind, sodass keine Änderungen erforderlich sind. Ihre Verbindung bleibt stabil.

  6. Überprüfen Sie Ihre Konfiguration, indem Sie die Schnittstelle eth0 erneut anzeigen.

    ip a show eth0

    Die Ausgabe sollte nun nur noch Ihre ursprüngliche dynamische IP-Adresse anzeigen, wahrscheinlich im Bereich 172.16.x.x oder 172.17.x.x. Die statische IP 192.168.1.10 sollte verschwunden sein.

    2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
        link/ether 00:16:3e:0f:23:a5 brd ff:ff:ff:ff:ff:ff
        altname enp0s5
        inet 172.16.50.11/24 metric 100 brd 172.16.50.255 scope global dynamic eth0
           valid_lft 1892159460sec preferred_lft 1892159460sec
        inet6 fe80::216:3eff:fe0f:23a5/64 scope link
           valid_lft forever preferred_lft forever

    Sie haben Ihre statische Konfiguration erfolgreich bereinigt und Ihre dynamische IP-Lease aktualisiert.

Netzwerkkonfiguration mit arp und traceroute überprüfen

In diesem letzten Schritt lernen Sie, wie Sie mit arp und traceroute Ihre Netzwerkkonfiguration überprüfen.

Zuerst stellen wir sicher, dass die notwendigen Werkzeuge installiert sind. arp ist in net-tools enthalten, und traceroute ist in seinem eigenen Paket.

  1. Installieren Sie net-tools und traceroute:

    sudo apt-get update
    sudo apt-get install -y net-tools traceroute

Verwenden von arp zur Anzeige des ARP-Caches

Das Address Resolution Protocol (ARP) ordnet eine IP-Adresse einer physischen MAC-Adresse in einem lokalen Netzwerk zu. Die Ergebnisse werden im ARP-Cache gespeichert.

  1. Um Ihren ARP-Cache zu füllen, ermitteln Sie zunächst die IP-Adresse Ihres Standard-Gateways aus der Routing-Tabelle.

    ip route | grep default

    Die Ausgabe zeigt Ihnen die Gateway-IP. Beachten Sie, dass die IP-Adresse variieren wird.

    default via 172.16.50.253 dev eth0
    default via 172.16.50.253 dev eth0 proto dhcp src 172.16.50.11 metric 100
  2. Pingen Sie nun diese Gateway-IP an (z. B. 172.16.50.253 im obigen Beispiel), um Datenverkehr zu erzeugen.

    ping -c 1 <your-gateway-ip>
  3. Zeigen Sie den ARP-Cache mit arp -a an.

    arp -a

    Sie sehen die IP- und MAC-Adresse Ihres Gateways. Möglicherweise sehen Sie auch einen <incomplete>-Eintrag für die Adresse 192.168.1.1, die wir zuvor angepingt haben, was normal ist.

    ? (192.168.1.1) at <incomplete> on eth0
    _gateway (172.16.50.253) at ee:ff:ff:ff:ff:ff [ether] on eth0

    Dies bestätigt, dass Ihr System die IP-Adresse des Gateways einer MAC-Adresse zugeordnet hat.

Verwenden von traceroute zum Nachverfolgen von Netzwerkpfaden

Der Befehl traceroute zeigt die Sequenz von Routern ("Hops"), die Pakete auf dem Weg zu einem Ziel durchlaufen.

  1. Verfolgen wir die Route zu einer öffentlichen Domain wie google.com.

    traceroute google.com

    Der Befehl gibt den Pfad aus. Hinweis: In vielen Cloud-Umgebungen ist der erste Hop, der von traceroute angezeigt wird, möglicherweise eine interne IP-Adresse und nicht dieselbe wie das Standard-Gateway in Ihrer Routing-Tabelle. Dies ist ein normales Verhalten.

    traceroute to google.com (142.250.189.174), 30 hops max, 60 byte packets
     1  10.220.9.2 (10.220.9.2)  0.345 ms  ...
     2  11.73.5.1 (11.73.5.1)  1.978 ms ...
     3  ...
     8  sfo03s24-in-f14.1e100.net (142.250.189.174)  3.001 ms ...
    • Der erste Hop ist ein Router innerhalb des Netzwerks des Lab-Anbieters.
    • Nachfolgende Hops zeigen den Pfad über das Internet zum endgültigen Ziel.
    • Sternchen (* * *) können erscheinen, wenn ein Router auf dem Pfad nicht auf traceroute-Anfragen antwortet, was auf eine Firewall oder eine andere Netzwerkrichtlinie zurückzuführen sein kann.

Herzlichen Glückwunsch! Sie haben nun gelernt, wie Sie IP-Adressen auf einem Linux-System inspizieren, statisch konfigurieren und dynamisch konfigurieren, sowie wichtige Werkzeuge wie ping, arp und traceroute verwenden, um Ihr Netzwerk zu überprüfen und Fehler zu beheben.

Zusammenfassung

In diesem Lab haben Sie die grundlegenden Fähigkeiten zur Verwaltung von IP-Adressen in einer Linux-Umgebung erlernt. Sie haben damit begonnen, Netzwerkschnittstellen und deren aktuelle Konfigurationen mit dem Befehl ip a zu inspizieren, um Zielschnittstellen wie eth0 zu identifizieren. Anschließend haben Sie geübt, manuell eine statische IP-Adresse und Subnetzmaske mit ip addr add zuzuweisen, gefolgt von der Einrichtung eines Standard-Gateways mit ip route add, um die Kommunikation mit externen Netzwerken zu ermöglichen. Im Gegensatz zur manuellen Konfiguration haben Sie auch gelernt, wie Sie automatisch eine IP-Adresse, Subnetzmaske und ein Gateway von einem DHCP-Server mit dem Befehl dhclient beziehen.

Darüber hinaus haben Sie wichtige Werkzeuge zur Netzwerküberprüfung und Fehlerbehebung kennengelernt. Sie haben den Befehl ping verwendet, um die grundlegende Netzwerkkonnektivität sowohl zum Standard-Gateway als auch zu externen Hosts zu bestätigen. Um tiefere Einblicke in die Netzwerkschicht zu erhalten, haben Sie den ARP-Cache (Address Resolution Protocol) mit dem Befehl arp untersucht, um IP-zu-MAC-Adresszuordnungen anzuzeigen. Schließlich haben Sie traceroute verwendet, um den Netzwerkpfad Hop-für-Hop zu einem Ziel zu verfolgen und Ihre Routing-Konfiguration zu überprüfen.