Cum să deschideți porturi în Linux
Linux Ubuntu Bazele Ubuntu Erou / / March 02, 2022

Ultima actualizare pe

Dacă doriți să permiteți conexiuni externe la un computer sau un server, va trebui să deschideți portul potrivit. Utilizatorii Linux pot deschide porturi folosind acest ghid util.
Trebuie să vă conectați la un computer sau un server din exterior sau aveți nevoie de un alt computer sau server pentru a vă conecta? Dacă rulați Linux, va trebui să vă asigurați că portul potrivit este deschis.
În timp ce alte sisteme de operare au de obicei un instrument grafic pentru aceasta, Linux nu este atât de simplu. Vă vom prezenta mai jos cum să deschideți porturi în Linux.
Ce este un port și de ce ar trebui să-l deschid?
Un port este un punct final al rețelei. Gândiți-vă la ea ca la o ușă care duce la o anumită cameră sau la lumea exterioară, dar pe computer. Tot ceea ce faci pe internet folosește un anumit port sau o serie de porturi.
De exemplu, să presupunem că doriți să rulați propriul dvs. server Minecraft. Pentru a face acest lucru, va trebui să deschideți un port prin care utilizatorii să se conecteze la el. Același lucru s-ar aplica și pentru rularea propriului dvs. server web, e-mail sau FTP.
Porturile sunt standardizate în toate cele conectate la rețea dispozitive. Primele 1.024 de porturi (de la 0 la 1023) sunt denumite numere de porturi cunoscute. Acestea sunt rezervate pentru cele mai frecvent utilizate servicii, cum ar fi HTTP și HTTP (portul 80, respectiv 443) și SSH (portul 22).
Numerele de port peste 1024 sunt denumite porturi efemere, și sunt de obicei disponibile pentru a le utiliza pentru jocurile dvs. online, servere web private și așa mai departe. Sunt apelate numerele de porturi de la 1024 la 49151 înregistrat sau porturi de utilizator, în timp ce cele de la 49152 la 65535 sunt cunoscute ca dinamic sau porturi private.
Listarea porturi deschise pe Linux
Înainte de a începe să încercați să deschideți un port pe Linux, ar trebui să vă asigurați că nu este deja utilizat. Puteți realiza acest lucru folosind netstat comanda, inclusă în majoritatea distribuțiilor Linux. Dacă distribuția dvs. nu are netstat, poți să folosești ss in schimb.
netstat -lntu.

Aceasta va imprima toate prizele de ascultare (-l), împreună cu numărul portului (-n). Include porturi TCP (-t), precum și UDP (-u). Dacă sistemul dvs. nu are netstat, doar folosește ss cu aceiași parametri.
ss -lntu.

Cum să deschideți porturi în Linux
De dragul acestui exemplu, vom presupune că vrem să deschidem portul 4000 la conexiunile TCP. Mai întâi trebuie să ne asigurăm că portul nu este deja utilizat. Facem asta prin netstat sau ss.
netstat -na | grep :4000. ss -na | grep :4000.
Presupunând că rezultatul este gol, putem adăuga regulile de port adecvate la firewall-ul sistemului. Metodele pentru aceasta vor varia în funcție de distribuția dvs. și dacă folosește cea mai nouă ufw firewall sau firewalld. Ubuntu favorizeazăufw, in timp ce CentOS folosește de obiceifirewalld in schimb. Desigur, există încă unele distribuții Linux care folosesc cele mai vechi iptables firewall.
Pentru utilizatorii Ubuntu și alte sisteme bazate pe firewall ufw
Mai degrabă decât să folosești cele mai vechi iptables firewall, Ubuntu și alte distribuții folosesc ufw. În aceste sisteme, următoarea comandă va deschide portul.
sudo ufw permit 4000.
Treceți peste următorii câțiva pași și testați-vă portul nou deschis pentru a vă asigura că funcționează.
Cum să deschideți porturi în Linux folosind CentOS și alte sisteme bazate pe firewall
Dacă sistemul dumneavoastră utilizează firewalld, cel mai bun pariu al tău este să folosești firewall-cmd comanda pentru a actualiza regulile.
sudo firewall-cmd --add-port=4000/tcp.
Aceasta nu va fi o schimbare permanentă, dar vom aborda cum să facem ca regulile să persistă după repornire după ce testăm portul.
Pentru alte distribuții Linux
Dacă sistemul dvs. Linux nu are ufw sau firewalld, va trebui să utilizați iptables. Dacă nu este instalat, mergeți mai departe și obțineți-l folosind managerul de pachete la alegere. Odată ce este instalat, aceste comenzi vor deschide portul 4000:
sudo iptables -A INTRARE -p tcp --dport 4000 -j ACCEPT. reporniți serviciul sudo iptables.
Dacă sistemul dumneavoastră utilizează systemctl, înlocuiți a doua comandă cu:
sudo systemctl reporniți iptables.
Testarea noilor porturi deschise pentru conexiuni
Apoi, ar trebui să testăm portul pentru a ne asigura că acceptă conexiuni. Facem acest lucru folosind netcat (nc) pentru a asculta portul, apoi încercând să-l conectați prin telnet.
Mai întâi, deschideți o fereastră de terminal și lansați această comandă:
sudo ls | nc -l -p 4000.
Lăsați-l să ruleze (ascultând) și deschideți o a doua fereastră de terminal. În acea fereastră, veți folosi telnet pentru a testa conectivitatea. Dacă telnet nu este instalat, faceți acest lucru folosind managerul de pachete.
telnet [nume gazdă/adresă IP] [număr port]
A inlocui [nume gazdă/adresă IP] cu adresa IP a sistemului dvs. și [numarul portului] cu numărul portului pe care l-ați deschis.
telnet localhost 4000.
Ar trebui să vedeți o ieșire ca aceea mai jos, indicând o conexiune deschisă cu nc.

De asemenea, putem arăta că portul este deschis folosind nmap. Din nou, dacă comanda nu este deja instalată, utilizați managerul de pachete pentru a o prelua.
nmap localhost -p 4000.

Rețineți că nmap va lista numai porturile deschise care ascultă conexiuni. De aceea folosim netcat pentru testare, pentru a asculta pe acel port. În caz contrar, portul nu se va înregistra ca fiind deschis.
Nu mă pot conecta la portul pe care tocmai l-am deschis, acum ce?
Dacă parcurgeți toți pașii de mai sus și nu puteți realiza o conexiune la port, verificați din nou tastarea. Dacă sunteți sigur că ați introdus totul corect, probabil că va trebui să vă reconfigurați routerul de rețea pentru a permite traficul.
Deoarece fiecare router de rețea are ecrane de configurare diferite, ar trebui să consultați paginile de asistență sau manualul de utilizare pentru echipamentul dvs. Va trebui să verificați setările de redirecționare sau mapare a portului, precum și orice firewall încorporat pe care routerul îl poate folosi.
Cum să deschideți permanent un port în Linux
După ce ați testat portul deschis și v-ați asigurat că funcționează, probabil că veți dori să faceți schimbarea permanentă. În caz contrar, este posibil ca modificările să nu rămână după o repornire. Dacă sunteți utilizator Ubuntu sau utilizați în alt mod ufw firewall, nu trebuie să vă faceți griji pentru asta. The ufw regulile nu se resetează la repornire.
Pentru utilizatorii cu firewall
A face o regulă de port să rămână după o repornire este ușor firewalld. Doar adăugați -permanent marcați comanda dumneavoastră inițială și va fi inclus în regulile firewall-ului sistemului dumneavoastră Linux la pornire.
sudo firewall-cmd --add-port=4000/tcp --permanent.
Dacă încă utilizați iptables
The iptables firewall-ul este mult mai deranjant (poate un motiv bun pentru a face upgrade la firewalld sau ufw). Pentru a deschide „permanent” un port în iptables, puteți instala iptables-persistent pachet pentru a ajuta.
Când instalați prima dată iptables-persistent pe un sistem bazat pe Debian, va salva regulile dvs. curente în oricare /etc/iptables/rules.v4 sau /etc/iptables/rules.v6. Pentru a adăuga reguli noi, veți lansa următoarea comandă:
sudo iptables-save > /etc/iptables/rules.v4.
SAU
sudo iptables-save > /etc/iptables/rules.v6.
Pentru cei care rulează distribuții Linux bazate pe RPM, este puțin diferit. Pachetul este numit iptables-servicii, iar fișierele de salvare sunt /etc/sysconfig/iptables și /etc/sysconfig/ip6tables.
Pe distribuțiile bazate pe RPM, există și o comandă diferită utilizată pentru porturile IPv6. Salvarea regulilor se face folosind una dintre aceste două comenzi:
sudo iptables-save > /etc/sysconfig/iptables. sudo ip6tables-save > /etc/sysconfig/iptables.
Asigurați-vă că vă monitorizați utilizarea portului
Pe măsură ce timpul trece, nevoile serverului dvs. se pot schimba. Exact cum ar trebui fii la curent cu conturile de utilizator pe mașina dvs. Linux, ar trebui, de asemenea, să vă auditați regulat porturile deschise. Închideți toate porturile deschise care nu mai sunt necesare. Împreună cu regulat schimbă parola, aceasta este o bună practică de securitate care vă va ajuta să evitați intruziunile în sistem și exploatările de securitate.