Iptables ohjelmalla voi muuttaa Linux:n ytimen verkkopaketti suodattimen asetuksia. Pakettien suodatus perustuu sääntölistoihin, joiden perusteella paketit hyväksytään tai pudotetaan pois.
Sääntölistoja on kolme ja niiden nimet ovat INPUT
(tulevan liikenteen
sääntölista), OUTPUT
(lähtevän liikenteen sääntölista) ja FORWARD
(välitettävän liikenteen sääntölista).
Sääntölistojen tulostus (taulukko muoto)
Sääntölistat sääntöineen voi tulostaa optiolla -L
(sama kuin --list
)
sudo iptables -L
Jos haluaa tuolostaa vain tietyn sääntölistan sääntöineen, niin option perään voi laittaa tulostettavan sääntölistan nimen.
sudo iptables -L INPUT
Lisä optiolla --line-numbers
saa näkymään sääntöjen rivinumerot, ja
lisäoptiolla -n
saa IP osoitteet ja portit tulostumaan numeerisina
(ilman -n
optiota tulostus voi ottaa pitkän ajan).
sudo iptables -L INPUT -n --line-numbers
Sääntöjen tulostus
Säännöt voi tulostaa -S
optiolla. Tämä näyttää kaikki
säännöt mitä sääntölistoihin on lisätty.
sudo iptables -S
Halutessa option perään voi lisätä sääntölistan nimen jonka säännöt tulostetaan.
sudo iptables -S INPUT
Säännön lisäys (listan loppuun)
Uuden säännön voi lisätä listan loppuun optiolla -A
. Option
jälkeen tulee listan nimi, johon sääntö lisätään, ja tämän
jälkeen itse sääntö.
sudo iptables -A INPUT -s 221.194.47.221 -j DROP
Säännön lisäys (listan alkuun tai tietylle riville)
Uuden säännön voi lisätä listan alkuun optiolla -I
. Option
jälkeen tulee listan nimi, johon sääntö lisätään, ja tämän
jälkeen itse sääntö.
sudo iptables -I INPUT -s 221.194.47.220 -j DROP
Jos listan nimen jälkeen syöttää rivinumeron, menee sääntö kyseiselle riville listassa.
sudo iptables -I INPUT 2 -s 221.194.47.220 -j DROP
Säännön poisto
Säännön voi poistaa listasta option -D
avulla. Option jälkeen tulee
listan nimi, josta sääntö poistetaan, ja tämän jälkeen poistettava
sääntö tai sen rivinumero.
sudo iptables -D INPUT -s 221.194.47.220 -j DROP
sudo iptables -D INPUT 4
Sääntölistan tyhjennys
Sääntölistat voi tyhjentää optiolla -F
(sama kuin --flush
).
sudo iptables -F
Option -F
perään voi halutessa laittaa tyhjennettävän listan nimen, jos
ei halua tyhjentää kaikkia sääntölistoja.
sudo iptables -F INPUT
Esimerkki
Estetään kaikki tuleva (INPUT
-lista) TCP liikenne osoitteista 211.194.x.x
porttiin 22 (SSH -portti).
iptables -A INPUT -s 221.194.0.0/16 -p tcp --destination-port 22 -j DROP
Huom. ryhmä osoitteiden kanssa kannattaa olla tarkkana jottei tule vahingossa blokattua omaa pääsyä palvelimelle. Osoite 211.194.47.x ilmaistaan 211.194.47.x/24.