Ovaj vodič pokušat će objasniti kako koristiti iptables na Linuxu u lako razumljivom jeziku.
Sadržaj[sakriti]
|
Pregled
Iptables je vatrozid koji se temelji na pravilima, koji će obraditi sva pravila kako ne bi pronašao onaj koji odgovara.
Todo: ovdje uključite primjer
upotreba
Uslužni program iptables obično je unaprijed instaliran na Linux distribuciji, ali zapravo ne pokreće nikakva pravila. Ovdje ćete pronaći alat ovdje na većini distribucija:
/sbin/iptables
Blokiranje jedinstvene IP adrese
Možete blokirati IP koristeći parametar -s, zamjenjujući 10.10.10.10 s adresom koju pokušavate blokirati. U ovom ćete primjeru primijetiti da smo umjesto dodatka upotrijebili parametar -I (ili - umetak) jer želimo osigurati da se ovo pravilo prvo prikazuje, prije nego što dopusti pravila.
/sbin/iptables -I INPUT -s 10.10.10.10 -j DROP
Omogućavanje svih prometa s IP adrese
Naizmjence možete omogućiti sav promet s IP adrese pomoću iste naredbe kao gore, ali zamjenjujući DROP s ACCEPT. Morate se uvjeriti da se ovo pravilo prikazuje prvo, prije nego što se DROP pravila.
/sbin/iptables -A INPUT -s 10.10.10.10 -j ACCEPT
Blokiranje luke od svih adresa
U potpunosti možete blokirati priključak od pristupa preko mreže pomoću preklopke -porta i dodavanja priključka usluge koju želite blokirati. U ovom primjeru blokirat ćemo port mysql:
/sbin/iptables -A INPUT -p tcp --dport 3306 -j DROP
Omogućivanje jedinstvene luke iz jedne IP adrese
Možete dodati -s naredbu zajedno s naredbom -portport kako biste dodatno ograničili pravilo na određeni port:
/sbin/iptables -A INPUT -p tcp -s 10.10.10.10 --dport 3306 -j ACCEPT
Pregled trenutnih pravila
Trenutačna pravila možete pregledati pomoću sljedeće naredbe:
/sbin/iptables -L
To bi vam trebalo dati izlaz sličan sljedećem:
Chain INPUT (policy ACCEPT) target prot opt source destination ACCEPT all -- 192.168.1.1/24 anywhere ACCEPT all -- 10.10.10.0/24 anywhere DROP tcp -- anywhere anywhere tcp dpt:ssh DROP tcp -- anywhere anywhere tcp dpt:mysql
Stvarni izlaz bit će, naravno, malo duži.
Brisanje trenutačnih pravila
Možete izbrisati sva trenutna pravila pomoću parametra za ispiranje. Ovo je vrlo korisno ako trebate postaviti pravila u ispravnom redoslijedu ili kada testirate.
/sbin/iptables --flush
Distribucija-Specific
Dok većina Linux distribucija uključuje oblik iptables, neki od njih također uključuju omotače koji čine upravljanje malo lakše. Najčešće su ti "addons" u obliku init skripti koji vode računa o inicijalizaciji iptablesa pri pokretanju, iako neke distribucije uključuju i potpune aplikacije omotača koji pokušavaju pojednostaviti zajednički slučaj.
Gentoo
iptables init script na Gentoo je sposoban za rukovanje mnogim zajedničkim scenarijima. Za početak, omogućuje konfiguriranje iptables za učitavanje prilikom pokretanja (obično ono što želite):
rc-update add iptables default
Uporabom init skripte moguće je učitati i brisati vatrozid s lako zapamćenom naredbom:
/etc/init.d/iptables start /etc/init.d/iptables stop
Init skripta obrađuje pojedinosti o postojanju vaše trenutne konfiguracije vatrozida na start / stopu. Stoga je vaš vatrozid uvijek u stanju koje ste je ostavili. Ako trebate ručno spremiti novo pravilo, init skripta može to riješiti i:
/etc/init.d/iptables save
Osim toga, vatrozid možete vratiti na prethodno spremljeno stanje (za slučaj prilikom eksperimentiranja s pravilima i sada želite vratiti prethodnu funkcionalnu konfiguraciju):
/etc/init.d/iptables reload
Konačno, init skripta može staviti iptables u način "panike", gdje su svi dolazni i odlazni promet blokirani. Nisam siguran zašto je ovaj način koristan, ali čini se da svi Linuxovi vatrozidi imaju.
/etc/init.d/iptables panic
Upozorenje: Ne pokrećite način panike ako ste povezani s vašim poslužiteljem preko SSH-a; vashtjeti biti odspojen! Jedini put kada trebate staviti iptables u paniku je dok stetjelesno ispred računala.