Jak przypisać statyczny adres IP w systemie Linux: kompletny przewodnik według dystrybucji i narzędzi

Ostatnia aktualizacja: 16/10/2025
Autor: Isaac
  • En Linux Nie ma jednego uniwersalnego polecenia: trwałość zależy od interfejsów, Netplan, ifcfg lub NetworkManager.
  • Kluczem do uniknięcia utraty połączenia jest zidentyfikowanie interfejsu i wykonanie jego kopii zapasowej przed edycją.
  • Zawsze sprawdzaj adres IP, trasy i ping. Jeśli nazwa nie działa, sprawdź ustawienia DNS.

Statyczny adres IP w systemie Linux

Ustawienie statycznego adresu IP w systemie Linux nie jest pojedynczą sztuczką, ale zestawem technik, które zależą od dystrybucji, wersji i włączonego stosu sieciowego. Nie ma jednego uniwersalnego polecenia , które rozwiązałoby ten problem we wszystkich przypadkach i byłoby trwałe.

Co więcej, istnieją dwa różne typy konfiguracji: ustawienia tymczasowe (które są tracone po ponownym uruchomieniu sieci lub systemu) oraz ustawienia trwałe (które są zapisywane w plikach lub profilach i działają nawet po ponownym uruchomieniu). W systemach Debian/Ubuntu można modyfikować `/etc/network/interfaces` lub używać Netplan; w systemach Red Hat/Rocky/AlmaLinux preferowanymi metodami są NetworkManager i `ifcfg`; w Arch Linux można używać `netctl` lub `systemd-networkd` ; a we wszystkich z nich `nmcli`/`nmtui` sprawdza się jako nowoczesna alternatywa.

Czym jest statyczny adres IP i dlaczego może Cię to interesować?

Statyczny adres IP to taki, który nie zmienia się w czasie i nie jest zależny od serwera DHCP. Jest on kluczowy dla serwerów , przekierowywania portów, tuneli, zdalnego dostępu ( SSH , VPN ), NAS i usług z DDNS.

W środowisku domowym lub laboratoryjnym zazwyczaj wystarcza dynamiczny adres IP (DHCP), ale gdy zależy nam na stabilności lub gdy chcemy publikować usługi wewnętrzne, ustalamy adres IP, aby się nie zmieniał. Pozwala to uniknąć „niespodzianek”, np. przypisania przez router innego adresu i zaprzestania działania przekierowania portów.

Konfigurowanie sieci w systemie Linux

Zanim cokolwiek dotkniesz: Zidentyfikuj interfejs i wykonaj kopię zapasową

Pierwszym krokiem jest określenie konfigurowanego interfejsu (przewodowy: zazwyczaj zaczyna się od „e”, np. enp0s3/enp2s0/eth0; Wi-Fi: zaczyna się od „w”, np. wlan0/wlp3s0). Aby wyświetlić interfejsy za pomocą kolorów, możesz użyć polecenia `ip -c link show` , a aby wyświetlić adresy, użyj polecenia `ip -c addr show` . Jeśli pracujesz z maszynami wirtualnymi , sprawdź typy sieci w VirtualBox i VMware, aby wybrać odpowiednią konfigurację.

Jeśli wolisz klasyczny wynik, polecenie `ifconfig -a` jest również prawidłowe (w przypadku nowszych dystrybucji może być konieczna instalacja pakietu net-tools). Sprawdź interfejs docelowy i potwierdź, czy obecnie korzysta z protokołu DHCP , czy też ma już przypisany statyczny adres IP.

Przed edycją plików systemowych należy wykonać kopię zapasową: na przykład skopiuj plik /etc/network/interfaces do katalogu $HOME razem z datą, aby mieć „plan B” na wypadek, gdybyś coś zepsuł.

sudo cp /etc/network/interfaces ~/interfaces.$(date +%Y%m%d).bk

Do wykonania wielu operacji potrzebne będą uprawnienia administratora. Możesz zalogować się jako root lub dodać sudo do każdego polecenia, co jest niezbędne przy modyfikowaniu plików konfiguracji sieci.

Sieć statyczna w systemie Linux

Debian i pochodne: klasyczna metoda z /etc/network/interfaces

W systemie Debian 11 i starszych wersjach zarządzanie siecią odbywa się zazwyczaj za pomocą pliku /etc/network/interfaces ; najpierw należy zlokalizować interfejs (na przykład eth0 lub enp2s0) i edytować plik przy użyciu ulubionego edytora.

sudo vim /etc/network/interfaces
# o
sudo nano /etc/network/interfaces

Poszukaj bloków dla swojego interfejsu. Jeśli ustawiono DHCP (na przykład allow-hotplug eth0 + iface eth0 inet dhcp), zmień je na static; typowa składnia obejmuje auto <interface> i blok „inet static”.

auto eth0
iface eth0 inet static
    address 192.168.1.25       # IP del equipo
    netmask 255.255.255.0      # Máscara (equivale a /24)
    gateway 192.168.1.1        # Puerta de enlace
    dns-nameservers 192.168.1.1 1.1.1.1 8.8.8.8

W niektórych scenariuszach zobaczysz również pola takie jak sieć i transmisja (192.168.1.0 i 192.168.1.255 w /24). Nie są one zawsze konieczne, ale możesz je uwzględnić, jeśli zawiera je Twój przewodnik lub szablon. Najważniejsze to adres, maska ​​sieci, brama i DNS.

  Praktyczne przykłady wykorzystania statystyk Kalkulatora Windows

Zapisz i uruchom ponownie usługę sieciową, aby zastosować rozwiązanie; w standardowym Debianie działa prawidłowo po użyciu komendy systemctl restart networking.service , a następnie sprawdzeniu za pomocą polecenia ip addr, czy adres IP jest teraz taki, jaki ustawiłeś.

sudo systemctl restart networking.service
ip -c addr show eth0

W wariantach takich jak Ubuntu można znaleźć jednostki ifup specyficzne dla interfejsu (np. ifup@enp2s0). Jeśli nie masz pewności, wróć do ogólnego wzorca, korzystając z networking.service. Chodzi o to, aby przeładować stos sieciowy , aby zmiana zaczęła obowiązywać.

Nowoczesny serwer Ubuntu: plan sieciowy krok po kroku

Od wersji Ubuntu 17.10, a szczególnie od wersji 20.04 LTS i nowszych, Netplan zarządza konfiguracją sieci poprzez odczyt plików YAML w /etc/netplan/*.yaml ; składnia jest wrażliwa na wcięcia i spacje.

Sprawdź aktywny plik (na przykład 00-installer-config.yaml lub 50-cloud-init.yaml) i potwierdź aktualny status; domyślnie zobaczysz coś w rodzaju dhcp4: true , co oznacza, że ​​adres IP jest uzyskiwany za pomocą DHCP.

cat /etc/netplan/00-installer-config.yaml
# Ejemplo típico por defecto:
# network:
#   ethernets:
#     enp0s3:
#       dhcp4: true
#   version: 2

Edytuj plik YAML i wyłącz DHCP, zmieniając „dhcp4: true” na „dhcp4: no” (lub „false”), dodając adresy (z maską w notacji CIDR), gateway4 i nameservers; przestrzegaj wcięć , ponieważ jedna spacja mniej może zakłócić parsowanie.

sudo nano /etc/netplan/00-installer-config.yaml

network:
  ethernets:
    enp0s3:
      dhcp4: no
      addresses: 
      gateway4: 192.168.1.1
      nameservers:
        addresses: 
  version: 2

Jeżeli katalog nie zawiera żadnych plików (rzadko, ale może się tak zdarzyć), możesz odtworzyć podstawowe pliki poleceniem `sudo netplan generate` , a następnie zastosować polecenie; w normalnych warunkach wystarczy uruchomić polecenie `apply` i sprawdzić.

sudo netplan apply
ip addr

Jeśli zmiany się nie powiodą, Netplan powiadomi Cię o tym i zapobiegnie „zepsuciu” sieci. Przejrzyj składnię YAML i ponownie uruchom polecenie apply, gdy będzie już znane. Polecenie „ip a” będzie Twoim sprzymierzeńcem w weryfikacji statusu po każdej zmianie.

Red Hat, Rocky i AlmaLinux: ifcfg i NetworkManager (nmcli/nmtui)

W systemach opartych na RPM pliki ifcfg nadal współistnieją w /etc/sysconfig/network-scripts/, a NetworkManager jest warstwą zarządzania. Można to zrobić w staromodny sposób, edytując plik ifcfg interfejsu.

sudo nvim /etc/sysconfig/network-scripts/ifcfg-enp0s2

TYPE="Ethernet"
BOOTPROTO="none"
NAME="enp0s2"
ONBOOT="yes"
HWADDR="08:00:27:80:63:19"
IPADDR0="192.168.225.150"
PREFIX0="24"
GATEWAY0="192.168.225.1"
DNS1="8.8.8.8"

Upewnij się, że ustawiłeś BOOTPROTO="none", aby wskazać, że nie używasz DHCP, oraz ONBOOT="yes", aby uruchomić interfejs; zapisz i uruchom ponownie usługę sieciową, a następnie sprawdź za pomocą adresu IP, czy adres IP jest teraz wyświetlany; spowoduje to jego utrwalenie . Jeśli potrzebujesz więcej informacji na temat adresu MAC i maski podsieci , zapoznaj się z tym dokumentem.

sudo systemctl restart network
ip a s enp0s2

Dzięki NetworkManager możesz preferować nmcli, które jest wygodne i deklaratywne; zmodyfikuj profil połączenia (nie zawsze odpowiada nazwie interfejsu), określając ip4, gw4 i DNS, a następnie aktywuj profil.

nmcli connection show
sudo nmcli connection modify "eth0" ip4 192.168.1.20/24 gw4 192.168.1.101 ipv4.dns 8.8.8.8
sudo nmcli connection up "eth0"

Jeśli chcesz korzystać z półgraficznego trybu terminalowego , zainstaluj NetworkManager TUI i skorzystaj z jego kreatora. Upewnij się, że nie pominiesz żadnych pól. Następnie, jeśli zajdzie taka potrzeba, uruchom ponownie NetworkManager.

sudo dnf install NetworkManager-tui
nmtui
sudo systemctl restart NetworkManager

Arch Linux: netctl lub systemd-networkd

W Arch masz dwie powszechnie używane ścieżki: netctl (profile inspirowane systemd) lub „bez zabezpieczeń” przy użyciu systemd-networkd ; obie są prawidłowe, a wybór zależy od twojego środowiska.

  Zatrzymaj przeglądarkę Safari przed rozpakowaniem pobranych informacji na komputerze Mac

Używając netctl, skopiuj przykładowy profil ethernet-static do /etc/netctl/, podając nazwę interfejsu, adres edycyjny, maskę (w CIDR) , bramę i DNS; następnie włącz i uruchom profil.

sudo cp /etc/netctl/examples/ethernet-static /etc/netctl/enp2s0
sudo nvim /etc/netctl/enp2s0

Description='A basic static ethernet connection'
Interface=enp2s0
Connection=ethernet
IP=static
Address=('192.168.1.102/24')
Gateway=('192.168.1.1')
DNS=('8.8.8.8' '8.8.4.4')

sudo netctl enable enp2s0
sudo netctl start enp2s0

Jeśli masz uruchomionego klienta DHCP (takiego jak dhcpcd), zatrzymaj i wyłącz jego jednostki, aby nie nadpisały Twoich ustawień statycznych. Unikanie konfliktów jest tutaj kluczowe.

sudo systemctl stop dhcpcd
sudo systemctl disable dhcpcd

Używając systemd-networkd, utwórz plik .network odpowiadający Twojemu interfejsowi w /etc/systemd/network/ , określ adres IP, bramę i serwer DNS, a następnie włącz usługę. Po ponownym uruchomieniu zweryfikuj ją za pomocą adresu IP.

sudo nvim /etc/systemd/network/enp2s0.network


Name=enp2s0


Address=192.168.1.102/24
Gateway=192.168.1.1
DNS=8.8.8.8
DNS=8.8.4.4

sudo systemctl disable [email protected]  # si venías de netctl
sudo systemctl enable systemd-networkd
sudo systemctl start systemd-networkd

Przed zamknięciem sprawdź dokładnie, czy nie ma żadnych konkurujących profili lub usług. Polecenie systemctl list-unit-files pomoże Ci wykryć pozostałe jednostki netctl lub klientów DHCP.

GUI i alternatywy na komputerach stacjonarnych Linux

Jeżeli pracujesz w środowisku z graficznym interfejsem użytkownika (GNOME, KDE itp.), możesz otworzyć „Połączenia sieciowe” i w przypadku połączenia przewodowego lub bezprzewodowego wybrać metodę „Ręczna” (IPv4), wypełniając pola Adres, Maska i Brama; na tym samym ekranie możesz także zdefiniować usługę DNS.

To podejście jest wygodne dla zespołów użytkowników i współpracuje z NetworkManagerem. Niemniej jednak, przydatna jest znajomość metod konsoli dla serwerów i administracji zdalnych , gdzie interfejs graficzny nie zawsze jest dostępny lub zalecany.

Zastosuj zmiany: ponowne uruchomienie usługi i systemu

Po edycji zazwyczaj wystarczy ponownie uruchomić demona sieciowego: w klasycznym Debianie/Ubuntu: systemctl restart networking.service ; w Netplan: netplan apply; w NetworkManager: systemctl restart NetworkManager lub wyłączyć/włączyć profil za pomocą nmcli.

# Debian/Ubuntu tradicional
sudo systemctl restart networking.service

# Netplan
sudo netplan apply

# NetworkManager
sudo systemctl restart NetworkManager

W dystrybucjach ze starym ifcfg użyj komendy systemctl restart network ; w Arch z netctl użyj komendy netctl restart <profile> lub stop/start; jeśli usługa restartu jest niedostępna, możesz ponownie uruchomić komputer za pomocą komendy systemctl reboot lub wyłączyć go za pomocą komendy systemctl poweroff.

sudo systemctl restart network
sudo netctl restart enp2s0
# Alternativas de control del sistema
sudo systemctl reboot
sudo systemctl poweroff

Weryfikacja i testowanie łączności

Sprawdź, czy adres został zastosowany za pomocą polecenia ip -c addr show <interface> i czy domyślna trasa wskazuje na zdefiniowaną bramę. Jeśli wszystko się zgadza, przejdź do testowania łączności.

  Jak zautomatyzować tworzenie kopii zapasowych w systemie Linux za pomocą rsync i cron

Zacznij od wysłania polecenia ping do bramy (np. 192.168.1.1), a następnie do domeny ( google.com ), aby sprawdzić także rozdzielczość DNS. Jeśli polecenie ping po adresie IP działa, ale nie po nazwie, sprawdź swoje serwery DNS.

ip -c addr show enp0s3
ping -c 4 192.168.1.1
ping -c 4 google.com

Jeśli wystąpią problemy, wróć do źródła: sprawdź zmodyfikowany plik (/etc/network/interfaces lub Netplan YAML), upewnij się, że żaden aktywny klient DHCP nie nadpisuje zmian i powtórz cykl stosowania i weryfikacji.

Czy istnieje jedno „magiczne polecenie” naprawiające adres IP w systemie Linux?

Nie. I tu dochodzimy do sedna sprawy: w systemie Linux istnieje kilka sposobów na przypisanie statycznego adresu IP, które zależą od menedżera sieci i dystrybucji. Istnieje natomiast ogólne polecenie umożliwiające tymczasowe przypisanie adresu IP, na przykład za pomocą polecenia ip addr add.

# Asignación temporal (no persiste tras reiniciar red/sistema)
sudo ip addr add 192.168.1.50/24 dev enp0s3
sudo ip route add default via 192.168.1.1

Taka konfiguracja nie jest trwała; aby przetrwała ponowne uruchomienia, należy edytować pliki (interfejsy, ifcfg, Netplan) lub użyć narzędzi profilujących, takich jak nmcli/nmtui; dlatego nauczyciele zazwyczaj pytają o metodę używaną w dystrybucji, a nie o „pojedyncze polecenie”.

Przydatne notatki i niuanse do zapamiętania

W świecie RPM BOOTPROTO="none" wskazuje na ręczne przydzielanie adresu IP, a BOOTPROTO="dhcp" aktywuje automatyczne pozyskiwanie adresu IP; pola IPADDR0/PREFIX0/GATEWAY0/DNS1 umożliwiają w razie potrzeby wielokrotne wpisy z sufiksami 0, 1, 2.

W klasycznym Debianie kluczem jest użycie „inet static” i nie zapominanie o bramie oraz serwerach nazw DNS; w Netplan należy zwrócić uwagę na wcięcia i pamiętać, że maski w adresach są w formacie CIDR (na przykład /24 dla 255.255.255.0).

Jeśli pracujesz na egzotycznych urządzeniach lub „zabytkowych” laboratoriach, możesz mieć starsze wersje (np. Debian 11 na komputerach Pine A64 SBC) i klasyczna metoda interfejsu rozwiąże Twój problem. Dostosuj metodę do tego, co faktycznie działa stabilnie na Twoim komputerze.

Na koniec, jeśli po wprowadzeniu zmian w sieci coś przestanie odpowiadać zdalnie, poczekaj na ponowne załadowanie usługi i sprawdź trasy z lokalnej konsoli. Kopia zapasowa oryginalnego pliku oszczędzi Ci niespodzianek podczas szybkiego przywracania ustawień fabrycznych.

Dzięki powyższym informacjom uzyskasz kompletną mapę według rodzin i narzędzi: klasyczną metodę w Debianie/Ubuntu, YAML z Netplan dla nowoczesnych serwerów, ifcfg i NetworkManager w Red Hat/Rocky/Alma oraz profile netctl lub systemd-networkd w Arch. Wybierz ścieżkę , która pasuje do Twojej dystrybucji i kontekstu, pamiętaj o sprawdzeniu za pomocą adresu IP i polecenia ping, a także nie zapomnij o DNS, jeśli nie możesz rozwiązać nazw.

Jak skonfigurować statyczny adres IP w systemach Debian, Arch, Ubuntu, openSUSE i Fedora
Podobne artykuły:
Jak skonfigurować statyczny adres IP w systemach Debian, Arch, Ubuntu, openSUSE i Fedora