iptables -3- iptables temel komutları.

25 April, 2009 (23:43) | iptables | By: alper

iptables genel kullanımı :


iptables [-t table] command [match] [target/jump]


iptables komutunun en temel kullanımı yukarda görüldüğü şekildedir.

-t table :

“-t table” kullanılarak default table harici başka bir table’a eklemek için kullanılır. kullanılması zaruri bir parametre değildir. table belirtilmediği müddetçe rule default table a eklenir. “-t table” kural içerisinde hernangi bir yere konulabilir, kural başlangıcına konulmak zorunda değildir.

command :

command ( komut ) herzaman en başa  gelmelidir. sadece “-t table” kullanıldığında table parametresinden sonra kullanılabilir. command iptables ‘a ne yapacağını söyledeğimiz yerdir örneğin : kural ekle, kural sil gibi.

match :

kernel’e kural için geçerli olan ip paketinin karakteristiği hakkında bilgi vermek için kullanılır örneğin : şu ip adresinden gelen, şu protokol, şu port vb gibi.

target :

paketler için gerekli şartlar sağlandığında match gibi kurallar tuttuğunda kernel’e söz konusu paket ile ne yapacağını söylemek amacı ile kullanılır. örneğin : paketi başka bir hain e yönlendir, paketi göz ardı et, başka bir kaynağa yönlendir gibi.

Commands ( Komutlar ) :


Şimdi iptables ile kullanabileceğimiz komutlara bir göz atalım ;

-A –append

iptables -A INPUT

Bu komut belirtilen zincir’in en sonuna belirtilen kuralı ekler. Başka bir deyişle daha sonra bir kural daha eklenmediği müddetçe bu kural zincir içerisinde en son paketin kontrol edileceği yer olur.

-D –delete

iptables -D INPUT –dport 80 -j DROP, iptables -D INPUT 1

Bir zincirdeki belirtilen kuralı siler. İki türlü kullanımı vardır , Silmek istediğiniz kuralı aynen belirterek silebilirsiniz veya kurallar eklenirken tüm kurallara 1 den başlayarak bir numara verilir söz konusu rule numarası belirtilerek’de silinebilir.

-R –replace

iptables -R INPUT 1 -s 192.168.0.1 -j DROP

Yer değiştirmek. daha önceden girilmiş olan bir kuralı silmek yerine yenisi ile değiştirmek amacı ile kullanılır. kullanımı -D ile aynı olup farkı silmek yerine yeni eklediğiniz kural ile yerdeğiştirmesidir. yukarıdaki örnekde INPUT içerisindeki 1 nolu kuralı yer değiştiriyor.

-I –insert

iptables -I INPUT 1 –dport 80 -j ACCEPT

Belirtilen zincirde belirtilen kural sıralamasında araya bir kural eklemek için kullanılır. örneğin yeni bir kural eklemek istiyoruz. daha önceden eklediğimiz bir yada bir kaç kural söz konusu paket için farklı işlemleri daha önceden gerçekleştirdiği için bu kural kullanılmaz duruma düşüyorsa söz konusu kurallardan önce bu kuralı araya girmemiz gerekebilir. daha basit anlatımıyla 192.168.1.1 den gelen tüm paketleri drop eden bir kuralımız varsa sonradan ekleyeceğimiz bu ip adresinden gelen http isteklerine izin veren kural tamamen işlevsiz olacaktır. söz konusu drop kuralından öncesine rule numarası girerek “insert” ederiz.

-L –list

iptables -L INPUT

Belirtilen tablo veya zincirdeki kuralları listeler.  örneğimizde INPUT zinciri içerisindeki tüm kuralları listeliyoruz. Çıktı sonuçları opsiyonlara göre değişebilir -n -v gibi opsiyonlar kullanılabilir. ( opsiyonlara az sonra değineceğim )

-F –flush

iptables -F INPUT

Bir zincir’in içerisindeki tüm kuralları silmek için kullanılır. Söz konusu zincir içerisindeki kuralların hepsini silmek istediğimizde tek tek -D komutu kullanmaktan hızlı olduğu için eklenmiştir. zincir belirtilmediği takdirde belirli tabloların içerisindeki tüm kuralları siler.örneğimizde INPUT zinciri içerisindeki tüm kuralları siliyor.

-Z –zero

iptables -Z INPUT

iptables kuralları sayaçlara sahiptir. Bu sayaçlar söz konusu kural ile eşleşmiş olan paketler hakkında bilgileri içerir. herhangi bir amaç için bu sayaç bilgilerini resetlemek istediğinizde -Z kullanılır. -Z sayaçların değerlerini göstermeden sildiği için genelde -L ile beraber kullanılır. Belirli bir kuralın veya komple bir zincirin içerisindeki kuralların sayaçlarını sıfırlamak için kullanılabilir.

-N –new-chain

iptables -N izinliler

Yeni bir chain eklemek için kullanılır ( bir önceki yazımda görmüştük )

-X –delete-chain

iptables -X izinliler

Belirtilen zinciri silmek için kullanılır.  Bu komutun kullanılması için , söz konusu zincir içerisinde herhangi bir kuralın bulunmaması gerekmektedir. Herhangi bir zincir adı belirtilmediğinde belirli tablo içerisindeki tüm zincirleri siler. -X şeklinde değişik bir parametrenin kullanılma sebebini coder daha iyi tüm harflerin daha önceden başka amaçlar için kullanılması olarak belirtmiş. rneğimizde izinliler zinciri siliniyor.

-P –policy

iptables -P INPUT DROP

Daha önceki yazımda policy nedemek görmüştük. -P parametresi ile belirtilen zincir ierisinde paket herhangi bir kurala uymazsa pakete nasıl davranılacağını belirtmek için kullanılır. Buradaki örnekte INPUT zincirinde herhangi bir kural tarafından işlenmeyen paketin default olarak drop edileceği belirtiliyor.

-E –rename-chain

iptables -E izinliler izinsizler

Belirtilen zincir isminin yeni bir isimle değiştirilmesi için kullanılır. izinliler zincirinin izinsizler olarak yeniden adlandırılması gibi.

Opsiyonlar :


opsiyon : -v –verbose

Beraber kullanılabileceği komutlar : –list, –append, –insert, –delete, –replace

İlgili komutlarla beraber daha ayrıntılı çıktı almak için kullanılır. örneğin –list ile birlikte kullanıldığında, kuralin ilgili olduğu interface adresini , rule opsiyonlarını, TOS marklari da gösterir. aynı zamanda byte ve paket sayaçlarını da gösterir. sayaçlar -K X1000 -M X1000000 -G X1000000000 gibi değerlerle görünebilir. bunu engellemek için -x opsiyonu ile beraber kullanarak tam sonuçlar alınabilir.

opsiyon : -x –exact

Beraber kullanılabileceği komutlar : –list

verbose çıktının kısaltmalar halinde değil tam değerini görmek için kullanılır.

opsiyon : -n –numeric

Beraber kullanılabileceği komutlar :–list

list ile beraber kullanılır sadece, söz konusu görüntülenen kuraldaki değerlerin numara olarak görüntülenmesi amacı ile kullanılır örneğin hostname yerine ip adresi www yerine tcp 80 şeklinde görünmesi gibi. söz konusu değerler şayet numeric değerlere değiştirilebiliyorsa numeric olarak gösterilir. örneğin çözümlenemeyen dns adresleri isim olarak görünmeye devam edecektir.

opsiyon : –line-numbers

Beraber kullanılabileceği komutlar : –list

Sadece –list ile beraber kullanılan bu opsiyon kuraları listelerken başlarına Satır numaraları verir. Söz konusu satır numaraları kural numarasına eşittir. insert komutu ile yeni bir kural ekleneceği zaman kuralın hangi numara ile ekleneceğini belirlemek gibi amaçlarla kullanılır.

opsiyon : -c –set-counters

Beraber kullanılabileceği komutlar : –insert, –append, –replace

Yeni bir kural oluştururken yada yapılandırırken kuralın sayaçlarını modifiye etmek için kullanılır. örneğin : –set-counters 20 4000 şeklinde kullanarak paket counter’i 20 ye ve byte counter’ını 4000′e ayarlayabiliriz.

opsiyon : –modprobe

Beraber kullanılabileceği komutlar : Hepsi

iptables kuralı herhangi bir modüle gerek duyarsa yüklemek amacıyla kullanılır.  Tüm komutlarla beraber kullanılabilir.

iptables ile kullanılan komut ve opsiyonları kısaca görmüş olduk.

Write a comment