Come aprire le porte in Linux
Linux Ubuntu Nozioni Di Base Di Ubuntu Eroe / / March 02, 2022
Ultimo aggiornamento il
Se stai cercando di consentire connessioni esterne a un PC o server, dovrai aprire la porta giusta. Gli utenti Linux possono aprire le porte usando questa utile guida.
Devi connetterti a un PC o server esterno o hai bisogno di un altro PC o server per collegarti a te? Se stai utilizzando Linux, dovrai assicurarti che la porta giusta sia aperta.
Mentre altri sistemi operativi di solito hanno uno strumento grafico per questo, Linux non è così semplice. Di seguito ti guideremo attraverso come aprire le porte in Linux.
Che cos'è una porta e perché dovrei aprirla?
Una porta è un punto finale della rete. Pensala come una porta che conduce a una stanza particolare o al mondo esterno, ma sul tuo computer. Tutto ciò che fai su Internet utilizza una particolare porta o serie di porte.
Ad esempio, supponiamo che tu voglia eseguire il tuo server Minecraft. Per fare ciò, dovrai aprire una porta per consentire agli utenti di connettersi ad essa. Lo stesso vale per l'esecuzione del proprio server Web, di posta o FTP.
I porti sono standardizzato su tutti i collegamenti in rete dispositivi. Le prime 1.024 porte (da 0 a 1023) sono denominate numeri di porta noti. Sono riservati ai servizi più comunemente utilizzati, come HTTP e HTTP (rispettivamente porta 80 e 443) e SSH (porta 22).
I numeri di porta superiori a 1024 sono indicati come porti effimerie sono generalmente disponibili per l'uso per i tuoi giochi online, server Web privati e così via. Vengono chiamati i numeri di porta da 1024 a 49151 registrato o porte utente, mentre quelli da 49152 a 65535 sono detti dinamico o porti privati.
Elenco di porte aperte su Linux
Prima di iniziare a provare ad aprire una porta su Linux, dovresti assicurarti che non sia già in uso. Puoi farlo usando il netstat comando, incluso nella maggior parte delle distribuzioni Linux. Se la tua distribuzione non ha netstat, Puoi usare ss invece.
netstat -lntu.
Questo stamperà tutte le prese di ascolto (-l), insieme al numero di porta (-n). Include porte TCP (-T) e UDP (-u). Se il tuo sistema non ha netstat, usa ss con gli stessi parametri.
ss -lntu.
Come aprire le porte in Linux
Per il bene di questo esempio, assumiamo di voler aprire la porta 4000 alle connessioni TCP. Per prima cosa dobbiamo assicurarci che la porta non sia già in uso. Lo facciamo attraverso netstat o ss.
netstat -na | grep :4000. ss -na | grep :4000.
Supponendo che l'output sia vuoto, possiamo aggiungere le regole di porta appropriate al firewall del sistema. I metodi per questo variano a seconda della tua distribuzione e se utilizza la più recente ufw firewall o firewalld. Ubuntu favorisceufw, mentre In genere usa CentOSfirewalld invece. Naturalmente, ci sono ancora alcune distribuzioni Linux che utilizzano le versioni precedenti iptables firewall.
Per utenti Ubuntu e altri sistemi basati su firewall ufw
Piuttosto che usare il più vecchio iptables firewall, Ubuntu e alcune altre distribuzioni usano ufw. In questi sistemi, il comando seguente aprirà la porta.
sudo ufw permetti 4000.
Salta i passaggi successivi e testa la tua porta appena aperta per assicurarti che funzioni.
Come aprire le porte in Linux utilizzando CentOS e altri sistemi basati su firewalld
Se il tuo sistema utilizza firewalld, la soluzione migliore è usare il firewall-cmd comando per aggiornare le regole.
sudo firewall-cmd --add-port=4000/tcp.
Questa non sarà una modifica permanente, ma tratteremo come far persistere le regole dopo il riavvio una volta testata la porta.
Per altre distribuzioni Linux
Se il tuo sistema Linux non ha ufw o firewalld, dovrai usare iptables. Se non è installato, vai avanti e scaricalo usando il tuo gestore di pacchetti preferito. Una volta installato, questo comando aprirà la porta 4000:
sudo iptables -A INPUT -p tcp --dport 4000 -j ACCEPT. sudo servizio iptables riavviato.
Se il tuo sistema utilizza systemctl, sostituisci il secondo comando con:
sudo systemctl riavvia iptables.
Test delle porte appena aperte per le connessioni
Successivamente, dovremmo testare la porta per assicurarci che accetti connessioni. Lo facciamo usando netcat (nc) per ascoltare la porta, quindi tentare di collegarla tramite telnet.
Innanzitutto, apri una finestra di terminale ed esegui questo comando:
sudo ls | nc -l -p 4000.
Lascialo in esecuzione (in ascolto) e apri una seconda finestra di terminale. In quella finestra, utilizzerai telnet per testare la connettività. Se telnet non è installato, fallo usando il tuo gestore di pacchetti.
telnet [nome host/indirizzo IP] [numero porta]
Sostituire [nome host/indirizzo IP] con l'indirizzo IP del tuo sistema e [numero di porta] con il numero di porta che hai aperto.
telnet localhost 4000.
Dovresti vedere un output come quello di seguito, che indica una connessione aperta con nc.
Possiamo anche mostrare che la porta è aperta usando nmap. Ancora una volta, se il comando non è già installato, usa il tuo gestore di pacchetti per recuperarlo.
nmap localhost -p 4000.
Notare che nmap elencherà solo le porte aperte che sono in ascolto per le connessioni. Ecco perché utilizziamo netcat per i test, per ascoltare su quella porta. In caso contrario, la porta non verrà registrata come aperta.
Non riesco a connettermi alla porta che ho appena aperto, e adesso?
Se esegui tutti i passaggi precedenti e non riesci a ottenere una connessione alla porta, ricontrolla la digitazione. Se sei certo di aver inserito tutto correttamente, è probabile che dovrai riconfigurare il router di rete per consentire il traffico.
Poiché ogni router di rete ha schermate di configurazione diverse, dovresti consultare le pagine di supporto o il manuale utente per la tua particolare attrezzatura. Dovrai controllare le impostazioni di port forwarding o mappatura delle porte, nonché qualsiasi firewall integrato che il router potrebbe utilizzare.
Come aprire permanentemente una porta in Linux
Dopo aver testato la tua porta aperta e assicurato che funzioni, probabilmente vorrai rendere permanente la modifica. In caso contrario, le modifiche potrebbero non essere mantenute dopo un riavvio. Se sei un utente Ubuntu, o altrimenti usa il ufw firewall, non devi preoccuparti di questo. Il ufw le regole non vengono ripristinate al riavvio.
Per utenti con firewall
È facile applicare una regola di porta dopo un riavvio firewalld. Basta aggiungere il -permanente flag al tuo comando iniziale e sarà incluso nelle regole del firewall del tuo sistema Linux all'avvio.
sudo firewall-cmd --add-port=4000/tcp --permanent.
Se stai ancora usando iptables
Il iptables firewall è molto più problematico (forse un buon motivo per eseguire l'aggiornamento a firewalld o ufw). Per aprire "permanentemente" una porta in iptables, puoi installare il iptables-persistente pacchetto per aiutare.
Quando installi per la prima volta iptables-persistente su un sistema basato su Debian, salverà le tue regole attuali su entrambi /etc/iptables/rules.v4 o /etc/iptables/rules.v6. Per aggiungere nuove regole, emetterai il seguente comando:
sudo iptables-save > /etc/iptables/rules.v4.
O
sudo iptables-save > /etc/iptables/rules.v6.
Per coloro che eseguono distribuzioni Linux basate su RPM, è un po' diverso. Il pacchetto è chiamato iptables-servizie i file di salvataggio sono /etc/sysconfig/iptables e /etc/sysconfig/ip6tables.
Nelle distribuzioni basate su RPM, esiste anche un comando diverso utilizzato per le porte IPv6. Il salvataggio delle regole viene eseguito utilizzando uno di questi due comandi:
sudo iptables-save > /etc/sysconfig/iptables. sudo ip6tables-save > /etc/sysconfig/iptables.
Assicurati di monitorare l'utilizzo delle porte
Col passare del tempo, le esigenze del tuo server potrebbero cambiare. Proprio come dovresti tenere il passo con gli account utente sulla tua macchina Linux, dovresti anche controllare regolarmente le tue porte aperte. Chiudere tutte le porte aperte non più necessarie. Insieme a regolarmente cambiando la tua password, questa è una buona pratica di sicurezza che ti aiuterà a evitare le intrusioni nel sistema e gli exploit della sicurezza.