2661972

IP-Adressen und Linux – so klappt der Netzwerk-Aufbau

30.06.2022 | 08:30 Uhr | Thorsten Eggeling

Für die Fehlersuche im Netzwerk, aber auch für die Serverkonfiguration sind Grundkenntnisse der Netzwerkfunktionen hilfreich. Der Artikel bietet die wichtigsten Grundlagen rund um IP-Adressen und Namensauflösung.

Im heimischen Netzwerk geschieht das Meiste automatisch. WLAN-Verbindung herstellen oder Ethernet-Kabel anschließen und fertig. Die Infrastruktur, mit dem DSL-Router oder Kabelmodem im Zentrum, ermöglicht die Verbindung aller Geräte zum Internet. Die Situation ändert sich, wenn man Serverdienste im Netzwerk betreiben möchte, etwa Freigaben für den Transfer von Dateien, Webserver, SSH-Server oder Multimedia-Server. Im optimalen Fall kann man den Aufwand gering halten, wenn alle Geräte immer über ihre Namen oder IP-Adressen erreichbar sind. Das funktioniert jedoch oft nicht zuverlässig, weshalb man sich dann mit den IP-Adressen befassen muss. Was Sie dazu wissen müssen und wie sich ein Linux-Server sinnvoll und funktionssicher konfigurieren lässt, erfahren Sie in diesem Artikel.

1. IP4-Adressen im lokalen Netzwerk

Netzwerkstruktur: IP-Adressen vergibt im Heimnetzwerk der DHCP-Server im Router automatisch und dynamisch. Für Server sollte man jedoch eine feste IP festlegen.
Vergrößern Netzwerkstruktur: IP-Adressen vergibt im Heimnetzwerk der DHCP-Server im Router automatisch und dynamisch. Für Server sollte man jedoch eine feste IP festlegen.

Jedes Gerät im Netzwerk benötigt eine eindeutige IP-Adresse. In der Regel werden zwei zugewiesen: Eine IPv4- und eine IPv6- Adresse. Da es weltweit nicht genügend IPv4-Adressen gibt (etwa 4,3 Milliarden), bekommt nur der Router eine öffentliche IPv4-Adresse, bei einigen Internetanbietern sogar nur eine öffentliche IPv6-Adresse. Zum Schutz der Privatsphäre weisen die Provider dem Router regelmäßig eine neue IPv4-Adresse zu. Mit welcher öffentlichen IP man gerade im Internet erscheint, lässt sich beispielsweise auf https://ipv6-test.com prüfen.

Die für den Nutzer wesentlich wichtigeren lokalen IP-Adressen werden standardmäßig vom Heimrouter verteilt – per DHCP (Dynamic Host Configuration Protocol, siehe Punkt 4). Die für private Netzwerke verfügbaren Adressen sind in RFC 1918 (Request For Comment) festgelegt. Typisch sind beispielsweise 192.168.178.1 oder 192.168.0.1. Die letzte Ziffer im Bereich von 1 bis 254 steht – ähnlich wie eine Hausnummer – für das jeweilige Gerät. Die ersten drei Zifferngruppen repräsentieren das gesamte Netzwerk und müssen bei allen heimischen Netzwerkgeräten identisch sein. Sonst ist keine Verbindung möglich, weder zum DSL-Router noch zu anderen Geräten im Netzwerk. Mit einer „1“ am Ende ist in der Regel der DSL-Router konfiguriert, 192.168.178.35 erhält dann zum Beispiel der Desktop-PC, 192.168.178.47 das Notebook.

Wie ist meine öffentliche IP? Auf https://ipv6-test.com kann man die WAN-IPv4 des Routers ermitteln und die IPv6-Fähigkeiten prüfen. Die IPv6-Adresse gehört zum Rechner.
Vergrößern Wie ist meine öffentliche IP? Auf https://ipv6-test.com kann man die WAN-IPv4 des Routers ermitteln und die IPv6-Fähigkeiten prüfen. Die IPv6-Adresse gehört zum Rechner.

Die genannten lokalen IP-Nummern sind nur im lokalen Netzwerk gültig und lassen sich nicht im Internet nutzen. Es ist Aufgabe des Routers, die Internetanfragen einzelner Geräte über NAT (Network Address Translation) umzusetzen und mit der öffentlichen IP zu versenden. Die Antworten aus dem öffentlichen Netz werden dann wieder an die richtige lokale IP-Adresse geschickt.

2. Besonderheiten bei IPv6-Adressen

Diese Adressen sind komplizierter aufgebaut, dafür sind davon genügend für (zur Zeit) jedes einzelne Gerät auf der Welt vorhanden (340 Sextillionen, 2 hoch 128). Die ersten vier durch Doppelpunkt getrennten Blöcke kennzeichnen das Präfix und die Subnetz-ID, die der Router den Geräten vorgibt. Dieser Teil der Adresse ändert sich per Zuweisung durch den Internetanbieter regelmäßig. Die letzten vier Böcke enthalten die Interface-ID, die jeder Rechner selbst generiert. Die resultierende IPv6- Adresse sieht dann beispielsweise so aus: 

2001:16a9:2731:3100:b7cd:640:6d01:c9a2

Wenn zwischen zwei Doppelpunkten nichts steht, bedeutet das „0“. Führende Nullen werden ebenfalls weggelassen.

Jedes Gerät verwendet die eigene IPv6- Adresse als öffentliche IP im Internet. Damit keine eindeutige Identifizierung möglich ist, erzeugen die Betriebssysteme regelmäßig eine zufällige Interface-ID (IPv6 Privacy Extensions). Im lokalen Netzwerk spielt das auch für Server keine Rolle, da die IPv4-Adressen ausreichen, um alle Geräte im Netzwerk zu erreichen. Anders sieht es aus, wenn man auf den Server über das Internet von außen auch über IPv6 zugreifen will (siehe Punkt 7).

Lesetipp: Die 10 wichtigsten Linux-Befehle fürs Netzwerk

3. Das eigene Netzwerk analysieren

Aktuelle Konfiguration prüfen: Die Infoseite der Netzwerkeinstellungen zeigt die wichtigsten Daten, unter anderem die IPv4- und IPv6-Adresse, die Vorgabestrecke (Gateway) und den DNS-Server.
Vergrößern Aktuelle Konfiguration prüfen: Die Infoseite der Netzwerkeinstellungen zeigt die wichtigsten Daten, unter anderem die IPv4- und IPv6-Adresse, die Vorgabestrecke (Gateway) und den DNS-Server.

Für die Netzwerkkonfiguration ist unter Ubuntu und Linux Mint der Network-Manager zuständig. Bei Ubuntu gehen Sie in den „Einstellungen“ auf „Netzwerk“ oder „WLAN“, Nutzer von Linux Mint gehen im Startmenü auf „Einstellungen –› Netzwerk“ und dann auf „WLAN“ oder „Kabelgebunden“. Über die Schaltfläche mit dem Zahnradsymbol gelangt man jeweils zu den Netzwerkeinstellungen.

Die Übersichtseite unter „Informationen“ (Linux Mint: „Details“) liefert die wichtigsten Infos. Angezeigt werden die Verbindungsgeschwindigkeit sowie die IPv4- und IPv6-Adresse. Beide müssen aus dem IP-Bereich des Routers (siehe Punkt 4) stammen, damit eine Verbindung möglich ist. Wenn die IPv6-Adresse mit „fe80“ beginnt, handelt es sich um eine Link-Lokale-Adresse. In diesem Fall hat der Rechner keine IPv6-Adresse erhalten, weil die Funktion im Router abgeschaltet ist oder der Provider kein IPv6 bietet. Die IP hinter „Vorgabestrecke“ (Gateway) ist mit der des Routers identisch, hinter „DNS“ steht ebenfalls die Router- IP oder die IP eines DNS-Servers (Domain Name System) im Internet.

Tools für das Terminal: Der Network-Manager lässt sich auch über die Kommandozeile abfragen. Der Befehl

nmcli

ohne weitere Parameter liefert einen Teil der zuvor erwähnten Informationen der grafischen Oberfläche und gibt zusätzlich den Gerätenamen aus, beispielsweise „enp0s3“ für eine Ethernet-Verbindung. Mit 

nmcli device show [Gerätename]

ermitteln Sie alle verfügbaren Informationen inklusive der DNS-Server. Wer nur wissen möchte, welche Adressen zu den Netzwerkadaptern gehören, verwendet den folgenden Befehl: 

ip a

Es werden Gerätenamen und mehrere IPv6-Adressen angezeigt, von denen aber nur die erste für die Internetverbindung genutzt wird.

Adaptercheck im Terminal: Der Befehl „ip a“ gibt Informationen zu allen Netzwerkadaptern aus. Hinter „inet“ steht die IPv4-Adresse, hinter „inet6“ erfährt man die IPv6-Adressen.
Vergrößern Adaptercheck im Terminal: Der Befehl „ip a“ gibt Informationen zu allen Netzwerkadaptern aus. Hinter „inet“ steht die IPv4-Adresse, hinter „inet6“ erfährt man die IPv6-Adressen.

4. DHCP-Server prüfen und konfigurieren

Alles, was ein Gerät über das Netzwerk wissen muss, erfährt es vom Router über DHCP (Dynamic Host Configuration Protocol). Beim Systemstart sendet jedes Gerät (DHCP-Client) eine Rundsendenachricht in das Netzwerk und der DHCP-Server (Router) antwortet mit den erforderlichen Daten. Die Identifikation eines Clients erfolgt anhand der weltweit eindeutigen Geräteadresse des Netzwerkadapters (MAC, Media Access Control). Dem Client kann daher beim nächsten Start die gleiche IP zugewiesen werden. Die Adresse bleibt jedoch nur für einen im Router festgelegten Zeitraum reserviert. War ein Gerät über diesen Zeitraum inaktiv, wird beim Start eine neue IPv4 vergeben.

Wie der DHCP-Server konfiguriert ist, erfahren Sie in der Benutzeroberfläche des Routers. Sie erreichen diese im Webbrowser über seine IP-Adresse, bei einer Fritzbox auch über http://fritz.box . Wo die Einstellungen genau zu finden sind, entnehmen Sie der Dokumentation zum Router. Bei einer Fritzbox beispielsweise sind die DHCP-Einstellungen unter „Heimnetz –› Netzwerk“ nach Klicks auf „Netzwerkeinstellungen“ und „IPv4-Einstellungen“ zu sehen. Klicken Sie links unten auf „Ansicht: Standard“, um zur erweiterten Ansicht zu wechseln. Sonst sind nicht alle Optionen sichtbar.

DHCP-Einstellungen: Der Bereich, aus dem ein Router IPv4-Adressen vergibt, lässt sich ändern. Meist stehen aber standardmäßig genügend IP-Nummern zur freien Verfügung.
Vergrößern DHCP-Einstellungen: Der Bereich, aus dem ein Router IPv4-Adressen vergibt, lässt sich ändern. Meist stehen aber standardmäßig genügend IP-Nummern zur freien Verfügung.

Vor „DHCP-Server aktivieren“ ist ein Häkchen gesetzt, darunter lässt sich der Adressbereich festlegen. Der Standard ist 192.168.178.20 bis 192.168.178.200. Die Bereiche 192.168.178.2 bis 192.168.178.19 sowie 192.168.178.201 bis 192.168.178.254 können daher für eigene statische IP-Adressen verwendet werden (siehe Punkt 6). Hinter „Gültigkeit“ lässt sich angeben, wie lange eine IP-Adresse reserviert bleibt. Für ein Heimnetz sind die voreingestellten zehn Tage in Ordnung. Wer allerdings ein öffentliches Internetcafé betreibt, sollte auf „1“ reduzieren. Denn wenn alle verfügbaren IP-Adressen reserviert sind, können keine weiteren vergeben werden.

Unter „Gastnetz“ gibt es Einstellungen für einen weiteren DHCP-Server im Netzwerk „192.168.179.1“. Hier lässt sich nur die Gültigkeit einstellen. Das Gastnetz ist erst aktiv, nachdem es unter „WLAN –› Gastzugang“ aktiviert wurde.

IPv6-Netzwerk: Klicken Sie unter „Netzwerkeinstellungen“ auf „IPv6-Einstellungen“. Sie sollten alle Einstellungen beim Standard belassen, um Probleme zu vermeiden. Die Fritzbox weist den Clients über den DHCPv6-Server nur die DNS-Server zu. Die weitere Konfiguration wird dem jeweiligen Betriebssystem überlassen.

SSH: So klappt die Fernwartung mit Linux

5. Von Nummern und Namen

IP-Adressen kann man sich nur schlecht merken, weshalb sich im Internet und im lokalen Netzwerk Geräte auch über den Namen ansprechen lassen. Im Internet sind dafür DNS-Server zuständig, die zu URLs wie „www.google.de“ die passende IP-Adresse liefern. Welcher DNS-Server per DHCP übermittelt wurde, erfährt man im Terminal über 

resolvectl dns

Im Heimnetz ist die Situation komplizierter. Ubuntu und Linux Mint verwenden Avahi für die Bekanntgabe von Gerätenamen und Netzwerkressourcen. Mac-OS, Smart-TVs und Drucker verwenden kompatible Protokolle (Apple Bonjour, mDNS, DNS-SD). Avahi sorgt dafür, dass im Ubuntu-Dateimanager unter „Andere Orte“ (Linux Mint: „Netzwerk“) Linux-Samba-Freigaben auftauchen. Drucker im Netzwerk werden ebenfalls automatisch gefunden.

Wer sehen möchte, was sich alles über Avahi meldet, verwendet im Terminal 

avahi-browse -art 

Ein Tool für die grafische Oberfläche ist avahi-discover, das sich über das gleichnamige Paket nachinstallieren lässt. Avahi verwendet für Geräte beziehungsweise Dienste die Domain „.local“. Die Verbindung zu einem Linux-PC lässt sich beispielsweise mit 

ping [Rechnername].local 

testen. Der Befehl liefert die IP-Adresse von „[Rechnername]“ zurück.

Die Rolle des Routers: Eine Anfrage beim Router kann auch für die Namensauflösung dienen. Was möglich ist, hängt allerdings vom Routermodell ab. Die Fritzbox verwendet „fritz.box“ für lokale Domainnamen. Somit ist jeder Rechner statt mit der IP-Adresse so erreichbar: 

ping [Rechnername].fritz.box

Wenn man nur „[Rechnername]“ verwendet, hängt die Fritzbox das Suffix automatisch an. Das funktioniert in jede Richtung mit Linux- und Windows-PCs sowie den meisten anderen Geräten.

Andere Router bieten diesen Komfort oft nicht, weil sie nur die DNS-Server des Providers per DHCP übermitteln, aber keine Namensauflösung für das lokale Netzwerk bieten. Das hat zur Folge, dass man von Windows 10/11 aus mit einer ping-Abfrage Linux-Rechner über ihren Namen und auch mit angehängtem „.local“ findet, unter Linux aber keine Windows-Rechner. Wer die Verbindung mit ping unter Linux prüfen möchte, muss daher die IP des Windows- PCs ermitteln und verwenden.

In der Praxis hat das jedoch kaum Auswirkungen. Im Linux-Dateimanager kann man in der Adressleiste (Strg-L) über 

smb://[Rechnername]

auf Windows-Freigaben zugreifen. Die Namensauflösung erfolgt in diesem Fall über Samba-Funktionen, wofür weder Router noch andere Nameserver-Funktionen erforderlich sind. Das kann man auch im Terminal mit 

nmblookup [Rechnername]

nutzen, um sich die IP-Adresse ausgeben zu lassen.

6. Feste IPv4-Adresse einstellen

IPv4-Adresse festlegen: In der Netzwerkkonfiguration von Ubuntu oder Linux Mint lässt sich DHCP abschalten und man kann die Adressen manuell eingeben.
Vergrößern IPv4-Adresse festlegen: In der Netzwerkkonfiguration von Ubuntu oder Linux Mint lässt sich DHCP abschalten und man kann die Adressen manuell eingeben.

Einige Serverdienste lassen sich nur mit einer IP-Adresse und nicht mit dem Namen des Rechners konfigurieren. Ein Linux-Server sollte daher zuverlässig immer die gleiche IPv4 erhalten, was den Zugriff unabhängig von der Namensauflösung und auch über das Internet gewährleistet, wenn im Router Portfreigaben konfiguriert sind.

Bei einer Fritzbox gehen Sie auf „Heimnetz –› Netzwerk“. Klicken Sie unter „Netzwerkverbindungen“ beim gewünschten Rechner auf das Icon mit dem Stiftsymbol. Setzen Sie ein Häkchen vor „Diesem Netzwerkgerät immer die gleiche IPv4-Adresse zuweisen“ und bestätigen Sie mit „OK“. Wenn man über „Internet –› Freigaben“ Portfreigaben für den Zugriff aus dem Internet einrichtet, wird die feste IP automatisch aktiviert.

Falls ein Router keine entsprechende Funktion bietet, nutzen Sie die Linux-Einstellungen. Öffnen Sie die Netzwerkkonfiguration (siehe Punkt 3) und dort auf „IPv4“. Wählen Sie die Option „Manuell“ (Linux Mint: „Manuell“ hinter „Adressen“) und tragen Sie eine IP-Adresse ein, die der Router nicht über DHCP vergibt (siehe Punkt 4). Hinter „Gateway“ gehört die IP des Routers und bei „Netzwerkmaske“ tragen Sie „255.255.255.0“ ein, was für IP-Adressen aus den üblichen Bereichen 192.168.X.X richtig ist. Nach einem Klick auf „Anwenden“ starten Sie Linux neu.

7. Statische IPv6-Adresse festlegen

Unveränderliche Adresse: Wenn man die Privacy Extensions in der Datei „10-ipv6-privacy. conf“ abschaltet, bleibt die IPv6 gleich. Im Internet ist der PC dann allerdings identifizierbar.
Vergrößern Unveränderliche Adresse: Wenn man die Privacy Extensions in der Datei „10-ipv6-privacy. conf“ abschaltet, bleibt die IPv6 gleich. Im Internet ist der PC dann allerdings identifizierbar.

Eine feste IPv6-Adresse ist nur erforderlich, wenn ein Serverdienst auch oder nur über dieses Protokoll von außen aus dem Internet erreichbar sein soll. Öffnen Sie die Konfigurationsdatei im Terminal:

sudo nano /etc/sysctl.d/10-ipv6-privacy.conf 

Ändern Sie die Werte hinter 

net.ipv6.conf.all.use_tempaddr=

und 

net.ipv6.conf.default.use_tempaddr=

jeweils auf „0“ und speichern Sie die Datei. Starten Sie Linux neu. Ermitteln Sie dann die neue Adresse: 

ip a

Wenn Sie bei der Fritzbox eine Portfreigabe einrichten, tragen Sie die letzten vier Blöcke hinter „IPv6 Interface-ID“ ein. Fritzbox verwendet sonst eine der vorherigen IPv6- Adressen, weil der Router nichts von der geänderten Konfiguration erfährt. 

PC-WELT Marktplatz

2661972