Het instellen van een statisch IP-adres op Debian lijkt misschien eenvoudig. In de praktijk kan het echter een wijziging zijn die je SSH-toegang kan blokkeren als je het verkeerde bestand bewerkt of de verkeerde netwerkservice opnieuw opstart.
Voordat de configuratie wordt gewijzigd, is het daarom noodzakelijk om vast te stellen wie de netwerkkaart daadwerkelijk beheert: Netwerkmanager, systemd-networkd of het oude bestand /etc/network/interfacesDe juiste methode hangt van dit punt af.
Begin met het identificeren van de interface en de gateway.
Noteer op Debian eerst de netwerkinterface, het huidige adres en de standaardroute:
ip adres
IP-route
Je bent hoofdzakelijk op zoek naar drie soorten informatie:
- de naam van de interface, bijvoorbeeld
enp0s3,ens18Ofeth0; - de voetbrug, zichtbaar op de lijn
standaard via; - het netwerkvoorvoegsel, bijvoorbeeld
/24.
Voorbeeld :
standaard via 192.168.1.1 dev enp0s3
inet 192.168.1.42/24 brd 192.168.1.255 scope global dynamic enp0s3
Hier zou een consistente statische configuratie mogelijk zijn. 192.168.1.50/24 met een loopbrug 192.168.1.1Pas de waarden altijd aan uw netwerk aan; kopieer deze adressen niet zonder meer naar een productieserver.
Weten welke tool het netwerk beheert
Controleer voordat u wijzigingen aanbrengt welke services momenteel zijn geïnstalleerd:
systemctl is-active NetworkManager
systemctl is-active systemd-networkd
ls -l /etc/network/interfaces /etc/network/interfaces.d/ 2>/dev/null
Op een Debian-machine met een grafische omgeving, Netwerkmanager is gebruikelijk. Op een minimale server kunt u het volgende tegenkomen. systemd-networkd of op alsomlaag met /etc/network/interfaces.
Gebruik geen verschillende methoden door elkaar. Als NetworkManager de interface al beheert, vermijd dan het tegelijkertijd aanmaken van een systemd-networkd-bestand voor dezelfde netwerkadapter. Dit is namelijk de beste manier om na de volgende herstart een inconsistente configuratie te krijgen.
Als u via SSH bent verbonden, open dan een tweede sessie voordat u verdergaat. Zorg er ook voor dat u consoletoegang behoudt als de machine zich op afstand bevindt. Als SSH na een wijziging niet meer reageert, raadpleeg dan onze handleiding voor meer informatie. SSH opnieuw installeren op Ubuntu is een schone installatie. Het geeft je ook goede reflexen om service- en firewallinstellingen te controleren.
NetworkManager-methode met nmcli
Als NetworkManager actief is, begin dan met het opzoeken van de verbindingsnaam:
nmcli verbindingsweergave
Je kunt de verbinding vervolgens overschakelen naar een statisch IPv4-adres. Bijvoorbeeld met een verbinding genaamd Bedrade verbinding 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.methode handleiding
Herlaad vervolgens de verbinding:
sudo nmcli connection up "Bekabelde verbinding 1"
Op een externe machine kan deze opdracht de sessie enkele seconden onderbreken. Als u ook het netwerk of de gateway wijzigt, voer de bewerking dan uit vanaf een lokale console of via een out-of-band beheerdersaccount.
systemd-networkd-methode
Als uw Debian-systeem systemd-networkd gebruikt, omvat de configuratie vaak een bestand in /etc/systemd/network/Voorbeeld voor de interface enp0s3 :
sudo nano /etc/systemd/network/20-wired.network
Mogelijke inhoud:
Naam=enp0s3
Adres=192.168.1.50/24
Gateway=192.168.1.1
DNS=1.1.1.1
DNS=8.8.8.8
Controleer vervolgens de bestandsrechten:
sudo chmod 644 /etc/systemd/network/20-wired.network
Laad vervolgens voorzichtig opnieuw:
sudo networkctl reload
sudo systemctl restart systemd-networkd
Doe dit wederom niet blindelings op een server waar je alleen SSH-toegang hebt. Een verkeerde interfacenaam of een onjuiste gateway kan al genoeg zijn om je de toegang tot de machine te ontzeggen.
Methode /etc/network/interfaces
Op sommige Debian-installaties, met name oudere of zeer minimalistische, wordt het netwerk nog steeds beheerd door /etc/network/interfacesSla het bestand op voordat je het wijzigt:
sudo cp /etc/network/interfaces /etc/network/interfaces.bak
Voorbeeld van een statische configuratie:
auto enp0s3
iface enp0s3 inet static
adres 192.168.1.50/24
gateway 192.168.1.1
dns-nameservers 1.1.1.1 8.8.8.8
Afhankelijk van de geïnstalleerde pakketten kan de DNS-regel het volgende vereisen: resolvconf Of moet worden vervangen door een aparte DNS-configuratie. Ga er op recente Debian-systemen niet van uit dat deze methode actief is, alleen omdat het bestand bestaat.
Om een aanvraag in te dienen, kiest u een onderhoudsperiode:
sudo systemctl restart networking
Controleer of het vaste adres werkt.
Ga er na het aanbrengen van wijzigingen niet zomaar vanuit dat de SSH-sessie nog open is. Controleer het adres, de route, de DNS en de netwerkuitvoer:
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/
Als het pingen van de gateway wel lukt, maar de internetverbinding niet, controleer dan de standaardroute. Als internettoegang via het IP-adres wel werkt, maar via de domeinnaam niet, ligt het probleem waarschijnlijk bij de DNS.
Voor meer informatie kunt u de Debian-documentatie raadplegen. netwerkconfiguratie, documentatie nmcli en de handleidingpagina systemd.network.
Voordat u uw SSH-sessie sluit
Ik raad u aan om nog een laatste test uit te voeren vanaf een andere terminal:
ssh [email protected]
Als de nieuwe verbinding werkt, de standaardroute correct is en de DNS reageert, kunt u de oude sessie sluiten. Als er iets misgaat, ga dan onmiddellijk terug naar de back-up in plaats van verdere wijzigingen aan te brengen.
Een statisch IP-adres moet de server voorspelbaarder maken, niet kwetsbaarder. De juiste volgorde blijft hetzelfde: identificeer de netwerkbeheerder, maak een back-up van de instellingen, wijzig slechts één methode, pas de wijzigingen toe en controleer vervolgens of alles werkt.