Das Festlegen einer statischen IP-Adresse unter Debian mag einfach erscheinen. In der Praxis kann eine solche Änderung jedoch den SSH-Zugriff unterbrechen, wenn man die falsche Datei bearbeitet oder den falschen Netzwerkdienst neu startet.
Bevor die Konfiguration geändert wird, muss daher ermittelt werden, wer die Netzwerkkarte tatsächlich verwaltet: NetzwerkManager, systemd-Netzwerk oder die alte Datei /etc/network/interfacesDie richtige Methode hängt von diesem Punkt ab.
Beginnen Sie mit der Identifizierung der Schnittstelle und des Gateways.
Unter Debian sollten Sie zunächst die Netzwerkschnittstelle, die aktuelle Adresse und die Standardroute notieren:
IP-Adresse
IP-Route
Sie suchen im Wesentlichen nach drei Informationen:
- der Name der Schnittstelle, zum Beispiel
enp0s3,ens18Odereth0; - die Fußgängerbrücke, die auf der Linie sichtbar ist
Standard über; - das Netzwerkpräfix, zum Beispiel
/24.
Beispiel :
Standardmäßig über 192.168.1.1 dev enp0s3
inet 192.168.1.42/24 brd 192.168.1.255 scope global dynamic enp0s3
Hier könnte eine konsistente statische Konfiguration sein 192.168.1.50/24 mit Steg 192.168.1.1Passen Sie die Werte stets an Ihr Netzwerk an; kopieren Sie diese Adressen nicht unverändert auf einen Produktionsserver.
Zu wissen, welches Tool das Netzwerk verwaltet
Bevor Sie Änderungen vornehmen, überprüfen Sie die aktuell installierten Dienste:
systemctl is-active NetworkManager
systemctl is-active systemd-networkd
ls -l /etc/network/interfaces /etc/network/interfaces.d/ 2>/dev/null
Auf einem Debian-Rechner mit grafischer Benutzeroberfläche, NetzwerkManager ist üblich. Auf einem Minimalserver könnten Sie Folgendes antreffen: systemd-Netzwerk oder weiter ifupdown mit /etc/network/interfaces.
Verwenden Sie keine unterschiedlichen Methoden. Wenn NetworkManager die Schnittstelle bereits verwaltet, vermeiden Sie es, gleichzeitig eine systemd-networkd-Datei für denselben Netzwerkadapter zu erstellen. Dies führt mit hoher Wahrscheinlichkeit zu einer inkonsistenten Konfiguration nach dem nächsten Neustart.
Wenn Sie per SSH verbunden sind, öffnen Sie eine zweite Sitzung, bevor Sie fortfahren. Stellen Sie außerdem sicher, dass Sie Zugriff auf die Konsole haben, falls sich der Rechner an einem entfernten Ort befindet. Sollte SSH nach einer Änderung nicht mehr reagieren, lesen Sie bitte unsere Anleitung dazu. SSH unter Ubuntu sauber neu installieren Es fördert außerdem ein gutes Reaktionsvermögen beim Überprüfen von Service- und Firewall-Einstellungen.
NetworkManager-Methode mit nmcli
Wenn NetworkManager aktiv ist, ermitteln Sie zunächst den Verbindungsnamen:
nmcli-Verbindung anzeigen
Anschließend können Sie die Verbindung auf statische IPv4 umstellen. Zum Beispiel mit einer Verbindung namens Kabelverbindung 1 :
sudo nmcli connection modify "Wired connection 1"
ipv4.addresses 192.168.1.50/24
ipv4.gateway 192.168.1.1
ipv4.dns "1.1.1.1 8.8.8.8"
ipv4.method-Handbuch
Laden Sie anschließend die Verbindung neu:
sudo nmcli connection up "Kabelverbindung 1"
Auf einem entfernten Rechner kann dieser Befehl die Sitzung für einige Sekunden unterbrechen. Wenn Sie gleichzeitig das Netzwerk oder das Gateway ändern, führen Sie den Vorgang über eine lokale Konsole oder einen separaten Administrationszugriff durch.
systemd-networkd-Methode
Wenn Ihr Debian-System systemd-networkd verwendet, beinhaltet die Konfiguration häufig eine Datei in /etc/systemd/network/Beispiel für die Schnittstelle enp0s3 :
sudo nano /etc/systemd/network/20-wired.network
Möglicher Inhalt:
Name=enp0s3
Adresse=192.168.1.50/24
Gateway=192.168.1.1
DNS=1.1.1.1
DNS=8.8.8.8
Überprüfen Sie als Nächstes die Dateiberechtigungen:
sudo chmod 644 /etc/systemd/network/20-wired.network
Dann sorgfältig neu laden:
sudo networkctl reload
sudo systemctl restart systemd-networkd
Führen Sie diese Schritte nicht unüberlegt auf einem Server durch, auf den Sie nur SSH-Zugriff haben. Ein falscher Schnittstellenname oder ein falsches Gateway können bereits ausreichen, um Sie vom System auszusperren.
Methode /etc/network/interfaces
Bei einigen Debian-Installationen, insbesondere älteren oder sehr minimalistischen, wird das Netzwerk immer noch von /etc/network/interfacesSpeichern Sie die Datei, bevor Sie sie bearbeiten:
sudo cp /etc/network/interfaces /etc/network/interfaces.bak
Beispiel einer statischen Konfiguration:
auto enp0s3
iface enp0s3 inet static
Adresse 192.168.1.50/24
Gateway 192.168.1.1
dns-nameservers 1.1.1.1 8.8.8.8
Je nach installierten Paketen kann die DNS-Zeile Folgendes erfordern: resolvconf oder durch eine separate DNS-Konfiguration ersetzt werden. Bei neueren Debian-Systemen sollte man nicht davon ausgehen, dass diese Methode aktiv ist, nur weil die Datei existiert.
Um den Antrag zu stellen, wählen Sie ein Wartungsfenster aus:
sudo systemctl restart networking
Prüfen Sie, ob die feste Adresse funktioniert.
Nach der Durchführung von Änderungen sollten Sie nicht einfach davon ausgehen, dass die SSH-Sitzung noch geöffnet ist. Überprüfen Sie die Adresse, die Route, den DNS-Server und die Netzwerkausgabe:
ip addr show enp0s3
IP-Route
resolvectl dns 2>/dev/null || cat /etc/resolv.conf
ping -c 3 192.168.1.1
ping -c 3 1.1.1.1
curl -I https://www.debian.org/
Wenn das Gateway anpingbar ist, der Internetzugang aber nicht, überprüfen Sie die Standardroute. Funktioniert der Internetzugang über die IP-Adresse, aber nicht über den Domainnamen, liegt das Problem wahrscheinlich am DNS.
Für weitere Details können Sie die Debian-Dokumentation konsultieren. Netzwerkkonfiguration, Dokumentation nmcli und die Handbuchseite systemd.network.
Bevor Sie Ihre SSH-Sitzung schließen
Ich rate Ihnen, einen letzten Test von einem anderen Terminal aus durchzuführen:
ssh [email protected]
Wenn die neue Verbindung funktioniert, die Standardroute korrekt ist und der DNS-Server antwortet, können Sie die alte Sitzung schließen. Sollte etwas schiefgehen, stellen Sie sofort die Sicherung wieder her, anstatt weitere Änderungen vorzunehmen.
Eine statische IP-Adresse sollte den Server berechenbarer und nicht angreifbarer machen. Die korrekte Vorgehensweise bleibt unverändert: Netzwerkadministrator ermitteln, Einstellungen sichern, nur eine Methode ändern, Änderungen anwenden und anschließend überprüfen.