Ubuntu – zmiana adresu IP: Netplan, NetworkManager, nmcli, ip addr – poradnik

Pytanie

Jak zmienić adres IP w Ubuntu

Odpowiedź Sztucznej Inteligencji


Bezpośrednia odpowiedź na pytanie

  • Najprościej:
    • Ubuntu Desktop (NetworkManager/GUI): Ustawienia → Sieć → IPv4 → Ręczna → podaj IP/maskę/bramę/DNS → Zastosuj.
    • Ubuntu Desktop/Server (trwale, Netplan): edytuj /etc/netplan/*.yaml → addresses/gateway/routes/DNS → sudo netplan try → sudo netplan apply.
    • Tymczasowo (do testów): sudo ip addr add …; sudo ip route replace default via … (nie przetrwa restartu).
  • Kluczowe punkty:
    • Najpierw ustal właściwy interfejs (ip -br a).
    • Wybierz metodę zgodną z menedżerem sieci: NetworkManager (GUI/nmcli) lub Netplan (YAML).
    • Zawsze testuj i miej plan awaryjny (netplan try, druga sesja/terminal).

Szczegółowa analiza problemu

  • Identyfikacja środowiska:

    • Desktop (domyślnie): NetworkManager. Sprawdź: nmcli general status.
    • Server (domyślnie): Netplan + systemd-networkd. Sprawdź: netplan status lub networkctl.
    • Obrazy chmurowe: zmiany może nadpisywać cloud-init (plik 50-cloud-init.yaml).
  • Metoda A — Ubuntu Desktop (NetworkManager, trwale) przez nmcli

    1. Znajdź nazwę połączenia i interfejs:
      • nmcli con show
      • ip -br a (np. enp0s31f6, wlp2s0)
    2. Przełącz IPv4 na tryb ręczny i ustaw IP/bramę/DNS:
      • sudo nmcli con mod "Wired connection 1" ipv4.method manual
      • sudo nmcli con mod "Wired connection 1" ipv4.addresses "192.168.1.50/24"
      • sudo nmcli con mod "Wired connection 1" ipv4.gateway "192.168.1.1"
      • sudo nmcli con mod "Wired connection 1" ipv4.dns "1.1.1.1,8.8.8.8"
      • (opcjonalnie) sudo nmcli con mod "Wired connection 1" ipv4.ignore-auto-dns yes
    3. Zastosuj:
      • sudo nmcli con up "Wired connection 1"
    4. Weryfikacja:
      • ip -br a; ip route; resolvectl status; ping 192.168.1.1; ping 8.8.8.8; ping google.com
  • Metoda B — Ubuntu Server (Netplan, trwale)

    1. Plik konfiguracyjny: /etc/netplan/*.yaml (np. 00-installer-config.yaml, 50-cloud-init.yaml).
    2. Przykład (jeden z dwóch równoważnych wariantów – użyj tylko jednego sposobu na bramę):
      Wariant z routes (zalecany w nowszych konfiguracjach):
      network:
        version: 2
        renderer: networkd
        ethernets:
          enp3s0:
            dhcp4: false
            addresses: [192.168.1.50/24]
            nameservers:
              addresses: [1.1.1.1,8.8.8.8]
            routes:
              - to: default
                via: 192.168.1.1

      Wariant z gateway4 (również powszechnie stosowany):

      network:
        version: 2
        renderer: networkd
        ethernets:
          enp3s0:
            dhcp4: false
            addresses: [192.168.1.50/24]
            gateway4: 192.168.1.1
            nameservers:
              addresses: [1.1.1.1,8.8.8.8]
    3. Zastosowanie i test:
      • sudo netplan try (bezpieczny test z automatycznym wycofaniem)
      • sudo netplan apply
      • ip -br a; ip route; ping; resolvectl status

    Dodatki Netplan:

    • Wiele adresów na jednym interfejsie:
      addresses: [192.168.1.50/24, 192.168.1.60/24]
    • Brama spoza podsieci (np. sieć „punkt–punkt”): w routes dodaj on-link: true
      routes:
        - to: default
          via: 10.0.0.1
          on-link: true
    • IPv6 analogicznie (dhcp6: false, addresses: [2001:db8::10/64], gateway6: … lub routes).
  • Metoda C — GUI (Desktop)

    • Ustawienia → Sieć → Zębatka przy Wi‑Fi/Ethernet → IPv4 → Ręczna → Adres/Maska/Brama/DNS → Zastosuj → przełącz interfejs OFF/ON.
  • Metoda D — Tymczasowo (do testów; zniknie po restarcie)

    • Usuń stare IP (opcjonalnie): sudo ip addr flush dev enp3s0
    • Dodaj IP: sudo ip addr add 192.168.1.50/24 dev enp3s0
    • Ustaw trasę domyślną: sudo ip route replace default via 192.168.1.1 dev enp3s0
    • Weryfikacja: ip -br a; ip route; ping
  • Weryfikacja i diagnostyka (po każdej metodzie)

    • Adresy: ip -br a
    • Trasy: ip route
    • DNS: resolvectl status (systemd-resolved)
    • Łączność: ping brama/Zewnętrzny IP/Nazwa
    • Logi: journalctl -u NetworkManager, journalctl -u systemd-networkd

Aktualne informacje i trendy

  • Netplan pozostaje standardową warstwą deklaratywną w Ubuntu 18.04+; na Desktop rolę wykonawczą pełni zwykle NetworkManager (renderer: NetworkManager), na Server – systemd-networkd (renderer: networkd).
  • Oba zapisy bramy (routes: to: default via: … oraz gateway4/gateway6) są powszechnie wspierane; coraz częściej promuje się wariant z routes dla spójności z bardziej złożonym routingiem.
  • W środowiskach chmurowych konfigurację sieci często zarządza cloud-init; ręczne poprawki w Netplan mogą być nadpisywane przy restarcie, jeśli nie zmienisz polityki cloud-init.

Wspierające wyjaśnienia i detale

  • Notacja CIDR: „/24” oznacza maskę 255.255.255.0 (256 adresów, 254 użyteczne).
  • Różnica DHCP vs statyczny: DHCP automatycznie przydziela IP/DNS/bramę; tryb manualny wymaga pełnego wpisania parametrów.
  • DNS i systemd-resolved: /etc/resolv.conf to zwykle symlink; ustaw DNS przez NM/Netplan; do odświeżenia cache: sudo resolvectl flush-caches.
  • VLAN w Netplan (przykład):
    vlans:
      vlan10:
        id: 10
        link: enp3s0
        addresses: [192.168.10.2/24]
        routes:
          - to: default
            via: 192.168.10.1

Aspekty etyczne i prawne

  • W sieciach firmowych/uczelni zmiana IP bez przydziału z Działu IT może naruszać polityki bezpieczeństwa i RODO (logowanie ruchu, identyfikacja hostów). Zawsze uzyskaj zgodę i rezerwację adresu.
  • Unikaj konfliktów IP – statyczne adresy muszą być zarezerwowane w planie adresacji.

Praktyczne wskazówki

  • Zdalnie (SSH): używaj sudo netplan try lub miej otwarte dwie sesje; rozważ plan awaryjny (konsola KVM/iDRAC/IPMI).
  • Kopia konfiguracji: sudo cp /etc/netplan/*.yaml /etc/netplan/backup-$(date +%F).yaml
  • Domowe sieci: wygodna alternatywa to rezerwacja DHCP w routerze na podstawie MAC (host nadal działa jako DHCP, ale zawsze dostaje ten sam IP).
  • Po zmianach NM: jeśli interfejs nie wstaje, sprawdź autoconnect: nmcli con mod "…" connection.autoconnect yes.
  • Linki „spoza podsieci”: dodaj on-link: true w routes, inaczej kernel może odrzucić bramę.
  • Interfejs z wieloma sieciami: pamiętaj o priorytecie tras (metric) i o ustawieniu „ipv4.never-default yes” w NM dla łącza pomocniczego bez domyślnej trasy.

Ewentualne zastrzeżenia lub uwagi dodatkowe

  • cloud-init/MAAS mogą nadpisywać Netplan przy starcie – wówczas zmieniaj konfigurację na poziomie narzędzia orkiestracji.
  • W maszynach wirtualnych tryb NAT/Mostkowany (bridge) w hyperwizorze wpływa na łączność niezależnie od IP w systemie gościa.
  • W kontenerach (LXC/Docker/Podman) adresacją zwykle zarządza warstwa kontenerowa – zmiany w gościu nie zawsze mają sens.

Sugestie dalszych badań

  • man netplan, netplan get/apply/try/status – składnia i dobre praktyki.
  • man nmcli – szczególnie sekcje „connection”, „device”, „general”.
  • man ip-address, ip-route – diagnostyka i routing.
  • Dokumentacja systemd-resolved i resolvectl – diagnostyka DNS.

Krótkie podsumowanie

  • Dla Desktop: użyj GUI lub nmcli (trwale).
  • Dla Server: edytuj /etc/netplan/*.yaml i zastosuj netplan try/apply.
  • Do testów: ip addr/ip route (tymczasowo).
  • Zawsze sprawdź interfejs, unikaj konfliktów IP, testuj łączność i miej plan awaryjny.
    Jeśli podasz wersję Ubuntu i nazwę interfejsu, przygotuję dokładny, gotowy plik Netplan lub kompletny zestaw komend nmcli pod Twoją sieć.

Oceń odpowiedź:
Zastrzeżenie: Odpowiedzi udzielone przez sztuczną inteligencję (model językowy) mogą być niedokładne i wprowadzające w błąd. Elektroda nie ponosi odpowiedzialności za dokładność, rzetelność ani kompletność prezentowanych informacji. Wszystkie odpowiedzi powinny być zweryfikowane przez użytkownika.

Zadaj dodatkowe pytanie Sztucznej Inteligencji

Czekaj (2min)...