IP-Adressierung unter Linux verwalten

CompTIABeginner
Jetzt üben

Einführung

In diesem Lab erlernen Sie die grundlegenden Fähigkeiten zur Verwaltung von IP-Adressen in einer Linux-Umgebung. Sie beginnen damit, die modernen ip-Befehle zu verwenden, um die Netzwerkschnittstellen Ihres Systems zu untersuchen. Danach konfigurieren Sie manuell eine statische IP-Adresse, richten ein Standard-Gateway für die Kommunikation mit externen Netzwerken ein und überprüfen Ihre Verbindung mit dem ping-Dienstprogramm.

Im Anschluss erkunden Sie die dynamische IP-Konfiguration, indem Sie die statische Adresse freigeben und den Befehl dhclient verwenden, um automatisch eine neue IP-Adresse von einem DHCP-Server zu beziehen. Zum Abschluss des Labs nutzen Sie die Befehle arp und traceroute, um Ihre Netzwerkkonfiguration detailliert zu prüfen und sicherzustellen, dass alle Komponenten korrekt funktionieren.

Netzwerkschnittstellen mit ip a untersuchen

In diesem Schritt erfahren Sie, wie Sie die Netzwerkschnittstellen Ihres Linux-Systems untersuchen. Bevor Sie eine IP-Adresse konfigurieren können, müssen Sie zunächst den Namen der Schnittstelle identifizieren, die Sie konfigurieren möchten. Jede Verbindung, ob kabelgebunden oder drahtlos, wird über eine Netzwerkschnittstelle verwaltet.

Der moderne Standardbefehl zum Anzeigen und Bearbeiten von Netzwerkschnittstellen unter Linux ist ip. Wir verwenden ihn mit dem Argument a (oder address), um alle Netzwerkschnittstellen und deren zugewiesene IP-Adressen anzuzeigen.

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

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

    ip a
    

    Sie sehen eine Ausgabe ähnlich der folgenden. Die genauen Details, wie Schnittstellennamen (eth0, enp0s5), IP-Adressen und MAC-Adressen, variieren bei jedem Start einer neuen Lab-Umgebung.

    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
    

Die Ausgabe verstehen:

  • 1: lo: Dies ist die Loopback-Schnittstelle, eine virtuelle Schnittstelle, die das System zur Kommunikation mit sich selbst verwendet. Sie hat immer die IP-Adresse 127.0.0.1.
  • 2: eth0: Dies ist Ihre primäre Ethernet-Schnittstelle (kabelgebunden). Ihre Schnittstelle könnte einen anderen Namen haben oder altname (alternative Namen) wie enp0s5 anzeigen. 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 werden. Diese können Sie für dieses Lab ignorieren.
  • inet 172.16.50.11/24: Dies ist die IPv4-Adresse, die Ihrer Schnittstelle zugewiesen ist. Die Adresse, die Sie sehen, wird abweichen. Dies ist die Adresse, über die Sie mit diesem Remote-Lab verbunden sind.
  • link/ether ...: Dies ist die MAC-Adresse der Schnittstelle, ein eindeutiger Hardware-Identifikator.

Nachdem Sie nun Ihre primäre Netzwerkschnittstelle (eth0) identifiziert haben, sind Sie bereit zu lernen, wie man sie konfiguriert.

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 ist nützlich für Server, die konsistent unter derselben Adresse erreichbar sein müssen.

Wichtiger Hinweis: Da Sie sich in einer Remote-Lab-Sitzung befinden, dürfen Sie die vorhandene IP-Adresse nicht entfernen oder die Netzwerkschnittstelle deaktivieren. Dies würde Ihre Verbindung trennen. Wir werden stattdessen eine zweite IP-Adresse zur Schnittstelle 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. Falls Ihre Schnittstelle einen anderen Namen hat, verwenden Sie diesen.

    sudo ip addr add 192.168.1.10/24 dev eth0
    

    Dieser Befehl fügt die neue Adresse hinzu, ohne die bestehende zu beeinträchtigen. Bei Erfolg erfolgt keine Ausgabe.

  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 beide IP-Adressen – die ursprüngliche dynamische und die neue statische – für die Schnittstelle eth0 aufgelistet 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 nun ein zweites inet-Feld 192.168.1.10/24 anzeigt. Sie haben erfolgreich eine temporäre statische IP-Adresse hinzugefügt, während Ihre Verbindung aktiv geblieben ist.

Standard-Gateway festlegen und Konnektivität mit ping prü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 sich das Ziel in einem anderen Netzwerk (wie dem Internet) befindet.

Ihr System verfügt bereits über ein Standard-Gateway, das von der Lab-Umgebung 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 metric 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 des Gateway-Routers.
    • dev eth0: Die Route ist über die Schnittstelle eth0 erreichbar.
    • metric 200: Macht diese Route weniger bevorzugt als die primäre, bestehende 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 ist 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
    ... (weitere Routen können vorhanden sein)
    
  3. Testen wir nun die Konnektivität mit ping. Es sendet eine ICMP-"Echo-Anfrage" 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 fehlschlagen. Da wir die IP 192.168.1.10/24 zu eth0 hinzugefügt haben, geht das System davon aus, dass 192.168.1.1 sich im selben lokalen Netzwerk befindet. Es versucht, es direkt zu erreichen, aber da kein Gerät mit dieser Adresse existiert, sehen Sie die Meldung "Destination Host Unreachable".

    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 man eine Standardroute hinzufügt und ping zum Testen verwendet.

Rückkehr zur dynamischen IP-Adresse mit dhclient

In diesem Schritt entfernen Sie die statischen Konfigurationen, die Sie erstellt haben, und verwenden dann dhclient, um den dynamischen IP-Lease vom DHCP-Server zu aktualisieren.

Zuerst: Das Tool dhclient, das Teil des Pakets isc-dhcp-client ist, 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
    

    Lassen Sie uns nun die statische IP und die Route, die wir in den vorherigen Schritten hinzugefügt haben, sicher entfernen, ohne Ihre 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 statische Standardroute, die wir hinzugefügt haben:

    sudo ip route del default via 192.168.1.1 dev eth0
    

    Nun 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 den aktuellen DHCP-Lease frei.

    sudo dhclient -r eth0
    
  5. Fordern Sie als Nächstes einen neuen 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 aus der Lab-Umgebung zeigen, wie z. B. eine private Adresse vom Typ 10.x.x.x oder 172.16.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 Ihren dynamischen IP-Lease aktualisiert.

Netzwerkkonfiguration mit arp und traceroute überprüfen

In diesem letzten Schritt lernen Sie, arp und traceroute zur Untersuchung Ihrer Netzwerkkonfiguration zu verwenden.

Stellen Sie zunächst sicher, dass die notwendigen Tools installiert sind. arp ist in net-tools enthalten, und traceroute befindet sich in einem eigenen Paket.

  1. Installieren Sie net-tools und traceroute:

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

arp zur Anzeige des ARP-Caches verwenden

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 zuerst die IP 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 kann.

    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 (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 – das ist normal.

    ? (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 des Gateways in eine MAC-Adresse aufgelöst hat.

traceroute zur Verfolgung von Netzwerkpfaden verwenden

Der Befehl traceroute zeigt die Abfolge von Routern ("Hops"), die Pakete durchlaufen, um ein Ziel zu erreichen.

  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 kann der erste Hop, den traceroute anzeigt, eine interne IP-Adresse sein und nicht mit dem Standard-Gateway in Ihrer Routing-Tabelle übereinstimmen. 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 durch das Internet zum endgültigen Ziel.
    • Sternchen (* * *) können erscheinen, wenn ein Router entlang des Pfades nicht auf traceroute-Anfragen antwortet, was an einer Firewall oder anderen Netzwerkrichtlinien liegen kann.

Herzlichen Glückwunsch! Sie haben nun gelernt, wie man IP-Adressen auf einem Linux-System untersucht, statisch und dynamisch konfiguriert sowie wichtige Tools wie ping, arp und traceroute zur Überprüfung und Fehlerbehebung Ihres Netzwerks einsetzt.

Zusammenfassung

In diesem Lab haben Sie die grundlegenden Fähigkeiten zur Verwaltung von IP-Adressen in einer Linux-Umgebung erlernt. Sie begannen mit der Untersuchung von Netzwerkschnittstellen und deren aktuellen Konfigurationen mithilfe des Befehls ip a, um Ziel-Schnittstellen wie eth0 zu identifizieren. Anschließend haben Sie das manuelle Zuweisen einer statischen IP-Adresse und Subnetzmaske mit ip addr add geübt, gefolgt vom Festlegen eines Standard-Gateways mit ip route add, um die Kommunikation mit externen Netzwerken zu ermöglichen. Als Kontrast zur manuellen Konfiguration haben Sie zudem gelernt, wie man automatisch eine IP-Adresse, Subnetzmaske und ein Gateway von einem DHCP-Server mithilfe des Befehls dhclient bezieht.

Darüber hinaus haben Sie wesentliche Tools zur Netzwerküberprüfung und Fehlerbehebung erkundet. Sie verwendeten den ping-Befehl, 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, untersuchten Sie den ARP-Cache (Address Resolution Protocol) mit dem Befehl arp, um IP-zu-MAC-Adresszuordnungen zu sehen. Abschließend nutzten Sie traceroute, um den Netzwerkpfad Hop-für-Hop zu einem Ziel zu verfolgen und Ihre Routing-Konfiguration zu verifizieren.