Configurare IPv4 si IPv6 static pe Debian cu /etc/network/interfaces
Networking

IP static si IPv6 pe Debian cu /etc/network/interfaces

De cele mai multe ori, un VPS nou porneste cu reteaua deja functionala si nimeni nu se uita cum. Apoi vine ziua in care comanzi un al doilea IP pentru un site nou, vrei sa activezi blocul IPv6 primit odata cu serverul sau trebuie sa muti masina pe o adresa noua, si brusc editezi singurul fisier care te poate taia de propriul server. O greseala de tastare in /etc/network/interfaces, un gateway gresit, si sesiunea SSH tace pentru totdeauna.

In ghidul asta configuram un IP static pe Debian in modul clasic, cu ifupdown si /etc/network/interfaces: adresa IPv4 principala, IPv6, adrese suplimentare si servere DNS. La fel de important, aplicam modificarile cu o plasa de siguranta, ca o greseala sa te coste zece minute, nu un tichet la suport, si verificam rezultatul cum trebuie, cu ip si ping, in loc sa speram ca a mers.

Ce sunt, de fapt, ifupdown si /etc/network/interfaces

Inainte sa atingem ceva, cativa termeni pe care ii vom folosi tot timpul:

  • Interfata de retea: placa de retea (virtuala) a serverului. Pe un VPS are de obicei un nume ca ens18, ens3, eth0 sau enp1s0. Mai exista si lo, interfata loopback, prin care serverul vorbeste doar cu el insusi.
  • Adresa IP si prefixul: 203.0.113.10/24 inseamna adresa 203.0.113.10 intr-o retea in care primii 24 de biti sunt ficsi, deci toate adresele de la 203.0.113.0 la 203.0.113.255 sunt “locale”. /24 este prefixul CIDR, felul modern de a scrie o masca de retea (/24 e acelasi lucru cu 255.255.255.0).
  • Gateway: routerul catre care serverul trimite traficul cand destinatia nu e in reteaua locala, adica usa spre Internet. IPv4 si IPv6 au fiecare gateway-ul lor.
  • Server DNS (resolver): serverul care transforma nume ca deb.debian.org in adrese IP. Fara el, ping 1.1.1.1 merge, dar apt update nu.

ifupdown este unealta traditionala de configurare a retelei din Debian. La boot, serviciul networking.service ruleaza ifup -a, care citeste /etc/network/interfaces si transforma fiecare bloc (liniile care incep cu iface) in comenzi ip addr add si ip route add pentru kernel. Poti rula si manual ifup, ifdown si ifquery. Formatul e text simplu, exista de zeci de ani si e documentat in man interfaces.

De ce o adresa statica si nu DHCP? Pe un server, IP-ul e o promisiune: inregistrarile DNS arata spre el, regulile de firewall si listele de acces il mentioneaza, reverse DNS-ul e setat pe el. Scris explicit, nu mai depinzi de un server DHCP care sa raspunda la fiecare boot, iar configuratia se intelege dintr-o privire.

Cum devine fisierul de configurare o retea functionalaFisier config/etc/network/interfacesifupdownifup / ifdownnetworkingens18 (placa VPS)203.0.113.10/24 principal198.51.100.7/32 extra2001:db8:10::10/642001:db8:10::20/64 extraGateway203.0.113.12001:db8:10::1InternetIPv4 + IPv6/etc/resolv.conflinii nameserverServere DNS1.1.1.1 / 9.9.9.9 / IPv6Adresa IPv4Adresa IPv6Adrese de exemplu,inlocuieste-le
ifupdown citeste /etc/network/interfaces si configureaza interfata; traficul iese prin gateway, iar numele sunt rezolvate prin serverele din /etc/resolv.conf.

Debian, Ubuntu si ceilalti manageri de retea

Linux are mai multe unelte care pot “detine” reteaua, iar ele nu trebuie sa se certe pe aceeasi interfata:

  • Debian 13 (si 12) instalat ca server foloseste ifupdown si /etc/network/interfaces. Pentru acest caz e scris ghidul.
  • Ubuntu 24.04 foloseste netplan, care genereaza configuratie pentru systemd-networkd. Acolo /etc/network/interfaces lipseste sau e ignorat. Spre final dam un echivalent scurt in netplan.
  • Unele imagini cloud de Debian folosesc netplan, systemd-networkd sau fisiere generate de cloud-init in loc de un fisier interfaces scris de mana, iar desktopurile folosesc NetworkManager.

Regula e simpla: un singur manager per interfata. Pasul 2 iti arata cum verifici ce foloseste serverul tau.

O nota despre containerele LXC

Daca VPS-ul tau e un container LXC si nu o masina virtuala KVM, reteaua e de obicei definita din partea host-ului. Pe multe platforme LXC, inclusiv cele bazate pe Proxmox, host-ul rescrie fisierul de retea al containerului la fiecare pornire, deci modificarile tale dispar dupa un restart. In cazul asta, schimbi IP-urile din panoul de control sau prin suport, iar ghidul iti foloseste mai ales pentru partea de verificare. Pe KVM, reteaua din interiorul masinii e in intregime a ta.

De ce ai nevoie

  • Un VPS cu Debian 13 (Debian 12 merge la fel) care foloseste ifupdown, si un utilizator cu sudo.
  • Datele de retea de la furnizor: adresa IPv4 principala si prefixul, gateway-ul IPv4, adresa sau blocul IPv6 si gateway-ul lui, eventualele IP-uri extra si serverele DNS recomandate. Le gasesti in contul de client sau in emailul de bun venit.
  • Acces la consola din afara retelei, de exemplu consola VNC/noVNC din panoul de control al VPS-ului. Deschide-o acum si verifica ca te poti loga cu parola. Daca reteaua se strica, pe aici intri inapoi.
  • Vreo 20 de minute si, pentru un server de productie, un moment linistit in caz ca e nevoie de reboot.

Toate adresele din articol fac parte din intervalele rezervate pentru documentatie (203.0.113.0/24, 198.51.100.0/24, 2001:db8::/32). Inlocuieste-le cu adresele tale reale.

Configurare IP static pe Debian in /etc/network/interfaces, pas cu pas

Iata toata procedura dintr-o privire. Pasii 1-3 nu schimba nimic, pasii 4-7 doar editeaza fisiere si abia pasul 8 atinge reteaua live, cu un rollback armat.

Cei 9 pasi din acest ghid1Adunadatele actuale2Verificaca ifupdown e activ3Backupla configuratie4IPv4static5IPv6static6IP-urisuplimentare7ServereDNS8Rollbacksi aplicare9Verificaresi dezarmarePregatire (1-3)Editare (4-7)Aplicare si verificare (8-9)
Pasii 1-3 sunt pregatire fara modificari, pasii 4-7 editeaza fisiere, pasul 8 aplica schimbarea cu rollback armat, iar pasul 9 verifica si dezarmeaza rollback-ul.

Pasul 1: Aduna datele actuale ale retelei

Mai intai ne uitam la ce face serverul acum. Nimic de aici nu modifica ceva:

ip -br link
ip -br addr
ip route
ip -6 route
cat /etc/resolv.conf

ip -br afiseaza o vedere scurta, cate o linie pe interfata. Pe un VPS tipic vezi ceva de genul:

lo               UNKNOWN        127.0.0.1/8 ::1/128
ens18            UP             203.0.113.10/24 fe80::be24:11ff:fe2a:3b4c/64
default via 203.0.113.1 dev ens18
203.0.113.0/24 dev ens18 proto kernel scope link src 203.0.113.10

Noteaza trei lucruri: numele interfetei (aici ens18, la tine poate fi altul), adresa curenta cu prefix si gateway-ul implicit (linia default via). Adresa fe80:: e o adresa IPv6 link-local pe care orice interfata si-o creeaza singura, nu e IPv6-ul tau public. Daca ruta apare cu proto dhcp, serverul primeste acum adresa prin DHCP.

Pasul 2: Verifica ca ifupdown gestioneaza reteaua

Acum ne asiguram ca editam fisierul care chiar conteaza:

systemctl is-active networking systemd-networkd NetworkManager
ls /etc/netplan/ 2>/dev/null
ls /etc/network/interfaces.d/

Pe un server Debian gestionat de ifupdown, prima comanda afiseaza active, inactive, inactive (cate o linie pe serviciu; un serviciu neinstalat apare tot inactive). Directorul /etc/netplan/ trebuie sa fie gol sau sa lipseasca. Daca systemd-networkd sau NetworkManager e activ, ori netplan are fisiere YAML, serverul nu foloseste ifupdown pentru interfata asta: opreste-te aici si configureaza unealta respectiva, nu le amesteca.

Verifica si /etc/network/interfaces.d/. Daca gasesti un fisier ca 50-cloud-init, sau fisierul principal incepe cu un comentariu care spune ca e generat de cloud-init, cloud-init il va regenera. Spune-i lui cloud-init sa lase reteaua in pace, apoi muta ce iti trebuie in /etc/network/interfaces:

echo 'network: {config: disabled}' | sudo tee /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg

Daca dpkg -s ifupdown2 arata pachetul ca instalat, ai ifupdown2, o rescriere cu acelasi format de fisier. Tot ce urmeaza e valabil, iar la pasul 8 ai in plus comanda ifreload -a.

Pasul 3: Fa backup la configuratia curenta

O copie a fisierului care stim ca functioneaza e exact ce va restaura rollback-ul de la pasul 8, asa ca o facem acum, cat reteaua merge:

sudo cp /etc/network/interfaces /root/interfaces.good
sudo cp /etc/network/interfaces "/root/interfaces.$(date +%F-%H%M)"
cat /etc/network/interfaces

Prima copie are un nume fix, pe care il gaseste rollback-ul; a doua e o arhiva cu data. Un Debian proaspat instalat are adesea un fisier ca acesta:

source /etc/network/interfaces.d/*

auto lo
iface lo inet loopback

allow-hotplug ens18
iface ens18 inet dhcp

Pasul 4: Scrie configuratia IPv4 statica

Deschide fisierul intr-un editor (nano e instalat implicit):

sudo nano /etc/network/interfaces

Inlocuieste partea cu interfata printr-un bloc static. Liniile source si cele pentru loopback raman cum sunt:

source /etc/network/interfaces.d/*

# Loopback
auto lo
iface lo inet loopback

# IPv4 principal
auto ens18
iface ens18 inet static
    address 203.0.113.10/24
    gateway 203.0.113.1

Pe rand:

  • auto ens18 porneste interfata la boot prin networking.service. Installer-ul scrie adesea allow-hotplug, care asteapta ca kernelul sa anunte dispozitivul; pe un server, auto e varianta mai previzibila, pentru ca boot-ul o asteapta inainte sa considere reteaua “online”.
  • iface ens18 inet static deschide un bloc IPv4 (inet) cu adresa fixa.
  • address primeste adresa cu prefixul CIDR. Stilul vechi pe doua linii, address 203.0.113.10 plus netmask 255.255.255.0, merge in continuare, dar forma CIDR e mai scurta si mai greu de gresit.
  • gateway seteaza ruta implicita. Scrie un singur gateway IPv4 in tot fisierul.

Indentarea e optionala, dar face fisierul lizibil, iar tot ce e dupa # e comentariu. Daca schimbi IP-ul principal, nu doar treci de la DHCP la static, verifica si /etc/hosts: Debian asociaza hostname-ul cu 127.0.1.1, ceea ce e in regula, dar unele imagini trec acolo IP-ul public, pe care atunci trebuie sa-l actualizezi.

Pasul 5: Adauga IPv6

IPv6 primeste propriul bloc pentru aceeasi interfata, cu inet6 in loc de inet. Nu e nevoie de inca o linie auto, auto ens18 acopera deja toate blocurile interfetei ens18:

# IPv6 principal
iface ens18 inet6 static
    address 2001:db8:10::10/64
    gateway 2001:db8:10::1
    accept_ra 0
    autoconf 0

Daca furnizorul ti-a alocat un /64 intreg (sau mai mare), partea de host o alegi tu: ::10 e doar un exemplu usor de tinut minte. Nu lua adresa folosita de gateway, de multe ori ::1. Unii furnizori dau gateway-ul ca adresa link-local, de exemplu fe80::1; merge perfect in linia gateway, pentru ca ruta e legata de ens18.

accept_ra 0 ii spune kernelului sa ignore anunturile routerului (router advertisements), iar autoconf 0 il opreste sa-si inventeze adrese in plus din ele (SLAAC). Pe un server configurat static vrem exact adresele si gateway-ul scrise de noi, nimic in plus; le setam explicit pe amandoua ca rezultatul sa nu depinda de valorile implicite. Daca furnizorul iti spune ca IPv6 vine doar prin SLAAC, foloseste iface ens18 inet6 auto si renunta la adresa si gateway.

Pasul 6: Adauga adrese IP suplimentare

Adresele in plus pe aceeasi interfata sunt pur si simplu alte blocuri, fara linie gateway. Doua cazuri frecvente:

  • Un IPv4 suplimentar in aceeasi subretea cu cel principal: folosesti acelasi prefix, de exemplu 203.0.113.11/24.
  • Un IPv4 suplimentar rutat catre serverul tau dintr-un alt interval (foarte des la IP-urile aditionale): folosesti /32, adica “doar adresa asta”.
# IPv4 suplimentar rutat catre acest server
iface ens18 inet static
    address 198.51.100.7/32

# IPv6 suplimentar din acelasi /64
iface ens18 inet6 static
    address 2001:db8:10::20/64

Poate vezi in ghiduri mai vechi interfete alias de tipul ens18:0. Merg inca pentru IPv4, dar etichetele de alias incurca unele unelte si nu exista pentru IPv6; blocurile multiple sunt varianta curata. Conexiunile care pleaca de pe server folosesc in continuare adresa principala ca sursa, iar servicii precum un server web aleg ele pe ce adresa asculta.

Inainte sa aplici ceva, poti testa live ca furnizorul chiar ruteaza adresa suplimentara catre tine, fara sa atingi fisierul:

sudo ip addr add 198.51.100.7/32 dev ens18
ping -c 3 -I 198.51.100.7 1.1.1.1
sudo ip addr del 198.51.100.7/32 dev ens18

Daca primesti raspunsuri, adresa functioneaza. Stergem adresa de test la final ca ifupdown s-o poata adauga curat la pasul 8; daca exista deja, ifup esueaza cu RTNETLINK answers: File exists.

Pasul 7: Configureaza serverele DNS

Felul in care setezi DNS-ul depinde de cine gestioneaza /etc/resolv.conf. Verifica intai:

ls -l /etc/resolv.conf
  • Fisier obisnuit (cazul uzual pe un server Debian 13): il editezi direct cu sudo nano /etc/resolv.conf. Se folosesc cel mult trei linii nameserver. Prefera serverele DNS ale furnizorului daca ti le-a dat; altfel merg si cele publice:
nameserver 1.1.1.1
nameserver 9.9.9.9
nameserver 2606:4700:4700::1111
  • Link simbolic spre ../run/resolvconf/resolv.conf: e instalat pachetul resolvconf, iar tu adaugi dns-nameservers 1.1.1.1 9.9.9.9 (si optional dns-search exemplu.ro) in blocul principal inet static. Fara resolvconf, liniile dns- sunt ignorate fara niciun mesaj, ceea ce surprinde pe multa lume.
  • Link simbolic spre ../run/systemd/resolve/stub-resolv.conf: se ocupa systemd-resolved (implicit pe Ubuntu). Setezi DNS= in /etc/systemd/resolved.conf, rulezi sudo systemctl restart systemd-resolved si verifici cu resolvectl status.

Fisierul complet arata acum asa:

source /etc/network/interfaces.d/*

# Loopback
auto lo
iface lo inet loopback

# IPv4 principal
auto ens18
iface ens18 inet static
    address 203.0.113.10/24
    gateway 203.0.113.1

# IPv6 principal
iface ens18 inet6 static
    address 2001:db8:10::10/64
    gateway 2001:db8:10::1
    accept_ra 0
    autoconf 0

# IPv4 suplimentar rutat catre acest server
iface ens18 inet static
    address 198.51.100.7/32

# IPv6 suplimentar din acelasi /64
iface ens18 inet6 static
    address 2001:db8:10::20/64

Pasul 8: Verifica sintaxa, armeaza un rollback si aplica

Intai o rulare “pe uscat”. --no-act afiseaza ce ar face ifup fara sa faca, iar --force il face sa ignore faptul ca ens18 e deja pornita:

sudo ifup --no-act --force ens18

Ar trebui sa vezi o lista de comenzi ip addr add si ip route add pentru fiecare bloc. O greseala de scriere produce in schimb o eroare care numeste problema si linia; o corectezi si rulezi din nou verificarea.

Urmeaza plasa de siguranta. Cream un mic timer systemd care, peste zece minute, restaureaza /root/interfaces.good si da reboot. Fiind un fisier de unitate real, nu unul temporar, supravietuieste si unui reboot: daca serverul porneste cu reteaua stricata, timer-ul se declanseaza la zece minute dupa boot. Serviciul se dezactiveaza intai pe sine, deci nu poate intra in bucla:

sudo tee /etc/systemd/system/net-rollback.service >/dev/null <<'EOF'
[Unit]
Description=Restore the previous network configuration and reboot

[Service]
Type=oneshot
ExecStart=/bin/sh -c 'systemctl disable net-rollback.timer; cp /root/interfaces.good /etc/network/interfaces; systemctl reboot'
EOF

sudo tee /etc/systemd/system/net-rollback.timer >/dev/null <<'EOF'
[Unit]
Description=Network rollback safety net

[Timer]
OnActiveSec=10min

[Install]
WantedBy=timers.target
EOF

sudo systemctl daemon-reload
sudo systemctl enable --now net-rollback.timer
systemctl list-timers net-rollback.timer

Ultima comanda arata timer-ul cu aproximativ 10 minute ramase. Acum aplici configuratia, in unul din doua moduri:

Varianta A, reboot (recomandata cand schimbi IP-ul principal sau gateway-ul, ori treci de la DHCP la static):

sudo systemctl reboot

Varianta B, restart la networking (buna cand adresa principala ramane aceeasi si doar adaugi IPv6 sau IP-uri extra):

sudo systemctl restart networking

Restartul ruleaza in systemd, nu in shell-ul tau, deci se termina chiar daca sesiunea SSH ingheata o clipa. Limitarea lui: ifdown sterge ce descrie fisierul acum, asa ca o adresa din versiunea veche a fisierului poate ramane pe interfata pana la urmatorul reboot (sau pana o stergi cu ip addr del). Exact de aceea reboot-ul e testul mai curat cand se schimba adresa principala. Cu ifupdown2, sudo ifreload -a aplica doar diferentele.

Daca ai schimbat IP-ul principal, reconecteaza-te la adresa noua: ssh utilizator@203.0.113.10.

Intrerupere SSH aproximativa, pe metode de aplicareMetodaip addr add (live)nepersistent~0 srestart networkingtesteaza fisierul~2-5 sReboot (VPS mic)testeaza tot boot-ul~20-40 s010203040Secunde de intrerupere SSH (aproximativ)
Pasul 8: intreruperea aproximativa pentru fiecare metoda pe un VPS KVM mic. Cu cat intreruperea e mai lunga, cu atat testezi mai mult din boot-ul real.

Pasul 9: Verifica rutarea cu ip si ping, apoi dezarmeaza rollback-ul

Dupa ce te-ai reconectat, verifica adresele si rutele pe care le are efectiv kernelul:

ip -br addr show dev ens18
ip route
ip -6 route

Rezultat asteptat, aproximativ:

ens18            UP             203.0.113.10/24 198.51.100.7/32 2001:db8:10::10/64 2001:db8:10::20/64 fe80::be24:11ff:fe2a:3b4c/64
default via 203.0.113.1 dev ens18
203.0.113.0/24 dev ens18 proto kernel scope link src 203.0.113.10
2001:db8:10::/64 dev ens18 proto kernel metric 256 pref medium
fe80::/64 dev ens18 proto kernel metric 256 pref medium
default via 2001:db8:10::1 dev ens18 metric 1024 pref medium

Fiecare adresa din fisier trebuie sa fie prezenta, cu exact o ruta implicita IPv4 si una IPv6. Apoi intreaba kernelul ce drum si ce adresa sursa ar alege pentru o destinatie:

ip route get 1.1.1.1
ip -6 route get 2606:4700:4700::1111

Rezultatul (1.1.1.1 via 203.0.113.1 dev ens18 src 203.0.113.10 ...) confirma gateway-ul si adresa sursa. Acum trafic real: intai gateway-ul, apoi Internetul, apoi fiecare adresa suplimentara ca sursa, apoi DNS-ul:

ping -c 3 203.0.113.1
ping -c 3 1.1.1.1
ping -6 -c 3 2606:4700:4700::1111
ping -c 3 -I 198.51.100.7 1.1.1.1
ping -6 -c 3 -I 2001:db8:10::20 2606:4700:4700::1111
getent ahosts deb.debian.org

Fiecare ping ar trebui sa raporteze 3 received, 0% packet loss. Unele gateway-uri ignora ping-ul, deci un gateway tacut e in regula daca ping-urile spre Internet merg. getent trebuie sa afiseze adrese IPv4 si IPv6 pentru nume, dovada ca DNS-ul functioneaza. Daca pe o instalare minimala lipseste ping, il adaugi cu sudo apt install iputils-ping. La final, testeaza si din afara: de pe calculatorul tau, ping 203.0.113.10 si, daca ai IPv6 la conexiune, ping -6 2001:db8:10::10 sau ssh -6 utilizator@2001:db8:10::10.

Merge totul? Dezarmeaza rollback-ul inainte sa se declanseze:

sudo systemctl disable --now net-rollback.timer
systemctl list-timers net-rollback.timer

A doua comanda trebuie sa spuna 0 timers listed. Pastreaza cele doua fisiere de unitate pentru data viitoare, iar dupa ce noul fisier si-a dovedit stabilitatea, copiaza-l peste /root/interfaces.good, ca urmatorul rollback sa revina la versiunea asta. Daca ai folosit varianta B, planifica un reboot normal intr-un moment linistit, ca sa confirmi ca reteaua porneste corect si de la zero.

Si pe Ubuntu 24.04?

Ubuntu nu foloseste /etc/network/interfaces, iar ifupdown instalat langa netplan nu face decat sa creeze conflicte. Aceeasi configuratie in netplan merge in fisierul YAML existent din /etc/netplan/ (des 50-cloud-init.yaml; daca l-a generat cloud-init, dezactiveaza-i configurarea retelei ca la pasul 2):

network:
  version: 2
  ethernets:
    ens18:
      dhcp4: false
      dhcp6: false
      accept-ra: false
      addresses:
        - 203.0.113.10/24
        - 198.51.100.7/32
        - 2001:db8:10::10/64
        - 2001:db8:10::20/64
      routes:
        - to: default
          via: 203.0.113.1
        - to: default
          via: 2001:db8:10::1
      nameservers:
        addresses: [1.1.1.1, 2606:4700:4700::1111]

Fa fisierul citibil doar de root (sudo chmod 600 /etc/netplan/*.yaml) si aplica-l cu sudo netplan try, care are rollback incorporat: daca nu confirmi in 120 de secunde, revine configuratia veche. Pe Ubuntu, DNS-ul trece prin systemd-resolved, deci il verifici cu resolvectl status. Comenzile de verificare de la pasul 9 sunt identice.

Probleme frecvente si greseli de evitat

  • Nume gresit de interfata. Cannot find device "eth0" inseamna ca fisierul numeste o interfata care nu exista. Compara cu ip -br link. E cel mai des mod de a pierde un server.
  • Doua linii gateway pe aceeasi familie. Al doilea ip route add default esueaza cu RTNETLINK answers: File exists, iar ifup poate lasa interfata configurata pe jumatate. Tine un singur gateway IPv4 si unul IPv6, in total.
  • Gateway in afara subretelei. Unii furnizori dau un /32 cu gateway intr-un alt interval. Linia gateway esueaza atunci, pentru ca kernelul nu il poate atinge. Renunta la ea si foloseste in bloc post-up ip route add 192.0.2.1 dev ens18, urmat de post-up ip route add default via 192.0.2.1 dev ens18 (cu gateway-ul furnizorului tau).
  • Adresa IPv6 marcata tentative sau dadfailed. Verifica cu ip -6 addr show dev ens18. tentative dureaza o secunda-doua, cat kernelul cauta duplicate; dadfailed inseamna ca alta masina foloseste deja adresa, deci alege alta.
  • IPv6 nu raspunde deloc. Verifica gateway-ul cu ip -6 neigh show dev ens18. Daca apare FAILED, adresa gateway-ului e gresita sau blocul nu e inca rutat catre server: intreaba furnizorul.
  • Setari DNS ignorate sau suprascrise. Liniile dns-nameservers au nevoie de pachetul resolvconf. Daca /etc/resolv.conf se tot schimba, il scrie un client DHCP ramas pornit, cloud-init sau systemd-resolved. Un reboot dupa renuntarea la DHCP opreste clientul vechi.
  • ifup: interface ens18 already configured. ifup nu reconfigureaza o interfata pornita. Foloseste systemctl restart networking sau un reboot, ca la pasul 8.
  • Adresa veche e inca acolo dupa restart. O stergi cu sudo ip addr del 203.0.113.99/24 dev ens18 sau dai reboot.
  • Ai ramas pe dinafara. Asteapta ca timer-ul de rollback sa restaureze fisierul vechi si sa dea reboot, sau intra prin consola din panoul de control, ruleaza cp /root/interfaces.good /etc/network/interfaces si da reboot. journalctl -u networking -b iti arata ce a esuat.

Note de securitate

  • Foloseste doar adresele alocate tie. Furnizorii filtreaza traficul de pe adrese care nu sunt ale tale, iar “imprumutul” unui IP il deranjeaza pe proprietar si incalca termenii serviciului.
  • Fiecare adresa noua e o usa noua. Serviciile care asculta pe 0.0.0.0 sau :: raspund pe toate adresele, inclusiv pe IPv6-ul abia activat. Ruleaza sudo ss -tulpn si leaga serviciile de adrese anume acolo unde are sens.
  • Pune firewall si pe IPv6. ufw acopera IPv6 cand IPV6=yes in /etc/default/ufw (valoarea implicita); cu nftables, foloseste tabele inet, ca un singur set de reguli sa acopere ambele familii. Tine minte ca porturile publicate de Docker ocolesc ufw, deci nu te baza doar pe ufw pentru containere.
  • Tine router advertisements oprite pe serverele statice, ca la pasul 5, ca nimic din retea sa nu-ti poata adauga adrese sau rute pe la spate.
  • Pastreaza consola utilizabila. E calea ta de recuperare: utilizatorul cu care te loghezi acolo are nevoie de o parola functionala, chiar daca SSH-ul merge doar cu chei.
  • Seteaza reverse DNS pentru adresele care trimit email; se configureaza la furnizor, din panoul de control sau prin suport.

Deci, mai merita invatat ifupdown?

Categoric, daca administrezi servere Debian. /etc/network/interfaces e scurt, lizibil si plictisitor in sensul cel mai bun: un IPv4 static, IPv6, adrese suplimentare si DNS incap in douazeci de randuri pe care le intelegi si peste un an. Diferenta nu o face sintaxa, ci rutina din jurul ei: aduni datele, faci backup, rulezi pe uscat, armezi rollback-ul, aplici, verifici cu ip si ping si abia apoi dezarmezi. Daca lucrezi asa, schimbarea retelei unui server nu mai e un moment de panica.

Poti exersa toate astea pe un VPS de la noi, cu IPv6 inclus si consola in panoul de control exact pentru astfel de momente. Iar daca preferi ca altcineva sa planifice schimbarile de IP, adresele suplimentare si regulile de firewall pentru masinile de productie, echipa noastra de administrare servere face asta zilnic.

Intrebari frecvente

Trebuie sa dau reboot dupa ce editez /etc/network/interfaces?

Nu intotdeauna. Adaugarea de IPv6 sau de adrese suplimentare merge cu sudo systemctl restart networking. Cand se schimba adresa principala sau gateway-ul, ori treci de la DHCP la static, un reboot e mai curat si dovedeste in plus ca setarile supravietuiesc unei porniri de la zero.

Pot folosi DHCP pentru IPv4 si static pentru IPv6?

Da. Pastrezi iface ens18 inet dhcp si adaugi dedesubt un bloc iface ens18 inet6 static. Fiecare familie de adrese se configureaza independent.

Care e diferenta intre ifupdown si ifupdown2?

ifupdown2 e o rescriere care citeste aproape acelasi format de fisier si adauga ifreload -a, care aplica doar ce s-a schimbat. Il foloseste, de exemplu, Proxmox VE. Pe un VPS Debian obisnuit, ifupdown-ul implicit e perfect si nu are rost sa schimbi.

Cate adrese IP suplimentare pot adauga?

Tehnic, zeci sau sute, cate un bloc pentru fiecare. Limita reala e cate iti aloca furnizorul. Pentru blocuri mari, cere o subretea rutata si tine fisierul ordonat cu comentarii.

Avem Incredere & Suntem Membri

Suntem membri ai principalelor organizatii de infrastructura internet.

RIPE NCC MANRS PeeringDB RoTLD DSIX SBIX 4IXP LOCIX Euro-IX RIPE NCC MANRS PeeringDB RoTLD DSIX SBIX 4IXP LOCIX Euro-IX