Kako odpreti vrata v Linuxu
Linux Ubuntu Ubuntu Osnove Junak / / March 02, 2022
Zadnja posodobitev dne
Če želite omogočiti zunanje povezave z osebnim računalnikom ali strežnikom, boste morali odpreti prava vrata. Uporabniki Linuxa lahko odprejo vrata s tem uporabnim vodnikom.
Potrebujete povezavo z zunanjim računalnikom ali strežnikom – ali potrebujete drug računalnik ali strežnik, da se povežete z vami? Če uporabljate Linux, se morate prepričati, da so prava vrata odprta.
Medtem ko imajo drugi operacijski sistemi običajno grafično orodje za to, Linux ni tako preprost. Spodaj vas bomo vodili skozi, kako odpreti vrata v Linuxu.
Kaj je vrata in zakaj bi jih moral odpreti?
Vrata so končna točka v omrežju. Pomislite na to kot na vrata, ki vodijo v določeno sobo ali zunanji svet, vendar na vašem računalniku. Vse, kar počnete na internetu, uporablja določena vrata ali vrsto vrat.
Recimo, da želite zagnati svoj strežnik Minecraft. Če želite to narediti, boste morali odpreti vrata, prek katerih se bodo uporabniki lahko povezali z njimi. Enako bi veljalo za zagon lastnega spletnega, poštnega ali FTP strežnika.
Pristanišča so standardizirano za vsa povezana omrežja naprave. Prvih 1024 vrat (od 0 do 1023) se imenujejo dobro znane številke vrat. Rezervirane so za najpogosteje uporabljene storitve, kot sta HTTP in HTTP (vrata 80 oziroma 443) ter SSH (vrata 22).
Številke vrat nad 1024 se imenujejo efemerna pristanišča, in so običajno na voljo za vaše spletne igre na srečo, zasebne spletne strežnike in tako naprej. Klicane so številke vrat od 1024 do 49151 registrirano oz uporabniška vrata, medtem ko so tiste od 49152 do 65535 znane kot dinamično oz zasebna pristanišča.
Seznam odprtih vrat v Linuxu
Preden začnete poskušati odpreti vrata v Linuxu, se prepričajte, da še niso v uporabi. To lahko dosežete s pomočjo netstat ukaz, vključen v večino distribucij Linuxa. Če vaša distribucija nima netstat, lahko uporabiš ss namesto tega.
netstat -lntu.
To bo natisnilo vse vtičnice za poslušanje (-l), skupaj s številko vrat (-n). Vključuje vrata TCP (-t) kot tudi UDP (-u). Če vaš sistem nima netstat, samo uporabite ss z enakimi parametri.
ss -lntu.
Kako odpreti vrata v Linuxu
Za ta primer bomo domnevali, da želimo odpreti vrata 4000 za povezave TCP. Najprej se moramo prepričati, da vrata še niso v uporabi. To naredimo skozi netstat oz ss.
netstat -na | grep: 4000. ss -na | grep: 4000.
Ob predpostavki, da je izhod prazen, lahko dodamo ustrezna pravila vrat v požarni zid sistema. Metode za to se razlikujejo glede na vašo distribucijo in ali uporablja novejšo ufw požarni zid oz požarni zid. Ubuntu daje prednostufw, medtem CentOS običajno uporabljapožarni zid namesto tega. Seveda še vedno obstaja nekaj distribucij Linuxa, ki uporabljajo starejše iptables požarni zid.
Za uporabnike Ubuntu in druge sisteme, ki temeljijo na požarnem zidu ufw
Namesto uporabe starejšega iptables uporabljajo požarni zid, Ubuntu in nekatere druge distribucije ufw. V teh sistemih bo naslednji ukaz odprl vrata.
sudo ufw dovoli 4000.
Preskočite naslednjih nekaj korakov in preizkusite novo odprta vrata, da se prepričate, ali delujejo.
Kako odpreti vrata v Linuxu z uporabo CentOS in drugih sistemov, ki temeljijo na požarnem zidu
Če vaš sistem uporablja požarni zid, najbolje je, da uporabite požarni zid-cmd ukaz za posodobitev pravil.
sudo požarni zid-cmd --add-port=4000/tcp.
To ne bo trajna sprememba, vendar bomo obravnavali, kako ohraniti pravila po ponovnem zagonu, ko preizkusimo vrata.
Za druge distribucije Linuxa
Če vaš sistem Linux nima ufw oz požarni zid, boste morali uporabiti iptables. Če ni nameščen, ga pridobite z izbranim upraviteljem paketov. Ko je nameščen, bodo ti ukazi odprli vrata 4000:
sudo iptables -A INPUT -p tcp --dport 4000 -j SPREJEM. sudo storitev iptables znova zaženi.
Če vaš sistem uporablja systemctl, zamenjaj drugi ukaz z:
sudo systemctl znova zaženi iptables.
Preizkušanje na novo odprtih vrat za povezave
Nato moramo preizkusiti vrata, da se prepričamo, ali sprejema povezave. To naredimo z uporabo netcat (nc), da posluša vrata, nato pa poskuša telnet do njih.
Najprej odprite terminalsko okno in izdajte ta ukaz:
sudo ls | nc -l -p 4000.
Pustite delovati (poslušati) in odprite drugo okno terminala. V tem oknu boste uporabili telnet za testiranje povezljivosti. Če telnet ni nameščen, to storite z upraviteljem paketov.
telnet [ime gostitelja/naslov IP] [številka vrat]
Zamenjati [ime gostitelja/naslov IP] z naslovom IP vašega sistema in [številka vrat] s številko vrat, ki ste jo odprli.
telnet lokalni gostitelj 4000.
Spodaj bi morali videti takšen izhod, ki označuje odprto povezavo z nc.
Z uporabo lahko pokažemo tudi, da so vrata odprta nmap. Ponovno, če ukaz še ni nameščen, ga pridobite z upraviteljem paketov.
nmap localhost -p 4000.
Upoštevajte to nmap bo navedla samo odprta vrata, ki poslušajo povezave. Zato uporabljamo netcat za testiranje, da poslušamo ta vrata. V nasprotnem primeru vrata ne bodo registrirana kot odprta.
Ne morem se povezati s pristaniščem, ki sem ga pravkar odprl, kaj zdaj?
Če ste opravili vse zgornje korake in ne morete vzpostaviti povezave z vrati, še enkrat preverite tipkanje. Če ste prepričani, da ste vse vnesli pravilno, je verjetno, da boste morali znova konfigurirati omrežni usmerjevalnik, da bo dovolil promet.
Ker ima vsak omrežni usmerjevalnik različne konfiguracijske zaslone, si oglejte strani za podporo ali uporabniški priročnik za vašo določeno opremo. Preveriti boste morali nastavitve posredovanja vrat ali preslikave vrat, pa tudi morebitne vgrajene požarne zidove, ki jih lahko uporablja usmerjevalnik.
Kako trajno odpreti vrata v Linuxu
Ko preizkusite odprta vrata in se prepričate, da delujejo, boste verjetno želeli spremeniti trajno. V nasprotnem primeru se spremembe morda ne bodo ohranile po ponovnem zagonu. Če ste uporabnik Ubuntuja ali kako drugače uporabljate ufw požarni zid, za to vam ni treba skrbeti. The ufw pravila se ne ponastavijo ob ponovnem zagonu.
Za uporabnike požarnega zidu
Enostavno je, da se pravilo vrat po ponovnem zagonu obdrži požarni zid. Samo dodajte — stalna zastavico na vaš začetni ukaz in bo ob zagonu vključena v pravila požarnega zidu vašega sistema Linux.
sudo firewall-cmd --add-port=4000/tcp --permanent.
Če še vedno uporabljate iptables
The iptables požarni zid je veliko bolj težaven (morda dober razlog za nadgradnjo na požarni zid oz ufw). Za "trajno" odpiranje vrat v iptables, lahko namestite iptables-obstojna paket za pomoč.
Ko prvič namestite iptables-obstojna v sistemu, ki temelji na Debianu, bo vaša trenutna pravila shranila v enega ali drugega /etc/iptables/rules.v4 oz /etc/iptables/rules.v6. Če želite dodati nova pravila, boste izdali naslednji ukaz:
sudo iptables-save > /etc/iptables/rules.v4.
ALI
sudo iptables-save > /etc/iptables/rules.v6.
Za tiste, ki uporabljajo distribucije Linuxa, ki temeljijo na RPM, je nekoliko drugače. Paket se imenuje iptables-storitve, shranjene datoteke pa so /etc/sysconfig/iptables in /etc/sysconfig/ip6tables.
V distribucijah, ki temeljijo na RPM, se za vrata IPv6 uporablja tudi drugačen ukaz. Shranjevanje pravil se izvede z enim od teh dveh ukazov:
sudo iptables-save > /etc/sysconfig/iptables. sudo ip6tables-save > /etc/sysconfig/iptables.
Ne pozabite spremljati uporabe vrat
Sčasoma se lahko potrebe vašega strežnika spremenijo. Tako kot bi moral bodite na tekočem z uporabniškimi računi na vašem računalniku Linux morate redno preverjati tudi svoja odprta vrata. Zaprite vsa odprta vrata, ki niso več potrebna. Skupaj z redno spremenite svoje geslo, je to dobra varnostna praksa, ki vam bo pomagala izogniti se vdorom v sistem in varnostnim izkoriščanjem.