51 06/04/2026 07/04/2026 8 min

Configurare IP aggiuntivi su Debian 11: scelta del metodo

Su Debian 11 puoi assegnare più indirizzi IP alla stessa interfaccia in due modi: temporaneo via iproute2 oppure persistente tramite la configurazione di rete. La scelta dipende da cosa devi fare: test rapido, migrazione, hosting multi-IP, servizi separati su IP distinti, oppure configurazione definitiva dopo manutenzione.

Se lavori su un server in produzione, la regola è semplice: prima osservi lo stato attuale, poi fai il cambio minimo e reversibile, infine verifichi che il traffico risponda sull’IP nuovo senza rompere quello esistente.

Verifica dello stato attuale

Prima di toccare la rete, identifica interfaccia, gateway e indirizzi già presenti. Su Debian 11 il comando più utile è ip.

ip addr show

Atteso: vedi l’interfaccia corretta, ad esempio ens18, eth0 o simile, con l’IP primario già assegnato. Se non sei sicuro del nome, usa:

ip link show

Controlla anche la route attiva:

ip route show

Se il server è accessibile via SSH, annota l’IP da cui sei collegato e tieni una sessione di emergenza aperta. Se possibile, usa console out-of-band o pannello provider come piano di rollback operativo.

Aggiungere un IP in modo temporaneo

Questo metodo non sopravvive al reboot. È il più sicuro per validare che l’IP sia corretto, che la subnet sia giusta e che il provider lo instradi verso la tua macchina.

  1. Aggiungi l’indirizzo all’interfaccia corretta.
sudo ip addr add 203.0.113.20/24 dev ens18

Sostituisci 203.0.113.20/24 e ens18 con i tuoi valori reali.

  1. Verifica che l’IP sia presente.
ip addr show dev ens18

Atteso: compare una seconda riga inet 203.0.113.20/24 sotto la stessa interfaccia.

  1. Testa la raggiungibilità locale e dall’esterno.
ping -c 3 203.0.113.20

Se il provider e il routing sono corretti, il ping risponde. Se non risponde, non dare per scontato che sia un problema del server: può essere ARP, anti-spoofing, subnet errata o IP non assegnato dal pannello.

Per vedere se il servizio ascolta sull’IP nuovo:

ss -lntup

Atteso: il servizio è in ascolto su 0.0.0.0, sull’IP specifico, o sulla porta prevista. Se ascolta solo su 127.0.0.1, l’IP aggiunto non basta: devi cambiare la bind dell’applicazione.

Configurazione persistente con ifupdown

Su Debian 11 il metodo tradizionale è /etc/network/interfaces se usi ifupdown. È ancora comune su server classici.

Prima di modificare, fai una copia del file:

sudo cp /etc/network/interfaces /etc/network/interfaces.bak.$(date +%F-%H%M)

Poi aggiungi l’IP come alias o indirizzo secondario nella stanza dell’interfaccia. Esempio tipico:

auto ens18
iface ens18 inet static
    address 203.0.113.10/24
    gateway 203.0.113.1
    dns-nameservers 1.1.1.1 8.8.8.8

    up ip addr add 203.0.113.20/24 dev ens18
    down ip addr del 203.0.113.20/24 dev ens18

Questa forma funziona, ma va usata con attenzione: il blocco up/down è semplice, però dipende dall’ordine di avvio e può essere meno elegante di una configurazione nativa del gestore rete. Se vuoi un approccio più pulito, in alcuni casi conviene definire l’IP secondario direttamente nel sistema di gestione rete che stai usando.

Riavvia il servizio di rete solo se hai una finestra di rischio accettabile:

sudo systemctl restart networking

Blast radius: può interrompere la connettività remota, soprattutto se l’interfaccia di management passa da qui. Rollback: ripristina il backup e riavvia networking da console locale o IPMI.

Verifica subito dopo:

ip addr show dev ens18
ip route show

Atteso: l’IP aggiuntivo resta presente dopo il riavvio del servizio o del server.

Configurazione persistente con systemd-networkd

Se il sistema usa systemd-networkd, la configurazione si fa in /etc/systemd/network/. È una soluzione più pulita su installazioni moderne, soprattutto se la rete è gestita senza strumenti legacy.

Controlla prima se networkd è attivo:

systemctl is-active systemd-networkd

Atteso: active. Se non lo è, non forzare questo metodo senza capire chi gestisce davvero la rete.

Esempio di file /etc/systemd/network/10-ens18.network:

[Match]
Name=ens18

[Network]
Address=203.0.113.10/24
Address=203.0.113.20/24
Gateway=203.0.113.1
DNS=1.1.1.1
DNS=8.8.8.8

Dopo il salvataggio, ricarica la configurazione:

sudo systemctl restart systemd-networkd

Verifica:

networkctl status ens18
ip addr show dev ens18

Atteso: entrambi gli indirizzi compaiono e la route di default resta corretta.

Configurazione persistente con NetworkManager

Su server è meno frequente, ma se il sistema usa NetworkManager puoi aggiungere l’IP anche da lì. Conviene farlo solo se NetworkManager è davvero il gestore attivo, altrimenti rischi conflitti.

Verifica con:

systemctl is-active NetworkManager

Se è attivo, puoi usare nmcli:

nmcli con show

Individua il nome della connessione, poi aggiungi l’indirizzo secondario:

sudo nmcli con mod "Wired connection 1" +ipv4.addresses 203.0.113.20/24

Se serve anche il gateway o DNS, non riscriverli alla cieca: controlla prima i valori già presenti con nmcli con show "Wired connection 1".

Applica la connessione:

sudo nmcli con up "Wired connection 1"

Verifica con ip addr show e con una prova di servizio sull’IP nuovo.

Test di connettività e pubblicazione servizi

Un IP aggiuntivo è utile solo se il traffico arriva davvero al servizio. Dopo la configurazione, controlla tre livelli: stack di rete, ascolto del servizio, risposta HTTP o TCP.

  1. Verifica che l’IP esista sulla macchina.
ip addr show dev ens18
  1. Verifica che il servizio ascolti sulla porta giusta.
ss -lntp | grep ':80\|:443\|:25\|:587'
  1. Testa la risposta locale e remota.
curl -I --connect-timeout 5 http://203.0.113.20

Se usi HTTPS e il certificato è legato al nome DNS, il test con IP diretto può dare avvisi TLS: è normale. In quel caso verifica con il nome corretto e, se serve, forzando l’header Host solo per il test.

curl -I --resolve example.com:443:203.0.113.20 https://example.com

Atteso: risposta HTTP coerente, senza 5xx e senza redirect inattesi verso un altro IP non previsto.

DNS, reverse DNS e servizi multi-IP

Se l’IP aggiuntivo deve servire un sito o un servizio pubblico, devi allineare anche il DNS. Un IP configurato bene sul server ma non pubblicato in DNS resta invisibile agli utenti.

Per un sito web, verifica il record A o AAAA sul nome corretto. Per servizi mail, controlla anche reverse DNS e coerenza tra hostname, PTR e banner SMTP. Per hosting multi-sito, spesso ogni IP ha un uso specifico: web, mail, pannello, backup o segregazione clienti.

Se devi cambiare il DNS, fai prima un TTL basso e pianifica una finestra di propagazione. Non dare per scontato che il provider aggiorni subito il reverse DNS: spesso è un’operazione separata nel pannello.

IPv6 aggiuntivo su Debian 11

Lo stesso principio vale per IPv6. Se il provider ti assegna un prefisso, puoi aggiungere un indirizzo secondario sull’interfaccia.

sudo ip -6 addr add 2001:db8:1234::20/64 dev ens18

Verifica con:

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

Atteso: il server risponde sul nuovo indirizzo e la route IPv6 resta corretta. Se il prefisso è delegato e non on-link, la procedura cambia: non improvvisare il netmask senza conferma del provider.

Problemi frequenti e come leggerli

Se l’IP non risponde, la causa più comune non è il comando, ma il contesto di rete.

  • Subnet errata: l’IP è stato assegnato con prefisso sbagliato. Verifica il CIDR nel pannello provider e confrontalo con ip addr.
  • Anti-spoofing / MAC binding: alcuni provider richiedono che l’IP sia autorizzato sul pannello o associato a un MAC specifico.
  • Route mancante: il server ha l’IP, ma non ha gateway o default route corretti.
  • Firewall locale: ufw, nftables o regole cloud bloccano la porta.
  • Servizio non in ascolto: il demone è bindato solo su localhost o su un altro IP.

Per capire dove si rompe il flusso, usa un test sintetico:

curl -4 -I http://203.0.113.20
curl -6 -I http://[2001:db8:1234::20]

Se l’IP risponde localmente ma non dall’esterno, il problema è quasi sempre tra edge e origin: routing, firewall, security group o policy del provider.

Rollback pulito

Se il cambio non è quello atteso, torna indietro in modo reversibile.

  1. Rimuovi l’IP temporaneo.
sudo ip addr del 203.0.113.20/24 dev ens18
  1. Ripristina il file di configurazione dal backup, se hai modificato /etc/network/interfaces o file equivalenti.
sudo cp /etc/network/interfaces.bak.YYYY-MM-DD-HHMM /etc/network/interfaces
  1. Riavvia il gestore rete solo dopo aver confermato l’accesso alternativo alla macchina.
sudo systemctl restart networking

Se usi systemd-networkd o NetworkManager, ripristina il file corrispondente e ricarica il servizio relativo. Conserva sempre una sessione di emergenza prima del restart.

Esempio pratico completo

Scenario tipico: un server Debian 11 ha IP primario 203.0.113.10/24 su ens18 e devi aggiungere 203.0.113.20/24 per un secondo sito.

  1. Controlli lo stato attuale con ip addr show e ip route show.
  2. Aggiungi temporaneamente l’IP con ip addr add.
  3. Verifichi che il server risponda sul nuovo IP.
  4. Rendi persistente la modifica nel gestore rete effettivo.
  5. Aggiungi o aggiorni il record DNS del dominio collegato.
  6. Controlli che Apache, Nginx o il servizio interessato ascolti sull’IP o su 0.0.0.0.
  7. Se tutto è stabile, rimuovi eventuali configurazioni duplicate o obsolete.

Questo approccio riduce il rischio: prima validi la rete, poi rendi permanente la modifica.

Note operative su hosting e servizi web

Se usi Apache o Nginx con più IP, può servirti una configurazione di virtual host per indirizzo. In quel caso l’IP aggiuntivo non basta: devi anche definire il binding del vhost e verificare che il certificato TLS sia coerente con il nome host servito.

Per mail server, l’IP secondario spesso ha senso per separare traffico web e SMTP, ma richiede attenzione su PTR, SPF, DKIM e reputazione. Non spostare la posta su un IP nuovo senza verificare che il reverse DNS sia stato impostato dal provider.

Per ambienti con CDN o reverse proxy, l’IP del server origin può non essere pubblico agli utenti finali. In quel caso l’IP aggiuntivo può servire per management, backend o servizi interni, ma va protetto con firewall e accesso ristretto.

Regola pratica finale

Su Debian 11, aggiungere un IP extra è semplice solo se sai già quale gestore rete è in uso e chi deve ascoltare su quell’indirizzo. La sequenza giusta è: verifica, aggiunta temporanea, test, persistenza, DNS, controllo applicativo.

Assunzione: l’interfaccia è Ethernet classica e il provider ti ha già autorizzato l’IP aggiuntivo sulla tua macchina.