Kako otvoriti portove u Linuxu
Linux Ubuntu Ubuntu Osnove Junak / / March 02, 2022

Posljednje ažurirano dana

Ako želite dopustiti vanjske veze s računalom ili poslužiteljem, morat ćete otvoriti pravi port. Korisnici Linuxa mogu otvoriti portove pomoću ovog korisnog vodiča.
Trebate se povezati s vanjskim računalom ili poslužiteljem—ili trebate drugo računalo ili poslužitelj za povezivanje s vama? Ako koristite Linux, morat ćete provjeriti je li otvoren pravi port.
Dok drugi operativni sustavi obično imaju neki grafički alat za to, Linux nije tako jednostavan. Provest ćemo vas kroz kako otvoriti portove u Linuxu u nastavku.
Što je port i zašto bih ga trebao otvoriti?
Port je krajnja točka na mreži. Zamislite to kao vrata koja vode u određenu sobu ili vanjski svijet, ali na vašem računalu. Sve što radite na internetu koristi određeni port ili niz portova.
Na primjer, recimo da želite pokrenuti vlastiti Minecraft poslužitelj. Da biste to učinili, morat ćete otvoriti port kako bi se korisnici mogli povezati na njega. Isto bi vrijedilo za pokretanje vlastitog web, mail ili FTP poslužitelja.
Luke su standardizirano za sve povezane mreže uređaja. Prvih 1024 porta (od 0 do 1023) se nazivaju dobro poznati brojevi portova. Oni su rezervirani za najčešće korištene usluge, kao što su HTTP i HTTP (port 80 i 443, redom) i SSH (port 22).
Brojevi portova iznad 1024 nazivaju se efemerne luke, i obično su vam dostupni za korištenje za vaše online igre, privatne web poslužitelje i tako dalje. Pozivaju se brojevi portova od 1024 do 49151 registrirano ili korisničkih portova, dok su oni od 49152 do 65535 poznati kao dinamičan ili privatne luke.
Popis otvorenih portova na Linuxu
Prije nego počnete pokušavati otvoriti port na Linuxu, trebali biste se uvjeriti da se već ne koristi. To možete postići pomoću netstat naredba, uključena u većinu distribucija Linuxa. Ako vaša distribucija nema netstat, možeš koristiti ss umjesto toga.
netstat -lntu.

Ovo će ispisati sve utičnice za slušanje (-l), zajedno s brojem porta (-n). Uključuje TCP portove (-t) kao i UDP (-u). Ako vaš sustav nema netstat, samo upotrijebi ss s istim parametrima.
ss -lntu.

Kako otvoriti portove u Linuxu
Radi ovog primjera, pretpostavit ćemo da želimo otvoriti port 4000 za TCP veze. Prvo se moramo uvjeriti da port već nije u upotrebi. To radimo kroz netstat ili ss.
netstat -na | grep :4000. ss -na | grep :4000.
Pod pretpostavkom da je izlaz prazan, možemo dodati odgovarajuća pravila porta u vatrozid sustava. Metode za to će se razlikovati ovisno o vašoj distribuciji i o tome koristi li se novija ufw firewall ili firewalld. Ubuntu favoriziraufw, dok CentOS obično koristifirewalld umjesto toga. Naravno, još uvijek postoje neke Linux distribucije koje koriste starije iptables vatrozida.
Za Ubuntu korisnike i druge sustave temeljene na ufw vatrozidu
Umjesto korištenja starijeg iptables koriste vatrozid, Ubuntu i neke druge distribucije ufw. Pod ovim sustavima, sljedeća naredba će otvoriti port.
sudo ufw dopusti 4000.
Preskočite sljedećih nekoliko koraka i testirajte svoj novootvoreni priključak kako biste bili sigurni da radi.
Kako otvoriti portove u Linuxu pomoću CentOS-a i drugih sustava temeljenih na vatrozidu
Ako vaš sustav koristi firewalld, najbolje je upotrijebiti firewall-cmd naredba za ažuriranje pravila.
sudo firewall-cmd --add-port=4000/tcp.
Ovo neće biti trajna promjena, ali ćemo pokriti kako da se pravila zadrže nakon ponovnog pokretanja nakon što testiramo port.
Za ostale distribucije Linuxa
Ako vaš Linux sustav nema ufw ili firewalld, morat ćete koristiti iptables. Ako nije instaliran, nastavite i nabavite ga pomoću upravitelja paketa po izboru. Nakon što se instalira, ove naredbe će otvoriti port 4000:
sudo iptables -A INPUT -p tcp --dport 4000 -j PRIHVATI. sudo service iptables restart.
Ako vaš sustav koristi systemctl, zamijenite drugu naredbu sa:
sudo systemctl ponovno pokrenite iptables.
Testiranje novootvorenih portova za veze
Zatim bismo trebali testirati port kako bismo bili sigurni da prihvaća veze. To radimo koristeći netcat (nc) za slušanje porta, a zatim pokušaj telnet-a na njega.
Prvo otvorite prozor terminala i izdajte ovu naredbu:
sudo ls | nc -l -p 4000.
Ostavite ga da radi (sluša) i otvorite drugi prozor terminala. U tom prozoru ćete koristiti telnet za testiranje povezanosti. Ako telnet nije instaliran, učinite to pomoću upravitelja paketa.
telnet [ime hosta/IP adresa] [broj porta]
Zamijeniti [ime hosta/IP adresa] s IP adresom vašeg sustava, i [broj priključka] s brojem porta koji ste otvorili.
telnet lokalni host 4000.
Dolje biste trebali vidjeti takav izlaz, što ukazuje na otvorenu vezu s nc.

Također možemo pokazati da je port otvoren pomoću nmap. Opet, ako naredba već nije instalirana, dohvatite je pomoću upravitelja paketa.
nmap localhost -p 4000.

Imajte na umu da nmap prikazat će samo otvorene portove koji osluškuju veze. Zato koristimo netcat za testiranje, za slušanje na tom portu. U suprotnom, port se neće registrirati kao otvoren.
Ne mogu se spojiti na port koji sam upravo otvorio, što sad?
Ako prođete kroz sve gore navedene korake i ne možete uspostaviti vezu s portom, još jednom provjerite tipkanje. Ako ste sigurni da ste sve ispravno unijeli, velike su šanse da ćete morati ponovno konfigurirati mrežni usmjerivač kako biste dopustili promet.
Budući da svaki mrežni usmjerivač ima različite zaslone za konfiguraciju, trebali biste pogledati stranice podrške ili korisnički priručnik za svoju određenu opremu. Morat ćete provjeriti postavke prosljeđivanja portova ili mapiranja portova, kao i bilo koji ugrađeni vatrozid koji usmjerivač može koristiti.
Kako trajno otvoriti port u Linuxu
Nakon što testirate svoj otvoreni port i uvjerite se da radi, vjerojatno ćete htjeti učiniti promjenu trajnom. Inače, promjene se možda neće zadržati nakon ponovnog pokretanja. Ako ste korisnik Ubuntua ili na drugi način koristite ufw firewall, ne morate brinuti o tome. The ufw pravila se ne resetiraju pri ponovnom pokretanju.
Za korisnike vatrozida
Lako je učiniti da se pravilo portova zadrži nakon ponovnog pokretanja firewalld. Samo dodajte — trajna označite vašu početnu naredbu i bit će uključena u pravila vatrozida vašeg Linux sustava pri pokretanju.
sudo firewall-cmd --add-port=4000/tcp --permanent.
Ako još uvijek koristite iptables
The iptables vatrozid je mnogo problematičniji (možda dobar razlog za nadogradnju na firewalld ili ufw). Za "trajno" otvaranje porta u iptables, možete instalirati iptables-trajni paket za pomoć.
Kada prvi put instalirate iptables-trajni na sustavu temeljenom na Debianu, spremit će vaša trenutna pravila u bilo koji od njih /etc/iptables/rules.v4 ili /etc/iptables/rules.v6. Da biste dodali nova pravila, izdat ćete sljedeću naredbu:
sudo iptables-save > /etc/iptables/rules.v4.
ILI
sudo iptables-save > /etc/iptables/rules.v6.
Za one koji koriste distribucije Linuxa temeljene na RPM-u, malo je drugačije. Paket se zove iptables-usluge, a datoteke za spremanje su /etc/sysconfig/iptables i /etc/sysconfig/ip6tables.
U distribucijama temeljenim na RPM-u postoji i druga naredba koja se koristi za IPv6 portove. Spremanje vaših pravila vrši se pomoću jedne od ove dvije naredbe:
sudo iptables-save > /etc/sysconfig/iptables. sudo ip6tables-save > /etc/sysconfig/iptables.
Obavezno pratite korištenje svog porta
Kako vrijeme prolazi, potrebe vašeg poslužitelja mogu se promijeniti. Baš kako treba biti u toku s korisničkim računima na vašem Linux računalu također biste trebali redovito kontrolirati svoje otvorene portove. Zatvorite sve otvorene portove koji više nisu potrebni. Uz redovito promijenite svoju lozinku, ovo je dobra sigurnosna praksa koja će vam pomoći da izbjegnete upade u sustav i sigurnosna iskorištavanja.