Accedi
Accedi

Guida completa al comando nslookup in Linux e Windows

Guida completa al comando nslookup in Linux e Windows
Shahid Ali
Redattore tecnico
Rete Gestione del DNS
24.10.2025
Reading time: 5 min

Il comando nslookup è uno strumento ampiamente utilizzato per interrogare i record del Domain Name System (DNS). Aiuta gli amministratori di rete a risolvere problemi legati al DNS consentendo di eseguire vari tipi di query, dalla ricerca degli indirizzi IP associati ai nomi di dominio all’interrogazione di server DNS specifici. Questo tutorial ti guiderà attraverso le basi dell’utilizzo di nslookup su sistemi Linux e Windows.

In questo tutorial imparerai:

  • Sintassi di base e opzioni di nslookup

  • Come eseguire query DNS semplici

  • Come recuperare i record di scambio di posta (MX)

  • Come eseguire query DNS inverse

  • Come interrogare server DNS specifici

  • Come utilizzare la modalità non interattiva

Alla fine di questo tutorial conoscerai i comandi nslookup più comuni e utili per un’efficace risoluzione dei problemi DNS.

Sintassi di base e opzioni di nslookup

La sintassi di base del comando nslookup è semplice:

nslookup [opzioni] [dominio]

Ecco una panoramica delle opzioni più comunemente utilizzate:

  • Nessun parametro: apre la modalità interattiva, in cui puoi inserire più query.

  • [dominio]: esegue una query DNS per il nome di dominio specificato.

  • -type=[tipo_record]: specifica il tipo di record DNS da interrogare (ad esempio A, MX, AAAA, ecc.).

  • [server]: specifica un server DNS per la query invece di utilizzare quello predefinito del sistema.

Esempio:

nslookup example.com

Questo comando esegue una query DNS per "example.com" utilizzando il server DNS predefinito.

Opzioni comuni di nslookup

  • -query=A: interroga l’indirizzo IP (tipo di record predefinito)
  • -query=MX: recupera i record di scambio di posta
  • -query=AAAA: interroga indirizzi IPv6
  • -timeout=[secondi]: imposta un timeout per la risposta
  • -debug: mostra informazioni dettagliate sul processo di query

Come eseguire una query DNS semplice

Uno degli usi più comuni di nslookup è risolvere nomi di dominio in indirizzi IP.

Guida passo per passo per eseguire una query DNS semplice:

  1. Apri il terminale o il prompt dei comandi.

  2. Digita il comando nslookup seguito dal nome di dominio:

nslookup google.com

Output:
Image1

In questo esempio, il server DNS a 8.8.8.8 (il server DNS pubblico di Google) ha restituito l’indirizzo IP 142.250.65.238 per google.com.

Usare nslookup per recuperare i record MX

I record di scambio di posta (MX) di un dominio indicano quali server di posta sono responsabili della ricezione delle e-mail per quel dominio. Per recuperare i record MX utilizzando nslookup:

Usa l’opzione -type=MX per specificare che vuoi ottenere i record MX.

    nslookup -query=MX gmail.com

Image3

L’output elencherà i record MX, inclusi i server di posta e le loro priorità:

Server:		8.8.8.8
Address:	8.8.8.8#53

Non-authoritative answer:
gmail.com	mail exchanger = 20 alt2.gmail-smtp-in.l.google.com..
gmail.com	mail exchanger = 10 alt1.gmail-smtp-in.l.google.com.

In questo caso, i server di posta per gmail.com sono elencati insieme alle loro priorità. Più basso è il numero, maggiore è la priorità.

Eseguire query DNS inverse

Una query DNS inversa traduce un indirizzo IP nel nome di dominio associato. Questo è utile per identificare il dominio corrispondente a un determinato indirizzo IP.

Per eseguire una query DNS inversa, inserisci l’indirizzo IP nel comando nslookup:

nslookup 142.250.65.238

L’output mostrerà il nome di dominio associato all’indirizzo IP:

Image2

Non-authoritative answer:
238.65.250.142.in-addr.arpa     name = lga25s73-in-f14.1e100.net.

In questo esempio, l’indirizzo IP 142.250.65.238 si risolve in lga25s73-in-f14.1e100.net, che fa parte dell’infrastruttura di Google.

Interrogare server DNS specifici

Per impostazione predefinita, nslookup utilizza il server DNS configurato nel sistema per eseguire le query. Tuttavia, puoi specificare un server DNS diverso se necessario.

Per interrogare un server DNS specifico, aggiungi l’indirizzo IP del server al comando:

nslookup example.com 1.1.1.1

Image5

Il comando interrogherà il server DNS 1.1.1.1 (il DNS di Cloudflare) per il dominio example.com:

Server:		1.1.1.1
Address:	1.1.1.1#53

Non-authoritative answer:
Name:		example.com
Address:	93.184.215.14

Questo ti consente di testare la risoluzione DNS da diversi server.

Usare la modalità non interattiva in nslookup

In modalità non interattiva puoi eseguire più query senza entrare nella shell interattiva di nslookup. È utile per la creazione di script o per automatizzare attività.

Per usare nslookup in modalità non interattiva, indica semplicemente il nome di dominio e, facoltativamente, il server in un unico comando:

nslookup example.com 8.8.8.8

Image4

La risposta verrà stampata direttamente, senza entrare nella shell interattiva:

Server:		8.8.8.8
Address:	8.8.8.8#53

Non-authoritative answer:
Name:		example.com
Address:	93.184.215.14

Questo metodo è efficiente quando devi interrogare rapidamente record DNS senza ulteriori input.

Conclusione

Il comando nslookup è uno strumento potente e flessibile per eseguire query DNS. Che tu stia risolvendo domini, recuperando record MX o eseguendo ricerche inverse, nslookup è un comando essenziale per gli amministratori di rete. Padroneggiando le sue opzioni e la sua sintassi, potrai usare nslookup in modo efficace sia su Linux che su Windows.

In sintesi, in questo tutorial abbiamo visto:

  • Come eseguire query DNS semplici

  • Come recuperare i record MX

  • Come eseguire query DNS inverse

  • Come interrogare server DNS specifici

  • Come usare la modalità non interattiva

Rete Gestione del DNS
24.10.2025
Reading time: 5 min

Simili

Gestione del DNS

Configurazione del DNS per IPv6: Tutorial passo dopo passo

Internet sta gradualmente passando a IPv6 e un numero crescente di siti web, applicazioni e dispositivi lo sta adottando. Tuttavia, avere solo un indirizzo IPv6 non è sufficiente. Per far funzionare tutto correttamente, è necessario configurare il DNS nel modo giusto — sia lato server che sul proprio computer. Senza DNS, nessuna connessione funzionerà: il browser semplicemente non saprà dove inviare la richiesta. Ciò è particolarmente critico per IPv6. Se si dimenticano di impostare i record DNS necessari, il sito diventerà invisibile per molti utenti e persino i contenuti che prima si aprivano correttamente potrebbero smettere di funzionare sui dispositivi client. Come verificare se il tuo provider Internet supporta IPv6 Questa guida è rilevante solo se il tuo provider Internet supporta IPv6. Sistemi operativi basati su Linux Esegui il seguente comando: ip -6 addr show Se vedi indirizzi di interfaccia che iniziano con 2xxx: o 3xxx:, allora il tuo provider supporta IPv6. macOS Usa il comando: ifconfig Se il tuo provider assegna un indirizzo IPv6, apparirà simile a questo: Windows Apri il Prompt dei comandi premendo Win + R, quindi digita cmd. Inserisci il seguente comando: ipconfig Dovresti vedere un output simile a questo: Cos’è il DNS per IPv6 e perché è importante? Il DNS è come la rubrica di Internet. Quando un utente digita l’indirizzo di un sito web, il browser non sa dove andare — ha bisogno di un indirizzo IP. Il DNS traduce gli indirizzi leggibili in indirizzi IP numerici che i dispositivi e le reti possono utilizzare. Devi configurare il DNS per IPv6 in due punti: 1. Sul server (dove è ospitato il tuo sito o servizio) Ciò consente ai browser di trovare il tuo sito tramite IPv6. Se la zona DNS del tuo dominio non contiene un record AAAA con l’indirizzo IPv6 del server, i browser non sapranno nemmeno che possono usare il nuovo protocollo per accedere al tuo sito. Di conseguenza, il sito può caricarsi lentamente o non aprirsi affatto per gli utenti con accesso solo IPv6. 2. Lato client (il tuo computer o router) Anche il tuo computer deve sapere quale server DNS utilizzare per risolvere gli indirizzi dei siti in formato IPv6. Se il tuo computer o router non ha accesso a un server DNS che supporta IPv6, non potrà aprire il sito, anche se il tuo provider supporta IPv6. Devi impostare il DNS per IPv6 affinché Internet continui a funzionare in modo rapido, affidabile e senza interruzioni con il nuovo protocollo. Senza una configurazione corretta, IPv6 potrebbe essere disponibile — ma non funzionale. I migliori server DNS pubblici per IPv6 Per garantire prestazioni stabili e veloci, il dispositivo deve sapere quale server DNS interrogare. Di solito, se ne occupa il router: riceve le impostazioni dal provider e le distribuisce alla rete. Ma se il tuo provider non supporta IPv6 o il suo DNS è instabile, puoi specificare manualmente server DNS pubblici compatibili con IPv6. Questi sono indirizzi gratuiti e affidabili, accessibili ovunque nel mondo: Nome Indirizzo DNS IPv6 primario Indirizzo DNS IPv6 secondario Google DNS 2001:4860:4860::8888 2001:4860:4860::8844 Cloudflare 2606:4700:4700::1111 2606:4700:4700::1001 Quad9 2620:fe::fe 2620:fe::9 OpenDNS 2620:119:35::35 2620:119:53::53 Tutti questi servizi: supportano IPv6 senza configurazioni aggiuntive, rispondono rapidamente alle richieste in tutto il mondo, proteggono da siti falsi e dannosi (in particolare Quad9 e OpenDNS). Quando impostare manualmente il DNS Segui le istruzioni qui sotto se si verifica una delle seguenti situazioni: Il dispositivo non riceve automaticamente le impostazioni del server DNS. Il provider non supporta IPv6 a livello DNS. I siti si caricano lentamente o restituiscono errori “indirizzo non trovato”. Le sezioni successive spiegano come configurare manualmente i server DNS. Richiede solo pochi minuti e consente una connessione Internet stabile e senza errori. Configurare il DNS IPv6 su Windows Se hai accesso a Internet ma i siti non si caricano, è possibile che Windows non sappia quale server DNS utilizzare per IPv6. Puoi risolvere facilmente il problema impostando manualmente gli indirizzi corretti. Questo metodo funziona sia su Windows 10 che su Windows 11 — l’interfaccia è quasi identica. Apri Connessioni di rete: premi Win + R, digita ncpa.cpl e premi Invio. Si aprirà una finestra con tutte le connessioni (Ethernet, Wi‑Fi, ecc.). Trova la connessione attiva. Di solito si chiama “Connessione alla rete locale” o “Rete wireless”. Fai clic con il pulsante destro → seleziona Proprietà. Scegli Protocollo Internet versione 6 (TCP/IPv6). Nell’elenco dei componenti, trova questa voce e fai clic sul pulsante Proprietà. Inserisci i server DNS manualmente: Seleziona Usa i seguenti indirizzi del server DNS. Digita: Preferito: 2001:4860:4860::8888 Alternativo: 2001:4860:4860::8844 Salva le impostazioni. Fai clic su OK → OK, quindi chiudi la finestra. Windows utilizzerà ora i server DNS specificati per le connessioni IPv6. Configurare il DNS IPv6 su Linux La configurazione del DNS su Linux dipende dall’edizione che utilizzi (desktop o server) e dallo strumento di gestione della rete usato (NetworkManager, systemd-networkd o configurazione manuale). Per assicurarti che tutto funzioni correttamente con IPv6, devi determinare chi gestisce la rete e il DNS nel tuo sistema e quindi scegliere il metodo di configurazione appropriato. Come scoprire quale sistema usa la tua distribuzione Apri un terminale ed esegui: nmcli device Se il comando restituisce un elenco di interfacce e dei relativi stati, stai usando NetworkManager. Se nmcli non è installato, prova: networkctl Se vedi interfacce con lo stato routable, configured, stai usando systemd-networkd. Ubuntu Desktop, Fedora, Manjaro — utilizzo di NetworkManager Se utilizzi un ambiente grafico (GNOME, KDE, Xfce) e vedi un’icona di rete nel pannello, molto probabilmente stai usando NetworkManager. Via GUI: Vai su Impostazioni → Rete → Seleziona connessione attiva → IPv6 Nella sezione DNS: Imposta la modalità su Manuale o Avanzata Inserisci gli indirizzi DNS, ad esempio: 2001:4860:4860::8888 e 2001:4860:4860::8844 Salva e riavvia la connessione Via terminale: nmcli connection modify eth0 ipv6.dns "2001:4860:4860::8888 2001:4860:4860::8844" nmcli connection modify eth0 ipv6.ignore-auto-dns yes nmcli connection up eth0 Sostituisci eth0 con il nome effettivo dell’interfaccia (controlla con nmcli device). Ubuntu Server (18.04+, 20.04+, 22.04+) — utilizzo di Netplan Sulle edizioni server di Ubuntu, Netplan viene utilizzato per generare la configurazione per systemd-networkd. Apri il file di configurazione, ad esempio: sudo nano /etc/netplan/01-netcfg.yaml Aggiungi indirizzi IPv6 nella sezione nameservers. Rispetta rigorosamente la formattazione YAML — usa solo spazi, nessuna tabulazione. In genere, i rientri sono multipli di 4 spazi. Nel campo addresses, inserisci l’indirizzo IPv6 con /64. Nel campo gateway6, inserisci il gateway — elimina l’ultimo gruppo del tuo indirizzo IPv6 e sostituiscilo con 1 per ottenere l’indirizzo del gateway. network: version: 2 ethernets: eth0: dhcp4: true dhcp4-overrides: use-dns: false dhcp6: false addresses: - 2001:0db8:a::0370/64 gateway6: 2001:0db8:a::1       match: macaddress: <inserisci l’indirizzo MAC della tua macchina> nameservers: addresses: - 2001:4860:4860::8888 - 2001:4860:4860::8844 Applica le modifiche: sudo netplan apply Dopo aver applicato le modifiche, verifica che i server DNS corretti siano in uso. Se il campo DNS Servers mostra server errati, è probabile che vengano forniti automaticamente via DHCP. Disattivalo come segue: Assicurati dei permessi corretti sul file YAML: sudo chmod 600 /etc/netplan/01-netcfg.yaml Elimina il vecchio resolv.conf e crea un collegamento simbolico: sudo rm -f /etc/resolv.conf sudo ln -s /run/systemd/resolve/resolv.conf /etc/resolv.conf Se ricevi l’errore “Unable to resolve host”, aggiungi l’hostname in /etc/hosts: HOSTNAME=$(hostname) sudo sed -i "/127.0.1.1/d" /etc/hosts echo "127.0.1.1 $HOSTNAME" | sudo tee -a /etc/hosts Abilita systemd-resolved (se non lo è già): sudo systemctl enable systemd-resolved --now Applica la configurazione e riavvia i servizi: sudo netplan apply sudo systemctl restart systemd-networkd sudo systemctl restart systemd-resolved Verifica il risultato: resolvectl status resolvectl dns A questo punto, il DNS basato su DHCP dovrebbe essere completamente disattivato. Sistemi moderni con systemd-resolved Se il tuo sistema usa direttamente systemd-resolved (ad esempio Arch Linux o Ubuntu con systemd), puoi definire il DNS tramite file di configurazione. Apri il file di configurazione: sudo nano /etc/systemd/resolved.conf Aggiungi le seguenti righe: [Resolve] DNS=2001:4860:4860::8888 2001:4860:4860::8844 FallbackDNS=2606:4700:4700::1111 Riavvia il servizio: sudo systemctl restart systemd-resolved Configurazione manuale tramite resolv.conf — se nient’altro funziona A volte è più semplice apportare modifiche direttamente in /etc/resolv.conf, specialmente in sistemi minimi o container. Apri il file: sudo nano /etc/resolv.conf Aggiungi le righe: nameserver 2001:4860:4860::8888 nameserver 2001:4860:4860::8844 Tieni presente che il sistema sovrascrive spesso questo file. Per preservare le impostazioni: sudo chattr +i /etc/resolv.conf Configurare il DNS IPv6 su un router Se hai già configurato il DNS IPv6 su server e PC, ma il sito continua a non aprirsi tramite il nuovo protocollo, controlla le impostazioni del router. Il router distribuisce Internet e indica ai dispositivi dove inviare le query DNS. Se sul router non sono impostati server DNS compatibili con IPv6, i dispositivi domestici potrebbero ancora usare il vecchio protocollo — anche se il provider è passato a IPv6. Dove trovare le impostazioni DNS IPv6 Dipende dal modello, ma il percorso tipico è: Impostazioni router → Internet / WAN → IPv6 → DNS. Se c’è una scheda DNS separata, aprila. Alcuni modelli nascondono questi parametri nelle sezioni Avanzate. Esempio: Router TP‑Link Vai all’interfaccia del router: 192.168.0.1 o tplinkwifi.net Inserisci nome utente e password Vai su Avanzate → IPv6 Abilita IPv6 — di solito è disattivato di default Nelle impostazioni WAN, seleziona Configura manualmente il server DNS Inserisci gli indirizzi DNS IPv6 scelti, ad esempio: 2001:4860:4860::8888 2001:4860:4860::8844 Salva le modifiche e riavvia il router. Esempio: Router Keenetic Vai su my.keenetic.net Dal menu seleziona Internet → Connessione Vai alla scheda Server DNS Seleziona Manuale Inserisci indirizzi IPv6 (ad es. Google DNS) Applica le modifiche e riavvia il router Cosa fare se il DNS non accetta IPv6 Verifica che il router supporti IPv6 (non tutti i modelli più vecchi lo fanno). Assicurati che il provider abbia assegnato un indirizzo IPv6 globale (e non solo fe80::). Prova ad aggiornare il firmware del router — spesso risolve il problema. Come testare il DNS su IPv6 Testare il DNS su IPv6 è facile — sia nel browser che da terminale. Bastano pochi minuti e aiuta a capire rapidamente dove si trova il problema: nel DNS, nella rete o in IPv6 stesso. Nel browser Il metodo più semplice è aprire il sito di test: test-ipv6.com La pagina mostrerà: Se è disponibile una connessione IPv6. Quale protocollo è usato di default (IPv4 o IPv6). Se il DNS su IPv6 funziona. Se i siti più popolari hanno record AAAA. Se tutto è verde, funziona tutto correttamente. Se c’è un errore, il sito indicherà qual è il problema. Nel terminale (Linux, macOS) Controlla il record DNS AAAA: dig AAAA google.com Se la risposta include un indirizzo IPv6 (ad es. 2a00:1450:4009::200e), allora il DNS su IPv6 funziona. Verifica quali server DNS sono in uso: resolvectl status Questo mostra le interfacce attive e i server DNS (inclusi quelli IPv6). Verifica se il traffico passa su IPv6: ping6 google.com Oppure: curl -6 https://ifconfig.co Se il comando mostra un indirizzo IPv6, la connettività IPv6 è attiva. Risoluzione dei problemi comuni Di seguito una tabella rapida per risolvere i problemi più frequenti durante la configurazione del DNS IPv6: Sintomo Problema Soluzione I siti si aprono, ma lentamente. ping6 funziona, ma ping è più veloce. Il browser prova prima IPv6, poi ricade su IPv4. Il DNS risponde troppo lentamente. Spesso è colpa del DNS predefinito del provider. Passa a un DNS pubblico veloce. Vedi “Configurare il DNS IPv6 su Windows” o “Configurare il DNS IPv6 su Linux”. ping6 google.com → Name or service not known Il client DNS non riceve risposte IPv6: indirizzi del server errati o IPv6 disattivato sull’interfaccia. Verifica IPv6 con ip -6 addr. Assicurati che resolvectl status mostri un DNS IPv6. In caso contrario, impostane uno manualmente (vedi guide Windows o Linux). Internet smette di funzionare dopo netplan apply. Errore di sintassi nel file YAML o gateway mancante. Controlla con netplan try. In caso di errore, ripristina e applica con attenzione. Correggi refusi e rientri — usa due spazi per livello. Nessuna connessione attiva nella GUI di Ubuntu. Netplan usa systemd-networkd, mentre la GUI si aspetta NetworkManager. Modifica Netplan per un setup server, oppure installa NetworkManager e imposta renderer: NetworkManager. nslookup -type=AAAA site.com in Windows mostra “Domain inesistente”. Il router non ha DNS IPv6 impostato, o il firmware non supporta il protocollo. Accedi al router → “IPv6” → “DNS” → inserisci Cloudflare o Google DNS. Aggiorna il firmware se manca del tutto la sezione “IPv6”. Il container Docker ignora il DNS IPv6. Il demone Docker usa un proprio resolv.conf copiato all’avvio. Aggiungi l’indirizzo DNS a /etc/docker/daemon.json, o passalo al lancio del container: docker run --dns 2606:4700:4700::1111 alpine systemd-resolved continua a memorizzare un errore SERVFAIL. Un DNS upstream ha fallito; la risposta fallita è in cache. Svuota la cache e cambia DNS: sudo resolvectl flush-caches sudo systemd-resolve --set-dns=2001:4860:4860::8888 --interface=eth0 Un sito con HSTS si carica in HTTPS solo su IPv4. Il certificato ha solo un record A; manca l’AAAA — il browser non si fida. Emetti un certificato valido per entrambe le versioni IP. Per Let’s Encrypt:  sudo certbot --preferred-challenges http -d site.com -d '*.site.com' ping6 verso un host locale funziona, ma “Network unreachable” verso Internet. Il provider ha assegnato un prefisso ma nessun gateway (gateway6 non impostato). Aggiungi manualmente un gateway: gateway6: 2a03:6f01:1:2::1 Applica: sudo netplan apply Presente indirizzo IPv6, ma le query DNS vanno a 192.168.0.1. Il router distribuisce DNS IPv4 via DHCPv6 Option 23; il sistema gli dà priorità maggiore. Imposta manualmente DNS IPv6 con priorità più alta: sudo resolvectl dns-priority eth0 0 dig @2606:4700:4700::1111 google.com funziona, ma dig google.com no. systemd-resolved ascolta su 127.0.0.53, ma un firewall locale blocca i pacchetti DNS in uscita. Consenti traffico in uscita sulla porta 53 (UDP e TCP) o disattiva UFW: sudo ufw allow out 53 Confronta il tuo sintomo con la prima colonna e controlla la diagnosi rapida nella seconda. Esegui i comandi della terza colonna e verifica il risultato. Se il problema non si risolve, torna ai passaggi di configurazione del DNS. Conclusione La transizione a IPv6 è lenta, ma inevitabile. Sempre più provider assegnano solo indirizzi IPv6, più provider di hosting operano in Dual Stack e più servizi verificano di default il supporto a IPv6. E se il DNS è configurato male, le connessioni falliscono, i siti non si caricano e gli utenti passano a servizi che funzionano. La buona notizia? Bastano 5–10 minuti: Aggiungi un record AAAA nel pannello di hosting; Imposta server DNS pubblici affidabili su server, router e dispositivi client; Controlla il risultato — e dimentica il problema. IPv6 non riguarda il futuro — significa garantire che il tuo sito, servizio o rete domestica funzioni in modo affidabile già adesso. E un DNS correttamente configurato è il tuo biglietto per questo nuovo Internet. E se cerchi una soluzione affidabile, ad alte prestazioni e conveniente per i tuoi workflow, Hostman ti offre opzioni di Hosting VPS Linux, inclusi Debian VPS, Ubuntu VPS e VPS CentOS.
20 October 2025 · 14 min to read
Sistema: Linux

Come aprire le porte e visualizzare le porte aperte in Linux

Quando si lavora con le reti in Linux, può essere necessario aprire o chiudere una porta di rete. La gestione delle porte è fondamentale per la sicurezza: meno porte aperte ha un sistema, minori sono i potenziali vettori di attacco. Inoltre, se una porta è chiusa, un utente malintenzionato non può raccogliere informazioni sul servizio in esecuzione su quella porta specifica. Questa guida spiega come aprire o chiudere le porte e come verificare le porte aperte su distribuzioni Linux come Ubuntu/Debian e CentOS/RHEL utilizzando firewall come ufw, firewalld e iptables. Dimostreremo questo processo su due distribuzioni Linux: Ubuntu 22.04 e CentOS 9, eseguite su un VPS Hostman. Tutti i comandi forniti qui funzionano su qualsiasi distribuzione basata su Debian o RHEL. Cos’è una porta di rete? Le porte vengono utilizzate per accedere ad applicazioni e protocolli specifici. Ad esempio, un server può ospitare sia un server web che un database — le porte instradano il traffico verso il servizio appropriato. Tecnicamente, una porta di rete è un numero intero non negativo compreso tra 0 e 65535. Porte riservate (0–1023): utilizzate da protocolli e servizi di rete noti come SSH (porta 22), FTP (porta 21), HTTP (porta 80) e HTTPS (porta 443). Porte registrate (1024–49151): possono essere utilizzate da applicazioni specifiche per la comunicazione. Porte dinamiche (49152–65535): utilizzate per connessioni temporanee e assegnate dinamicamente alle applicazioni. Come aprire le porte nelle distribuzioni Linux basate su Debian Nei sistemi basati su Debian (Ubuntu, Debian, Linux Mint, ecc.), puoi utilizzare ufw (Uncomplicated Firewall). ufw è preinstallato nella maggior parte delle distribuzioni basate su APT. Per verificare se è installato: ufw version Se viene visualizzata una versione, ufw è installato. In caso contrario, installalo con: apt update && apt -y install ufw Per impostazione predefinita, ufw è inattivo, il che significa che tutte le porte sono aperte. Puoi verificarne lo stato con: ufw status Per attivarlo: ufw enable Dovrai confermare con y. Nota che l’attivazione di ufw può interrompere le connessioni SSH attive. Per impostazione predefinita, ufw blocca tutto il traffico in ingresso e consente tutto il traffico in uscita. Per controllare la politica predefinita: cat /etc/default/ufw Aprire le porte con ufw Per aprire una porta: ufw allow <port_number> Esempio — aprire la porta 22 per SSH: ufw allow 22 Puoi aprire più porte separandole con virgole e specificando il protocollo (tcp o udp): ufw allow 80,443,8081,8443/tcpufw allow 80,443,8081,8443/udp Invece dei numeri di porta, puoi usare il nome del servizio (definito in /etc/services).  Esempio — aprire Telnet (porta 23): ufw allow telnet Nota: Non puoi specificare più nomi di servizio contemporaneamente; ufw restituirà un errore: Per aprire un intervallo di porte: ufw allow <start_port>:<end_port>/<protocol> Esempio: ufw allow 8000:8080/tcp Chiudere le porte con ufw Per chiudere una porta: ufw deny <port_number> Esempio — chiudere la porta 80: ufw deny 80 Puoi anche usare il nome del servizio. Esempio — chiudere FTP (porta 21): ufw deny ftp Visualizzare le porte aperte con ufw Per elencare tutte le porte aperte e chiuse: ufw status Oppure per una visualizzazione più dettagliata: ufw status verbose Aprire una porta nelle distribuzioni Linux basate su RHEL Le distribuzioni basate su RHEL (CentOS 7+, RHEL 7+, Fedora 18+, OpenSUSE 15+) utilizzano firewalld come impostazione predefinita. Aprire le porte con firewalld Verifica se firewalld è installato: firewall-offline-cmd -V Se viene visualizzata una versione, firewalld è installato. In caso contrario, installalo: dnf install firewalld Per impostazione predefinita, firewalld è disabilitato. Controllane lo stato: firewall-cmd --state Per abilitarlo: systemctl start firewalld Aprire la porta 8080 per TCP: firewall-cmd --zone=public --add-port=8080/tcp --permanent --zone=public: specifica la zona per la regola. --add-port=8080/tcp: specifica la porta e il protocollo. --permanent: salva la regola in modo permanente. Puoi anche aprire un servizio utilizzando il suo nome, ad esempio HTTP (porta 80): firewall-cmd --zone=public --add-service=http --permanent Applicare le modifiche: firewall-cmd --reload Chiudere le porte con firewalld Per chiudere una porta per numero: firewall-cmd --zone=public --remove-port=8080/tcp --permanent Oppure per nome del servizio: firewall-cmd --zone=public --remove-service=http --permanent Ricarica sempre dopo le modifiche: firewall-cmd --reload Elencare le porte aperte con firewalld Per elencare tutte le porte aperte: firewall-cmd --list-ports Gestire le porte con iptables A differenza di ufw e firewalld, iptables è preinstallato in molte distribuzioni (Ubuntu, Debian, RHEL, Rocky Linux, AlmaLinux). Aprire le porte con iptables Per aprire la porta 8182 per connessioni in ingresso: iptables -A INPUT -p tcp --dport 8182 -j ACCEPT -A INPUT: aggiunge una regola alla catena INPUT. -p tcp: specifica il protocollo. --dport 8182: specifica la porta da aprire. -j ACCEPT: consente il traffico attraverso la porta. Per le connessioni in uscita: iptables -A OUTPUT -p tcp --dport 8182 -j ACCEPT Per aprire un intervallo di porte: iptables -A INPUT -p tcp --match multiport --dports 1024:2000 -j ACCEPT Chiudere le porte con iptables Per chiudere una porta: iptables -A INPUT -p tcp --dport 8182 -j DROP Chiudere un intervallo di porte: iptables -A INPUT -p tcp --match multiport --dports 1024:2000 -j DROP Salvare le regole di iptables Per impostazione predefinita, le regole di iptables sono valide solo fino al riavvio del server. Per salvarle in modo permanente, installa iptables-persistent: Per i sistemi basati su APT: apt update && apt -y install iptables-persistent Per i sistemi basati su DNF: dnf -y install iptables-persistent Salvare le regole attuali: iptables-save Le regole verranno caricate automaticamente al successivo riavvio. Visualizzare le porte aperte con iptables Elencare tutte le regole e le porte aperte: iptables -L -v -n Elencare solo le regole IPv4: iptables -S Elencare le regole IPv6: ip6tables -S Conclusione In questa guida abbiamo mostrato come aprire e chiudere le porte di rete in Linux e come controllare le porte attualmente aperte utilizzando tre strumenti diversi: ufw, firewalld e iptables. Una corretta gestione delle porte riduce il rischio di potenziali attacchi alla rete e aiuta a nascondere le informazioni sui servizi che utilizzano tali porte.
10 October 2025 · 6 min to read

Hai domande,
commenti o dubbi?

I nostri professionisti sono disponibili per assisterti in ogni momento,
che tu abbia bisogno di aiuto o non sappia da dove iniziare.
Inviaci un'email
Hostman's Support