Learning Center
Sistema: Linux

Come aprire una porta su Linux

29 ott 2025
Awais Khan
Awais Khan

Aprire le porte in Linux è un’operazione fondamentale che consente a determinati servizi o applicazioni di scambiare dati sulla rete.

Le porte agiscono come canali di comunicazione, permettendo l’accesso ai servizi autorizzati e bloccando quelli non autorizzati. La loro corretta gestione garantisce sicurezza, buone prestazioni e funzionamento stabile delle applicazioni.

Comprendere le porte e la loro funzione
Copia link

Le porte sono gli endpoint logici della comunicazione di rete, attraverso i quali i dispositivi inviano e ricevono informazioni.

Esempi comuni:

  • HTTP → Porta 80

  • HTTPS → Porta 443

  • SSH → Porta 22

Una porta aperta indica che un servizio è in ascolto e accetta connessioni in ingresso. Una porta chiusa, invece, blocca la comunicazione. Per garantire sicurezza e disponibilità dei servizi, è fondamentale gestire correttamente le porte aperte su Linux.

Verificare le porte aperte su Linux
Copia link

Prima di aprire una nuova porta, conviene controllare quali porte sono già attive. Puoi farlo con diversi comandi Linux.

Con netstat
Copia link

Per mostrare le porte aperte, esegui:

netstat -tuln
  • L’opzione -tuln limita l’output alle porte TCP e UDP, senza risolvere i nomi host.

  • netstat offre una panoramica in tempo reale delle connessioni attive.

Image1

Nota: se netstat non è installato:

sudo apt install net-tools

Con ss
Copia link

Il comando ss è una versione più moderna e veloce di netstat:

ss -tuln

Image3

Mostra le porte attualmente in uso e le relative informazioni sui socket.

Con nmap
Copia link

Per un’analisi più approfondita:

nmap localhost

nmap esegue una scansione dell’host specificato (in questo caso localhost) per individuare le porte aperte — utile per capire quali servizi sono esposti alla rete pubblica.

Image2

Nota: installa nmap con:

sudo apt install nmap

Aprire porte su Linux
Copia link

Per consentire l’accesso attraverso una porta specifica, occorre modificare le regole del firewall. Linux offre vari strumenti: iptables, ufw e firewalld.

Ecco come utilizzarli.

Metodo 1: con iptables
Copia link

iptables è un potente strumento a basso livello che offre un controllo preciso sul traffico di rete.

Aggiungere una regola per una porta specifica

Esempio: aprire la porta 8080 per traffico HTTP:

sudo iptables -A INPUT -p tcp --dport 8080 -j ACCEPT

Spiegazione:

  • sudo: esegue il comando come amministratore

  • -A INPUT: aggiunge la regola alla catena di input (traffico in ingresso)

  • -p tcp: si applica al protocollo TCP

  • --dport 8080: specifica la porta 8080

  • -j ACCEPT: accetta il traffico corrispondente alla regola

Queste modifiche non sono permanenti: dopo il riavvio del sistema, le regole vengono cancellate.

Image5

Salvare la configurazione

Per rendere le regole permanenti:

sudo apt install iptables iptables-persistent
sudo netfilter-persistent save

Image4

Le regole vengono così memorizzate e ricaricate automaticamente a ogni riavvio.

Ricaricare le modifiche

sudo netfilter-persistent reload

Image7

Metodo 2: con ufw (Uncomplicated Firewall)
Copia link

ufw è un’interfaccia semplificata per iptables che permette di gestire facilmente le regole del firewall.

Abilitare ufw

sudo ufw enable

Image6

Se non è installato:

sudo apt install ufw

Aprire una porta specifica

Esempio: consentire connessioni SSH sulla porta 22:

sudo ufw allow 22/tcp

Questo comando autorizza il traffico TCP in ingresso sulla porta 22.

Image9

Verificare lo stato del firewall

sudo ufw status

Mostra tutte le regole attive e le porte aperte.

Image8

Metodo 3: con firewalld
Copia link

firewalld è un demone firewall dinamico che semplifica la gestione delle regole.

Aggiungere una regola permanente

Esempio: aprire la porta 443 (HTTPS):

sudo firewall-cmd --permanent --add-port=443/tcp

Image12

Installazione e avvio di firewalld:

sudo apt install firewalld
sudo systemctl enable firewalld
sudo systemctl start firewalld

Ricaricare le regole

sudo firewall-cmd --reload

Image10

Verificare che la porta sia aperta

sudo firewall-cmd --list-all

Visualizza tutte le zone e le regole attive, incluse le porte aperte.

Image11

Testare la porta aperta
Copia link

Dopo aver aperto una porta, assicurati che sia effettivamente accessibile.

Con telnet

telnet localhost port_number

Se la connessione va a buon fine, la porta è aperta e operativa.

Image13

Con nmap
Copia link

nmap -p port_number localhost

Scansiona il port specificato per verificarne la disponibilità.

Image14

Con curl
Copia link

curl localhost:port_number

Una risposta positiva indica che il servizio è attivo sulla porta aperta.

Image15

Risoluzione dei problemi comuni
Copia link

Se l’apertura di una porta non funziona:

Controlla le regole del firewall

  • iptables -L
  • ufw status

Verifica lo stato del servizio

  • systemctl status <nome_servizio>

Aprire porte in base al protocollo
Copia link

A seconda del servizio, può essere richiesto TCP o UDP.

Porta TCP
Copia link

Esempio: consentire il traffico MySQL sulla porta 3306:

sudo ufw allow 3306/tcp

Image16

Porta UDP
Copia link

Esempio: aprire la porta 161 per SNMP:

sudo ufw allow 161/udp

Image17

Gestire l’accessibilità delle porte
Copia link

Limitare l’accesso a un indirizzo IP specifico

sudo ufw allow from 192.168.1.100 to any port 22

Permette l’accesso SSH solo da quell’indirizzo IP, migliorando la sicurezza.

Image18

Chiudere una porta
Copia link

sudo ufw deny 80/tcpBlocca il traffico in ingresso sulla porta 80 (HTTP).

Image19

Conclusione
Copia link

Verificare e aprire le porte in Linux è essenziale per garantire il corretto funzionamento della rete e la sicurezza dei servizi. Con strumenti come iptables, ufw e firewalld puoi controllare il traffico in modo preciso e sicuro. Effettua sempre test con nmap, curl o telnet per assicurarti che le configurazioni siano corrette. Una buona gestione delle porte è la base per server affidabili, connessioni sicure e prestazioni ottimali.