Come aprire le porte in Linux

Come aprire le porte in Linux

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.

Le porte sono standardizzate su tutti i dispositivi connessi alla rete. Le prime 1.024 porte (da 0 a 1023) sono indicate come 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 porte effimere e sono generalmente disponibili per l'utilizzo per i giochi online, i server Web privati ​​e così via. I numeri di porta da 1024 a 49151 sono detti porte registrate o utente , mentre quelle da 49152 a 65535 sono note come porte dinamiche o private .

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 comando netstat , incluso nella maggior parte delle distribuzioni Linux. Se la tua distribuzione non ha netstat , puoi invece usare ss .

netstat -lntu

Come aprire le porte in Linux

Questo stamperà tutti i socket in ascolto ( -l ), insieme al numero di porta ( -n ). Include porte TCP ( -t ) e UDP ( -u ). Se il tuo sistema non ha netstat , usa semplicemente ss con gli stessi parametri.

ss -lntu

Come aprire le porte in Linux

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 tramite 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 distribuzione e se utilizza il firewall ufw o firewalld più recente . Ubuntu preferisce ufw , mentre CentOS in genere utilizza invece firewalld . Naturalmente, ci sono ancora alcune distribuzioni Linux che utilizzano il vecchio firewall iptables .

Per utenti Ubuntu e altri sistemi basati su firewall ufw

Piuttosto che usare il vecchio firewall iptables , Ubuntu e alcune altre distribuzioni usano ufw . In questi sistemi, il comando seguente aprirà la porta.

sudo ufw allow 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 è utilizzare il comando firewall-cmd 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 dopo aver testato 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 service iptables restart

Se il tuo sistema utilizza systemctl , sostituisci il secondo comando con:

sudo systemctl restart 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 tentando 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 [hostname/IP address] [port number]

Sostituisci [nome host/indirizzo IP] con l'indirizzo IP del tuo sistema e [numero 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 .

Come aprire le porte in Linux

Possiamo anche mostrare che la porta è aperta usando nmap . Di nuovo, se il comando non è già installato, usa il tuo gestore di pacchetti per recuperarlo.

nmap localhost -p 4000

Come aprire le porte in Linux

Nota che nmap elencherà solo le porte aperte che stanno ascoltando 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 stabilire 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 usi il firewall ufw , non devi preoccuparti di questo. Le regole ufw non si ripristinano al riavvio.

Per utenti con firewall

Con firewalld è facile applicare una regola di porta dopo un riavvio . Aggiungi semplicemente il flag —permanent 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 firewall iptables è molto più problematico (forse un buon motivo per aggiornare a firewalld o ufw ). Per aprire "permanentemente" una porta in iptables , puoi installare il pacchetto iptables-persistent per aiutarti.

Quando installi per la prima volta iptables-persistent su un sistema basato su Debian, le regole correnti verranno salvate in /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 si chiama iptables-services e 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 tenerti aggiornato sugli account utente sulla tua macchina Linux, dovresti anche controllare regolarmente le tue porte aperte. Chiudere tutte le porte aperte non più necessarie. Oltre a modificare regolarmente la password , questa è una buona pratica di sicurezza che ti aiuterà a evitare le intrusioni nel sistema e gli exploit di sicurezza.

Tags: #HOW-TO

Zenzero 2.7.53.0

Zenzero 2.7.53.0

Ginger è un correttore ortografico e grammaticale gratuito.

Blocchi

Blocchi

Blocks è un gioco intellettuale rivolto agli studenti delle scuole elementari di terza elementare per esercitare le proprie capacità di rilevamento e vista ed è incluso dagli insegnanti nel programma di supporto all'insegnamento informatico.

Prezio 6.26

Prezio 6.26

Prezi è un'applicazione gratuita che ti consente di creare presentazioni digitali, sia online che offline.

Mathway

Mathway

Mathway è un'app molto utile che può aiutarti a risolvere tutti quei problemi di matematica che richiedono uno strumento più complesso della calcolatrice integrata nel tuo dispositivo.

Presentatore Adobe

Presentatore Adobe

Adobe Presenter è un software di e-Learning rilasciato da Adobe Systems disponibile sulla piattaforma Microsoft Windows come plug-in di Microsoft PowerPoint.

Tucano 2.3.0

Tucano 2.3.0

Toucan è una piattaforma tecnologica educativa. Ti consente di imparare una nuova lingua mentre navighi su siti Web comuni di tutti i giorni.

ENetViet 24.2

ENetViet 24.2

eNetViet è un'applicazione che aiuta a connettere i genitori con la scuola in cui studiano i loro figli in modo che possano comprendere chiaramente l'attuale situazione di apprendimento dei loro figli.

Duolingo

Duolingo

Duolingo - Impara le lingue gratis, o semplicemente Duolingo, è un programma educativo che ti permette di imparare e praticare molte lingue diverse.

Digitazione rapida

Digitazione rapida

RapidTyping è uno strumento di allenamento per la tastiera comodo e facile da usare che ti aiuterà a migliorare la velocità di digitazione e a ridurre gli errori di ortografia. Con lezioni organizzate per molti livelli diversi, RapidTyping ti insegnerà come digitare o migliorare le competenze esistenti.

MathType 7.4.10.53

MathType 7.4.10.53

MathType è un software di equazioni interattive dello sviluppatore Design Science (Dessci), che consente di creare e annotare notazioni matematiche per l'elaborazione di testi, presentazioni, eLearning, ecc. Questo editor viene utilizzato anche per creare documenti TeX, LaTeX e MathML.