Kuidas avada port Linuxis: ufw ja iptables
Pordi avamiseks Linuxis on kõige lihtsam kasutada ufw-d: sudo ufw allow 443/tcp. Peenemaks juhtimiseks sobib iptables: sudo iptables -A INPUT -p tcp --dport 443 -j ACCEPT. Allpool on mõlemad viisid koos reeglite salvestamise ja kontrolliga, et port jääks avatuks ka pärast taaskäivitust.
Viis 1. ufw (lihtne tulemüür)
ufw on iptablesi pealisehitus arusaadava süntaksiga, Ubuntus ja Debianis vaikimisi saadaval.
Samm 1. Kontrollige olekut
sudo ufw status verbose
Kui ufw pole aktiivne, lubage enne sisselülitamist kindlasti SSH, muidu kaotate ligipääsu:
sudo ufw allow 22/tcp
sudo ufw enable
Samm 2. Avage vajalik port
sudo ufw allow 443/tcp
sudo ufw allow 80/tcp
UDP-pordi või vahemiku avamine:
sudo ufw allow 53/udp
sudo ufw allow 6000:6010/tcp
Pordi lubamine ainult ühelt IP-aadressilt:
sudo ufw allow from 203.0.113.5 to any port 5432 proto tcp
Samm 3. Kontrollige reegleid
sudo ufw status numbered
Reegli kustutamine numbri järgi:
sudo ufw delete 3
Viis 2. iptables (madala taseme juhtimine)
iptables annab reegliahelate üle täieliku kontrolli.
Pordi avamine
sudo iptables -A INPUT -p tcp --dport 443 -j ACCEPT
Õigem on lubada ainult uusi ja juba loodud ühendusi:
sudo iptables -A INPUT -p tcp --dport 443 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT
Reeglite vaatamine
sudo iptables -L INPUT -n --line-numbers
Reegli kustutamine
sudo iptables -D INPUT 2
iptablesi reeglite salvestamine
Vaikimisi lähevad iptablesi reeglid pärast taaskäivitust kaotsi. Salvestage need paketiga netfilter-persistent:
sudo apt install iptables-persistent
sudo netfilter-persistent save
ufw või iptables: kumba valida
| Kriteerium | ufw | iptables |
|---|---|---|
| Lihtsus | kõrge | madal |
| Paindlikkus | keskmine | maksimaalne |
| Reeglite salvestamine | automaatne | vajab netfilter-persistent |
| Sobib | tavaülesanneteks | keerukateks NAT-i ja marsruutimise skeemideks |
Ärge segage ühes serveris käsitsi kirjutatud iptablesi reegleid ufw-ga — hallake tulemüüri ühe tööriistaga.
Nimelised rakendused ja ufw profiilid
ufw oskab töötada mitte ainult pordinumbritega, vaid ka valmis rakendusprofiilidega. Saadaolevate loend:
sudo ufw app list
Rakenduse portide avamine ühe reegliga (näiteks kogu Nginx — 80 ja 443):
sudo ufw allow "Nginx Full"
See on mugavam kui pordinumbrite meelespidamine ja vähendab trükivea riski.
Ühenduskatsete piiramine (rate limiting)
ufw oskab piirata uute ühenduste sagedust porti — kasulik SSH puhul, et paroolide äraarvamist raskendada. Reegel limit blokeerib IP-aadressi, mis teeb 30 sekundi jooksul 6 või rohkem ühendust:
sudo ufw limit 22/tcp
See ei asenda tugevat võtmepõhist autentimist, kuid vähendab automaatsete otsijate müra.
Kontroll, et port on avatud
Kohapeal peab teenus porti kuulama:
sudo ss -tulpn | grep :443
Väljastpoolt kontrollige kättesaadavust teisest hostist:
nmap -p 443 203.0.113.10
Korduma kippuvad küsimused
Avasin pordi, aga väljastpoolt pole see kättesaadav — miks?
Port on tulemüüris avatud, kuid teenus ei kuula seda, või on olemas teine tulemüür (teenusepakkuja pilve turbegrupp). Kontrollige ss -tulpn ja võrguseadeid juhtpaneelis.
ufw enable katkestas mu SSH-ühenduse — mida teha?
Enne ufw sisselülitamist lisage alati ufw allow 22/tcp. Kui ligipääs on kadunud, taastage see KVM-konsooli kaudu.
iptablesi reeglid kadusid pärast taaskäivitust — mida teha?
iptables ei salvesta reegleid ise. Paigaldage iptables-persistent ja käivitage netfilter-persistent save.
Kuidas porti ajutiselt sulgeda?
ufw-s: sudo ufw deny 443/tcp või kustutage lubav reegel. iptablesis kustutage reegel käsuga -D.
Kas väljuvate ühenduste jaoks on vaja porti avada? Ei, vaikimisi lubab OUTPUT-poliitika väljuvat liiklust. Teenuste jaoks avatakse just sissetulevad (INPUT) pordid.
Vajate serverit root-ligipääsu ja oma tulemüüriga? Võtke kasutusele Linuxi VPS jaotisest VPS rent või tellige serverite haldus.