Kā atvērt portus operētājsistēmā Linux
Linux Ubuntu Ubuntu Pamati Varonis / / March 02, 2022
Pēdējo reizi atjaunināts
Ja vēlaties atļaut ārējos savienojumus ar datoru vai serveri, jums būs jāatver pareizais ports. Linux lietotāji var atvērt portus, izmantojot šo noderīgo rokasgrāmatu.
Vai nepieciešams izveidot savienojumu ar ārēju datoru vai serveri, vai arī nepieciešams cits dators vai serveris, lai izveidotu savienojumu ar jums? Ja izmantojat operētājsistēmu Linux, jums jāpārliecinās, vai ir atvērts pareizais ports.
Lai gan citās operētājsistēmās parasti ir kāds grafisks rīks šim nolūkam, Linux nav tik vienkārši. Tālāk mēs jums pastāstīsim, kā atvērt portus operētājsistēmā Linux.
Kas ir osta un kāpēc man tas ir jāatver?
Ports ir tīkla beigu punkts. Padomājiet par to kā par durvīm, kas ved uz noteiktu telpu vai ārpasauli, bet jūsu datorā. Viss, ko darāt internetā, izmanto noteiktu portu vai portu sēriju.
Piemēram, pieņemsim, ka vēlaties palaist savu Minecraft serveri. Lai to izdarītu, jums būs jāatver ports, lai lietotāji varētu ar to izveidot savienojumu. Tas pats attiektos uz sava tīmekļa, pasta vai FTP servera darbināšanu.
Ostas ir standartizēts visos ar tīklu savienotajos ierīces. Pirmie 1024 porti (no 0 līdz 1023) tiek apzīmēti kā labi zināmi portu numuri. Tie ir rezervēti visbiežāk izmantotajiem pakalpojumiem, piemēram, HTTP un HTTP (attiecīgi 80. un 443. ports) un SSH (ports 22).
Portu numuri, kas pārsniedz 1024, tiek apzīmēti kā īslaicīgas ostas, un parasti tie ir pieejami lietošanai tiešsaistes spēlēm, privātiem tīmekļa serveriem un tamlīdzīgi. Tiek izsaukti porta numuri no 1024 līdz 49151 reģistrēts vai lietotāju porti, savukārt tie no 49152 līdz 65535 ir zināmi kā dinamisks vai privātās ostas.
Atvērto portu uzskaitījums operētājsistēmā Linux
Pirms sākat mēģināt atvērt portu operētājsistēmā Linux, jums jāpārliecinās, vai tas vēl netiek izmantots. To var paveikt, izmantojot netstat komanda, kas iekļauta lielākajā daļā Linux izplatījumu. Ja jūsu izplatīšanai nav netstat, tu vari izmantot ss vietā.
netstat -lntu.
Tas izdrukās visas klausīšanās ligzdas (-l), kopā ar porta numuru (-n). Tas ietver TCP portus (-t), kā arī UDP (-u). Ja jūsu sistēmā nav netstat, vienkārši izmantojiet ss ar tiem pašiem parametriem.
ss -lntu.
Kā atvērt portus operētājsistēmā Linux
Šī piemēra labad mēs pieņemsim, ka vēlamies atvērt 4000. portu TCP savienojumiem. Vispirms mums ir jāpārliecinās, vai ports jau netiek izmantots. Mēs to darām cauri netstat vai ss.
netstat -na | grep: 4000. ss -na | grep: 4000.
Pieņemot, ka izvade ir tukša, mēs varam pievienot atbilstošos porta noteikumus sistēmas ugunsmūrim. Šīs metodes atšķiras atkarībā no jūsu izplatīšanas un tā, vai tajā tiek izmantota jaunākā versija ufw ugunsmūris vai ugunsmūris. Ubuntu dod priekšrokuufw, kamēr CentOS parasti izmantougunsmūris vietā. Protams, joprojām ir daži Linux izplatījumi, kas izmanto vecākus iptables ugunsmūris.
Ubuntu lietotājiem un citām ufw ugunsmūra sistēmām
Nevis izmantojot vecāko iptables izmanto ugunsmūri, Ubuntu un dažus citus izplatījumus ufw. Šajās sistēmās portu atvērs šāda komanda.
sudo ufw atļauj 4000.
Izlaidiet dažas nākamās darbības un pārbaudiet tikko atvērto portu, lai pārliecinātos, ka tas darbojas.
Kā atvērt portus operētājsistēmā Linux, izmantojot CentOS un citas uz ugunsmūri balstītas sistēmas
Ja jūsu sistēma izmanto ugunsmūris, vislabāk ir izmantot ugunsmūris-cmd komandu, lai atjauninātu noteikumus.
sudo firewall-cmd --add-port=4000/tcp.
Tās nebūs pastāvīgas izmaiņas, taču mēs apskatīsim, kā nodrošināt, lai noteikumi saglabātos pēc pārstartēšanas, kad būsim pārbaudījuši portu.
Citiem Linux izplatījumiem
Ja jūsu Linux sistēmai nav ufw vai ugunsmūris, jums būs jāizmanto iptables. Ja tas nav instalēts, turpiniet un iegūstiet to, izmantojot izvēlēto pakotņu pārvaldnieku. Kad tas ir instalēts, šīs komandas atvērs portu 4000:
sudo iptables -A IEVADE -p tcp -dport 4000 -j ACCEPT. sudo pakalpojums iptables restartējiet.
Ja jūsu sistēma izmanto systemctl, aizstājiet otro komandu ar:
sudo systemctl restartējiet iptables.
Jaunatvērto portu savienojumu pārbaude
Tālāk mums jāpārbauda ports, lai pārliecinātos, ka tas pieņem savienojumus. Mēs to darām, izmantojot netcat (nc), lai klausītos portu, pēc tam mēģinot izveidot telnet savienojumu ar to.
Vispirms atveriet termināļa logu un izdodiet šo komandu:
sudo ls | nc -l -p 4000.
Atstājiet to darboties (klausieties) un atveriet otru termināļa logu. Šajā logā savienojamības pārbaudei izmantosit Telnet. Ja telnet nav instalēts, dariet to, izmantojot pakotņu pārvaldnieku.
telnet [resursdatora nosaukums/IP adrese] [porta numurs]
Aizvietot [resursdatora nosaukums/IP adrese] ar jūsu sistēmas IP adresi un [porta numurs] ar porta numuru, kuru atvērāt.
telnet localhost 4000.
Tālāk jums vajadzētu redzēt tādu izvadi, kas norāda uz atvērtu savienojumu ar nc.
Mēs varam arī parādīt, ka osta ir atvērta, izmantojot nmap. Atkal, ja komanda vēl nav instalēta, izmantojiet pakotņu pārvaldnieku, lai to izgūtu.
nmap localhost -p 4000.
Pieraksti to nmap tiks uzskaitīti tikai atvērtie porti, kas noklausās savienojumus. Tāpēc mēs izmantojam netcat testēšanai, lai klausītos šajā portā. Pretējā gadījumā ports netiks reģistrēts kā atvērts.
Es nevaru izveidot savienojumu ar tikko atvērto portu. Ko darīt?
Ja veicat visas iepriekš minētās darbības un nevarat izveidot savienojumu ar portu, vēlreiz pārbaudiet, vai esat rakstīts. Ja esat pārliecināts, ka visu ievadījāt pareizi, iespējams, jums būs jāpārkonfigurē tīkla maršrutētājs, lai atļautu trafiku.
Tā kā katram tīkla maršrutētājam ir dažādi konfigurācijas ekrāni, skatiet atbalsta lapas vai lietotāja rokasgrāmatu savam konkrētajam aprīkojumam. Jums būs jāpārbauda portu pāradresācijas vai portu kartēšanas iestatījumi, kā arī jebkurš maršrutētājā izmantotais iebūvētais ugunsmūris.
Kā pastāvīgi atvērt portu operētājsistēmā Linux
Kad būsiet pārbaudījis atvērto portu un pārliecinājies, ka tas darbojas, iespējams, vēlēsities izmaiņas padarīt neatgriezeniskas. Pretējā gadījumā izmaiņas pēc atsāknēšanas var nepalikt. Ja esat Ubuntu lietotājs vai citādi izmantojat ufw ugunsmūris, jums par to nav jāuztraucas. The ufw noteikumi netiek atiestatīti atsāknēšanas laikā.
Ugunsmūra lietotājiem
Portu kārtulas saglabāšana pēc atsāknēšanas ir vienkārša ugunsmūris. Vienkārši pievienojiet - pastāvīgs atzīmējiet sākotnējo komandu, un startēšanas laikā tā tiks iekļauta jūsu Linux sistēmas ugunsmūra noteikumos.
sudo firewall-cmd --add-port=4000/tcp --permanent.
Ja joprojām izmantojat iptables
The iptables ugunsmūris ir daudz apgrūtinošāks (varbūt labs iemesls, lai jauninātu uz ugunsmūris vai ufw). Lai “pastāvīgi” atvērtu portu iptables, varat instalēt iptables-persistents pakete, lai palīdzētu.
Pirmoreiz instalējot iptables-persistents uz Debian balstītā sistēmā, tas saglabās jūsu pašreizējos noteikumus jebkurā no tiem /etc/iptables/rules.v4 vai /etc/iptables/rules.v6. Lai pievienotu jaunus noteikumus, jums jāizdod šāda komanda:
sudo iptables-save > /etc/iptables/rules.v4.
VAI
sudo iptables-save > /etc/iptables/rules.v6.
Tiem, kas izmanto uz RPM balstītus Linux izplatījumus, tas ir nedaudz savādāk. Paku sauc iptables-services, un saglabāšanas faili ir /etc/sysconfig/iptables un /etc/sysconfig/ip6tables.
Izplatījumos, kuru pamatā ir RPM, IPv6 portiem tiek izmantota arī cita komanda. Noteikumu saglabāšana tiek veikta, izmantojot vienu no šīm divām komandām:
sudo iptables-save > /etc/sysconfig/iptables. sudo ip6tables-save > /etc/sysconfig/iptables.
Noteikti pārraugiet savu ostas lietojumu
Laikam ejot, jūsu servera vajadzības var mainīties. Tāpat kā vajadzētu sekojiet līdzi lietotāju kontiem savā Linux datorā regulāri jāpārbauda arī atvērtie porti. Aizveriet visus atvērtos portus, kas vairs nav nepieciešami. Kopā ar regulāri mainot savu paroli, šī ir laba drošības prakse, kas palīdzēs izvairīties no sistēmas ielaušanās un drošības ļaunprātīgas izmantošanas.