Ako otvoriť porty v systéme Linux
Linux Ubuntu Základy Ubuntu Hrdina / / March 02, 2022
Naposledy aktualizované dňa
Ak chcete povoliť vonkajšie pripojenia k počítaču alebo serveru, musíte otvoriť správny port. Používatelia systému Linux môžu otvoriť porty pomocou tohto užitočného sprievodcu.
Potrebujete sa pripojiť k externému počítaču alebo serveru – alebo potrebujete, aby sa k vám pripojil ďalší počítač alebo server? Ak používate Linux, musíte sa uistiť, že je otvorený správny port.
Zatiaľ čo iné operačné systémy majú na to zvyčajne nejaký grafický nástroj, Linux nie je taký jednoduchý. Nižšie vám prevedieme, ako otvoriť porty v systéme Linux.
Čo je to port a prečo by som ho mal otvoriť?
Port je koncový bod v sieti. Predstavte si to ako dvere, ktoré vedú do konkrétnej miestnosti alebo vonkajšieho sveta, ale na vašom počítači. Všetko, čo robíte na internete, používa konkrétny port alebo sériu portov.
Povedzme napríklad, že chcete spustiť svoj vlastný server Minecraft. Ak to chcete urobiť, musíte otvoriť port, cez ktorý sa k nemu môžu používatelia pripojiť. To isté platí pre prevádzkovanie vlastného webového, poštového alebo FTP servera.
Porty sú štandardizované pre všetky siete pripojené zariadení. Prvých 1024 portov (od 0 do 1023) sa označuje ako dobre známe čísla portov. Sú vyhradené pre najčastejšie používané služby, ako sú HTTP a HTTP (port 80, resp. 443) a SSH (port 22).
Čísla portov nad 1024 sa označujú ako efemérne portya zvyčajne sú vám k dispozícii na použitie pre vaše online hry, súkromné webové servery atď. Volajú sa čísla portov 1024 až 49151 registrovaný alebo užívateľské porty, zatiaľ čo tie od 49152 do 65535 sú známe ako dynamický alebo súkromné prístavy.
Výpis otvorených portov v systéme Linux
Skôr ako sa pokúsite otvoriť port v systéme Linux, mali by ste sa uistiť, že sa už nepoužíva. Môžete to dosiahnuť pomocou netstat príkaz, ktorý je súčasťou väčšiny distribúcií Linuxu. Ak vaša distribúcia nemá netstat, môžeš použiť ss namiesto toho.
netstat -lntu.
Toto vytlačí všetky počúvacie zásuvky (-l), spolu s číslom portu (-n). Obsahuje porty TCP (-t), ako aj UDP (-u). Ak váš systém nemá netstat, stačí použiť ss s rovnakými parametrami.
ss -lntu.
Ako otvoriť porty v systéme Linux
V záujme tohto príkladu budeme predpokladať, že chceme otvoriť port 4000 pre pripojenia TCP. Najprv sa musíme uistiť, že port sa už nepoužíva. Robíme to cez netstat alebo ss.
netstat -na | grep: 4000. ss -na | grep: 4000.
Za predpokladu, že výstup je prázdny, môžeme do brány firewall systému pridať príslušné pravidlá portu. Metódy sa budú líšiť v závislosti od vašej distribúcie a od toho, či používa novšiu verziu ufw firewall alebo firewalld. Ubuntu uprednostňujeufw, zatiaľ čo CentOS zvyčajne používafirewalld namiesto toho. Samozrejme, stále existujú niektoré distribúcie Linuxu, ktoré používajú staršie iptables POŽARNE dvere.
Pre používateľov Ubuntu a iné systémy založené na ufw Firewall
Skôr ako používať staršie iptables firewall, Ubuntu a niektoré ďalšie distribúcie ufw. V týchto systémoch otvorí port nasledujúci príkaz.
sudo ufw povoliť 4000.
Preskočte niekoľko nasledujúcich krokov a otestujte svoj novootvorený port, aby ste sa uistili, že funguje.
Ako otvoriť porty v systéme Linux pomocou CentOS a iných systémov založených na firewalle
Ak váš systém používa firewalld, najlepšie urobíte, ak použijete firewall-cmd príkaz na aktualizáciu pravidiel.
sudo firewall-cmd --add-port=4000/tcp.
Nepôjde o trvalú zmenu, ale po otestovaní portu sa budeme zaoberať tým, ako zabezpečiť, aby pravidlá pretrvávali aj po reštarte.
Pre iné distribúcie Linuxu
Ak váš systém Linux nemá ufw alebo firewalld, budete musieť použiť iptables. Ak nie je nainštalovaný, pokračujte a získajte ho pomocou správcu balíkov podľa vlastného výberu. Po nainštalovaní tieto príkazy otvoria port 4000:
sudo iptables -A INPUT -p tcp --dport 4000 -j PRIJAŤ. reštart služby sudo iptables.
Ak váš systém používa systemctl, nahraďte druhý príkaz takto:
sudo systemctl reštart iptables.
Testovanie pripojení na novo otvorených portoch
Ďalej by sme mali otestovať port, aby sme sa uistili, že prijíma pripojenia. Robíme to pomocou netcat (nc), aby ste si vypočuli port a potom sa k nemu pokúsili pripojiť telnet.
Najprv otvorte okno terminálu a zadajte tento príkaz:
sudo ls | nc -l -p 4000.
Nechajte ho spustený (počúvanie) a otvorte druhé okno terminálu. V tomto okne použijete telnet na testovanie pripojenia. Ak telnet nie je nainštalovaný, urobte tak pomocou správcu balíkov.
telnet [názov hostiteľa/IP adresa] [číslo portu]
Vymeňte [názov hostiteľa/IP adresa] s IP adresou vášho systému a [číslo portu] s číslom portu, ktorý ste otvorili.
telnet localhost 4000.
Mali by ste vidieť výstup podobný tomu nižšie, čo naznačuje otvorené spojenie s nc.
Môžeme tiež ukázať, že port je otvorený pomocou nmap. Ak príkaz ešte nie je nainštalovaný, znova ho získajte pomocou správcu balíkov.
nmap localhost -p 4000.
Poznač si to nmap zobrazí iba otvorené porty, ktoré čakajú na pripojenia. To je dôvod, prečo používame netcat na testovanie, aby sme počúvali na tomto porte. V opačnom prípade sa port nezaregistruje ako otvorený.
Nemôžem sa pripojiť k portu, ktorý som práve otvoril, čo teraz?
Ak ste vykonali všetky vyššie uvedené kroky a nemôžete sa pripojiť k portu, znova skontrolujte zadávanie. Ak ste si istí, že ste všetko zadali správne, je pravdepodobné, že budete musieť prekonfigurovať sieťový smerovač, aby povolil prenos.
Keďže každý sieťový smerovač má iné konfiguračné obrazovky, mali by ste si pozrieť stránky podpory alebo používateľskú príručku pre vaše konkrétne zariadenie. Budete musieť skontrolovať nastavenia presmerovania alebo mapovania portov, ako aj vstavanú bránu firewall, ktorú môže smerovač používať.
Ako natrvalo otvoriť port v systéme Linux
Keď otestujete svoj otvorený port a ubezpečíte sa, že funguje, pravdepodobne budete chcieť vykonať zmenu natrvalo. V opačnom prípade sa po reštarte nemusia zmeny zachovať. Ak ste používateľom Ubuntu alebo inak používate ufw firewall, nemusíte sa o to starať. The ufw pravidlá sa pri reštarte neresetujú.
Pre používateľov brány firewall
Je jednoduché nastaviť pravidlo portu po reštarte firewalld. Stačí pridať — trvalé príznak na váš počiatočný príkaz a bude zahrnutý do pravidiel brány firewall vášho systému Linux pri spustení.
sudo firewall-cmd --add-port=4000/tcp --permanent.
Ak stále používate iptables
The iptables firewall je oveľa problematickejší (možno dobrý dôvod na inováciu firewalld alebo ufw). Ak chcete „natrvalo“ otvoriť port iptables, môžete nainštalovať iptables-perzistentné balíček na pomoc.
Pri prvej inštalácii iptables-perzistentné na systéme založenom na Debiane uloží vaše aktuálne pravidlá do jedného z nich /etc/iptables/rules.v4 alebo /etc/iptables/rules.v6. Ak chcete pridať nové pravidlá, zadáte nasledujúci príkaz:
sudo iptables-save > /etc/iptables/rules.v4.
ALEBO
sudo iptables-save > /etc/iptables/rules.v6.
Pre tých, ktorí používajú linuxové distribúcie založené na RPM, je to trochu iné. Balíček sa volá iptables-službya ukladacie súbory sú /etc/sysconfig/iptables a /etc/sysconfig/ip6tables.
V distribúciách založených na RPM sa pre porty IPv6 používa aj iný príkaz. Uloženie pravidiel sa vykonáva pomocou jedného z týchto dvoch príkazov:
sudo iptables-save > /etc/sysconfig/iptables. sudo ip6tables-save > /etc/sysconfig/iptables.
Nezabudnite sledovať využitie svojho portu
Ako čas plynie, potreby vášho servera sa môžu meniť. Presne tak, ako by ste mali držať krok s používateľskými účtami na vašom počítači so systémom Linux by ste tiež mali pravidelne kontrolovať svoje otvorené porty. Zatvorte všetky otvorené porty, ktoré už nepotrebujete. Spolu s pravidelne zmena hesla, je to dobrý bezpečnostný postup, ktorý vám pomôže vyhnúť sa narušeniam systému a zneužitiu zabezpečenia.