Portok megnyitása Linux alatt
Linux Ubuntu Ubuntu Alapjai Hős / / March 02, 2022

Utolsó frissítés dátuma

Ha külső kapcsolatokat szeretne engedélyezni egy számítógéphez vagy szerverhez, meg kell nyitnia a megfelelő portot. A Linux-felhasználók ennek a hasznos útmutatónak a segítségével nyithatnak portokat.
Külső számítógéphez vagy szerverhez kell csatlakoznia – vagy másik számítógépre vagy szerverre van szüksége a csatlakozáshoz? Ha Linuxot futtat, meg kell győződnie arról, hogy a megfelelő port nyitva van.
Míg más operációs rendszerek általában rendelkeznek valamilyen grafikus eszközzel erre, a Linux nem ilyen egyszerű. Az alábbiakban bemutatjuk, hogyan lehet portokat nyitni Linux alatt.
Mi az a port és miért kell megnyitnom?
A port a hálózat végpontja. Gondoljon rá, mint egy ajtóra, amely egy adott helyiségbe vagy a külvilágba vezet, de a számítógépén. Minden, amit az interneten tesz, egy adott portot vagy portok sorozatát használ.
Tegyük fel például, hogy saját Minecraft szervert szeretne futtatni. Ehhez meg kell nyitnia egy portot, amelyen keresztül a felhasználók csatlakozhatnak hozzá. Ugyanez vonatkozik a saját web-, levelező- vagy FTP-kiszolgálójának futtatására is.
A portok vannak szabványosítva az összes hálózatra csatlakoztatott helyen eszközöket. Az első 1024 portra (0-tól 1023-ig) ún jól ismert portszámok. A leggyakrabban használt szolgáltatások számára vannak fenntartva, mint például a HTTP és a HTTP (80-as és 443-as port), valamint az SSH (22-es port).
Az 1024 feletti portszámok neve efemer portok, és általában elérhetőek az Ön számára online játékokhoz, privát webszerverekhez és így tovább. Az 1024 és 49151 közötti portszámok hívódnak bejegyzett vagy felhasználói portok, míg a 49152 és 65535 közöttieket dinamikus vagy privát portok.
Nyílt portok listázása Linuxon
Mielőtt megpróbálna megnyitni egy portot Linuxon, győződjön meg arról, hogy az nincs még használatban. Ezt a segítségével érheti el netstat parancs, amely a legtöbb Linux disztribúcióban megtalálható. Ha az Ön disztribúciója nem rendelkezik netstat, Te tudod használni ss helyette.
netstat -lntu.

Ezzel kinyomtatja az összes lehallgató aljzatot (-l), a portszámmal együtt (-n). TCP portokat tartalmaz (-t), valamint az UDP (-u). Ha a rendszerében nincs netstat, csak használd ss ugyanazokkal a paraméterekkel.
ss -lntu.

Portok megnyitása Linux alatt
A példa kedvéért feltételezzük, hogy a 4000-es portot szeretnénk megnyitni a TCP-kapcsolatok számára. Először meg kell győződnünk arról, hogy a port még nincs használatban. Ezt keresztül tesszük netstat vagy ss.
netstat -na | grep :4000. ss -na | grep :4000.
Feltételezve, hogy a kimenet üres, hozzáadhatjuk a megfelelő portszabályokat a rendszer tűzfalához. Ennek módszerei a disztribúciódtól és attól függően változnak, hogy az újabbat használja-e ufw tűzfal ill tűzfal. Az Ubuntu kedvezufw, míg A CentOS általában használtűzfal helyette. Természetesen még mindig vannak olyan Linux-disztribúciók, amelyek a régebbieket használják iptables tűzfal.
Ubuntu felhasználók és más ufw tűzfal alapú rendszerek számára
Ahelyett, hogy a régebbit használná iptables tűzfal, Ubuntu és néhány más disztribúció ufw. Ezekben a rendszerekben a következő parancs nyitja meg a portot.
sudo ufw engedélyezi a 4000-et.
Ugorja át a következő néhány lépést, és tesztelje az újonnan megnyitott portot, hogy megbizonyosodjon arról, hogy működik.
Portok megnyitása Linuxban a CentOS és más tűzfal alapú rendszerek használatával
Ha a rendszere használja tűzfal, a legjobb megoldás az, ha a tűzfal-cmd parancsot a szabályok frissítéséhez.
sudo firewall-cmd --add-port=4000/tcp.
Ez nem lesz végleges változás, de kitérünk arra, hogyan tartsuk fenn a szabályokat az újraindítás után, miután teszteltük a portot.
Más Linux disztribúciókhoz
Ha a Linux rendszerében nincs ufw vagy tűzfal, akkor használnia kell iptables. Ha nincs telepítve, szerezze be a választott csomagkezelő segítségével. A telepítés után ez a parancs megnyitja a 4000-es portot:
sudo iptables -A BEMENET -p tcp --dport 4000 -j ELFOGADÁS. sudo service iptables újraindul.
Ha a rendszere használja systemctl, cserélje ki a második parancsot a következőre:
sudo systemctl indítsa újra az iptables-t.
Az újonnan megnyitott portok tesztelése a kapcsolatokhoz
Ezután tesztelnünk kell a portot, hogy megbizonyosodjunk arról, hogy fogadja-e a kapcsolatokat. Ezt a netcat (nc), hogy hallgassa a portot, majd megpróbáljon telnetet kötni hozzá.
Először nyisson meg egy terminálablakot, és adja ki ezt a parancsot:
sudo ls | nc -l -p 4000.
Hagyja futni (hallgat), és nyisson meg egy második terminálablakot. Ebben az ablakban a telnet segítségével tesztelheti a kapcsolatot. Ha a telnet nincs telepítve, használja a csomagkezelőt.
telnet [gépnév/IP-cím] [portszám]
Cserélje ki [gépnév/IP-cím] a rendszer IP-címével, és [portszám] a megnyitott portszámmal.
telnet localhost 4000.
Az alábbiakban ehhez hasonló kimenetet kell látnia, jelezve a nyitott kapcsolatot nc.

Azt is megmutathatjuk, hogy a port nyitva van a használatával nmap. Ismételten, ha a parancs még nincs telepítve, használja a csomagkezelőt a letöltéséhez.
nmap localhost -p 4000.

Vegye figyelembe, hogy nmap csak azokat a nyitott portokat sorolja fel, amelyek figyelik a kapcsolatokat. Ezért használjuk a netcat-et tesztelésre, hogy azon a porton hallgassunk. Ellenkező esetben a port nem regisztrálja magát nyitottként.
Nem tudok csatlakozni a most megnyitott porthoz, most mi van?
Ha végrehajtotta a fenti lépések mindegyikét, és nem tud csatlakozni a porthoz, ellenőrizze még egyszer a gépelést. Ha biztos benne, hogy mindent helyesen adott meg, valószínűleg újra kell konfigurálnia a hálózati útválasztót a forgalom engedélyezéséhez.
Mivel minden hálózati útválasztónak más konfigurációs képernyője van, olvassa el az adott berendezés támogatási oldalait vagy használati útmutatóját. Ellenőriznie kell a porttovábbítási vagy portleképezési beállításokat, valamint az útválasztó által használt beépített tűzfalat.
Hogyan lehet végleg megnyitni egy portot Linux alatt
Miután tesztelte a nyitott portot, és megbizonyosodott arról, hogy működik, valószínűleg véglegessé kell tennie a változtatást. Ellenkező esetben előfordulhat, hogy a változtatások nem maradnak meg újraindítás után. Ha Ön Ubuntu felhasználó, vagy más módon használja a ufw tűzfal, nem kell aggódnia emiatt. Az ufw a szabályok nem állnak vissza újraindításkor.
Tűzfal felhasználóknak
A portszabályt egyszerű rögzíteni az újraindítás után tűzfal. Csak add hozzá a -állandó jelölje be a kezdeti parancshoz, és az indításkor bekerül a Linux rendszer tűzfalszabályai közé.
sudo firewall-cmd --add-port=4000/tcp --permanent.
Ha még mindig iptables-t használ
Az iptables a tűzfal sokkal problémásabb (talán jó ok a frissítésre tűzfal vagy ufw). Egy port „végleges” megnyitásához iptables, telepítheti a iptables-persistent csomag segít.
Amikor először telepíti iptables-persistent Debian alapú rendszereken bármelyikre menti a jelenlegi szabályokat /etc/iptables/rules.v4 vagy /etc/iptables/rules.v6. Új szabályok hozzáadásához a következő parancsot kell kiadnia:
sudo iptables-save > /etc/iptables/rules.v4.
VAGY
sudo iptables-save > /etc/iptables/rules.v6.
Azok számára, akik RPM-alapú Linux-disztribúciókat futtatnak, ez egy kicsit más. A csomag ún iptables-services, és a mentési fájlok /etc/sysconfig/iptables és /etc/sysconfig/ip6tables.
Az RPM-alapú disztribúciókon egy másik parancs is létezik az IPv6-portokhoz. A szabályok mentése a következő két parancs egyikével történik:
sudo iptables-save > /etc/sysconfig/iptables. sudo ip6tables-save > /etc/sysconfig/iptables.
Feltétlenül figyelje porthasználatát
Az idő előrehaladtával a szerverigények változhatnak. Ahogy kell lépést tartani a felhasználói fiókokkal Linuxos gépén rendszeresen ellenőriznie kell a nyitott portokat is. Zárja be a már nem szükséges nyitott portokat. Rendszeresen együtt jelszó megváltoztatása, ez egy jó biztonsági gyakorlat, amely segít elkerülni a rendszerbehatolásokat és a biztonsági visszaéléseket.