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.
Öffnen Sie Ihr Terminal. Sie sollten sich bereits im Verzeichnis
~/projectbefinden.Um alle Netzwerkschnittstellen und ihre aktuellen Konfigurationen aufzulisten, führen Sie den folgenden Befehl aus:
ip aSie 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-Adresse127.0.0.1.2: eth0: Dies ist Ihre primäre Ethernet (kabelgebundene) Schnittstelle. Ihre Schnittstelle hat möglicherweise einen anderen Namen oder zeigtaltname(alternative Namen) wieenp0s5an. Dies ist die Schnittstelle, mit der wir arbeiten werden.3: docker0: Möglicherweise sehen Sie andere Schnittstellen wiedocker0, 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.
Weisen Sie der Schnittstelle
eth0die neue statische IP-Adresse192.168.1.10mit 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 eth0Dieser Befehl fügt die neue Adresse hinzu, ohne die vorhandene zu beeinträchtigen. Bei Erfolg gibt er keine Ausgabe zurück.
Überprüfen Sie abschließend, ob die neue IP-Adresse zugewiesen wurde. Verwenden Sie erneut den Befehl
ip aund geben Sie die Schnittstelleeth0an.ip a show eth0Sie sollten nun sowohl die ursprüngliche dynamische IP-Adresse als auch die neue statische IP-Adresse für die Schnittstelle
eth0aufgefü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 foreverBeachten Sie, dass ein zweites
inet-Feld nun192.168.1.10/24anzeigt. 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.
Fügen wir eine Standard-Gateway-Route für das Netzwerk
192.168.1.0/24hinzu. Wir setzen die IP des Gateways auf192.168.1.1und geben ihr eine Metrik von200.sudo ip route add default via 192.168.1.1 dev eth0 metric 200default: 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 Schnittstelleeth0erreichbar.metric 200: Macht diese Route weniger bevorzugt als die primäre, vorhandene Route (die eine niedrigere Metrik hat).
Überprüfen Sie, ob die Route hinzugefügt wurde, indem Sie die Routing-Tabelle anzeigen.
ip routeDie Ausgabe wird komplex und variiert, sollte aber nun zwei Zeilen enthalten, die mit
defaultbeginnen. 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)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.1Erwartetes Ergebnis: Dieser Befehl wird voraussichtlich fehlschlagen. Da wir die IP
192.168.1.10/24zueth0hinzugefügt haben, geht das System davon aus, dass sich192.168.1.1im 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 2039msDies ist das korrekte und erwartete Ergebnis. Sie haben gelernt, wie Sie eine Standardroute hinzufügen und
pingzum 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.
Aktualisieren Sie die Paketliste Ihres Systems und installieren Sie den DHCP-Client:
sudo apt-get update sudo apt-get install -y isc-dhcp-clientNun entfernen wir sicher die statische IP und Route, die wir in den vorherigen Schritten hinzugefügt haben, ohne unsere Verbindung zu unterbrechen.
Löschen Sie die statische IP-Adresse von
eth0:sudo ip addr del 192.168.1.10/24 dev eth0Löschen Sie die von uns hinzugefügte statische Standardroute:
sudo ip route del default via 192.168.1.1 dev eth0Jetzt ist Ihre Netzwerkkonfiguration wieder im ursprünglichen Zustand. Um
dhclientzu demonstrieren, fordern wir eine Aktualisierung der IP-Adresse vom DHCP-Server an.Geben Sie zuerst die aktuelle DHCP-Lease frei.
sudo dhclient -r eth0Fordern Sie als Nächstes eine neue Lease vom DHCP-Server an.
sudo dhclient eth0Möglicherweise sehen Sie die Meldung
RTNETLINK answers: File exists. Das ist normal. Es bedeutet lediglich, dassdhclientversucht, Routen hinzuzufügen, die bereits vorhanden sind, sodass keine Änderungen erforderlich sind. Ihre Verbindung bleibt stabil.Überprüfen Sie Ihre Konfiguration, indem Sie die Schnittstelle
eth0erneut anzeigen.ip a show eth0Die Ausgabe sollte nun nur noch Ihre ursprüngliche dynamische IP-Adresse anzeigen, wahrscheinlich im Bereich
172.16.x.xoder172.17.x.x. Die statische IP192.168.1.10sollte 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 foreverSie 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.
Installieren Sie
net-toolsundtraceroute: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.
Um Ihren ARP-Cache zu füllen, ermitteln Sie zunächst die IP-Adresse Ihres Standard-Gateways aus der Routing-Tabelle.
ip route | grep defaultDie 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 100Pingen Sie nun diese Gateway-IP an (z. B.
172.16.50.253im obigen Beispiel), um Datenverkehr zu erzeugen.ping -c 1 <your-gateway-ip>Zeigen Sie den ARP-Cache mit
arp -aan.arp -aSie sehen die IP- und MAC-Adresse Ihres Gateways. Möglicherweise sehen Sie auch einen
<incomplete>-Eintrag für die Adresse192.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 eth0Dies 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.
Verfolgen wir die Route zu einer öffentlichen Domain wie
google.com.traceroute google.comDer Befehl gibt den Pfad aus. Hinweis: In vielen Cloud-Umgebungen ist der erste Hop, der von
tracerouteangezeigt 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 auftraceroute-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.



