- NAT : Secara umum digunakan untuk melakukan Network Address Translation. NAT adalah penggantian field alamat asal atau alamat tujuan dari sebuah paket.
|
Command
|
Keterangan
|
|
-A
--append
|
Perintah ini
menambahkan aturan pada akhir chain. Aturan akan ditambahkan di akhir baris
pada chain yang bersangkutan, sehingga akan dieksekusi terakhir
|
|
-D
--delete
|
Perintah ini menghapus suatu aturan pada chain. Dilakukan
dengan cara menyebutkan secara lengkap perintah yang ingin dihapus atau
dengan menyebutkan nomor baris dimana perintah akan dihapus.
|
|
-R
--replace
|
Penggunaannya
sama seperti --delete, tetapi command
ini menggantinya dengan entry yang baru.
|
|
-I
--insert
|
Memasukkan
aturan pada suatu baris di chain. Aturan akan dimasukkan pada baris yang
disebutkan, dan aturan awal yang menempati baris tersebut akan digeser ke
bawah. Demikian pula baris-baris selanjutnya.
|
|
-L
--list
|
Perintah ini
menampilkan semua aturan pada sebuah tabel. Apabila tabel tidak disebutkan,
maka seluruh aturan pada semua tabel akan ditampilkan, walaupun tidak ada
aturan sama sekali pada sebuah tabel. Command ini bisa dikombinasikan
dengan option –v (verbose), -n (numeric) dan –x (exact).
|
|
-F
--flush
|
Perintah ini
mengosongkan aturan pada sebuah chain. Apabila chain tidak disebutkan, maka
semua chain akan di-flush.
|
|
-N
--new-chain
|
Perintah tersebut akan membuat chain baru.
|
|
-X
--delete-chain
|
Perintah ini
akan menghapus chain yang disebutkan. Agar perintah di atas berhasil, tidak
boleh ada aturan lain yang mengacu kepada chain tersebut.
|
|
-P
--policy
|
Perintah ini
membuat kebijakan default pada sebuah chain. Sehingga jika ada sebuah paket
yang tidak memenuhi aturan pada baris-baris yang telah didefinisikan, maka
paket akan diperlakukan sesuai dengan kebijakan default ini.
|
|
-E
--rename-chain
|
Perintah ini
akan merubah nama suatu chain.
|
- MANGLE : Digunakan untuk melakukan penghalusan (mangle) paket, seperti TTL, TOS dan MARK.
- FILTER : Secara umum, inilah pemfilteran paket yang sesungguhnya.. Di sini bisa dintukan apakah paket akan di-DROP, LOG, ACCEPT atau REJECT
|
Option
|
Command
Pemakai
|
Keterangan
|
|
-v
--verbose
|
--list
--append
--insert
--delete
--replace
|
Memberikan
output yang lebih detail, utamanya digunakan dengan --list. Jika digunakan dengan
--list, akan menampilkam K (x1.000), M (1.000.000) dan G (1.000.000.000). |
|
-x
--exact
|
--list
|
Memberikan
output yang lebih tepat.
|
|
-n
--numeric
|
--list
|
Memberikan
output yang berbentuk angka. Alamat IP dan nomor port akan ditampilkan dalam bentuk
angka dan bukan hostname ataupun nama aplikasi/servis.
|
|
--line-number
|
--list
|
Akan
menampilkan nomor dari daftar aturan. Hal ni akan mempermudah bagi kita untuk
melakukan modifikasi aturan, jika kita mau meyisipkan atau menghapus aturan
dengan nomor tertentu.
|
|
--modprobe
|
All
|
Memerintahkan
IPTables untuk memanggil modul tertentu. Bisa digunakan bersamaan dengan
semua command.
|
|
Match
|
Keterangan
|
|
-p
--protocol
|
Digunakan untuk mengecek tipe protokol tertentu. Contoh protokol yang
umum adalah TCP, UDP, ICMP dan ALL. Daftar protokol bisa dilihat pada /etc/protocols.
Tanda inversi
juga bisa diberlakukan di sini, misal kita menghendaki semua protokol kecuali
icmp, maka kita bisa menuliskan --protokol ! icmp yang berarti semua kecuali icmp.
|
|
-s
--src
--source
|
Kriteria ini digunakan untuk mencocokkan paket berdasarkan alamat IP
asal. Alamat di sini bisa berberntuk alamat tunggal seperti 192.168.1.1, atau
suatu alamat network menggunakan netmask misal 192.168.1.0/255.255.255.0,
atau bisa juga ditulis 192.168.1.0/24 yang artinya semua alamat 192.168.1.x.
Kita juga bisa menggunakan inversi.
|
|
-d
--dst
--destination
|
Digunakan untuk mecocokkan paket berdasarkan alamat tujuan. Penggunaannya sama dengan match –src
|
|
-i
--in-interface
|
Match ini berguna untuk mencocokkan paket berdasarkan interface di mana paket
datang. Match ini hanya berlaku pada chain INPUT, FORWARD dan
PREROUTING
|
|
-o
--out-interface
|
Berfungsi untuk mencocokkan paket berdasarkan interface di mana paket
keluar. Penggunannya sama dengan
--in-interface. Berlaku untuk chain OUTPUT, FORWARD dan POSTROUTING |
|
Match
|
Keterangan
|
|
--sport
--source-port
|
Match ini berguna
untuk mecocokkan paket berdasarkan port asal. Dalam hal ini kia bisa
mendefinisikan nomor port atau nama service-nya. Daftar nama service
dan nomor port yang bersesuaian dapat dilihat di /etc/services.
--sport juga bisa dituliskan untuk range port tertentu.
Misalkan kita ingin mendefinisikan range antara port 22 sampai dengan 80,
maka kita bisa menuliskan --sport 22:80.
Jika bagian
salah satu bagian pada range tersebut kita hilangkan maka hal itu bisa kita
artikan dari port 0, jika bagian kiri yang kita hilangkan, atau 65535 jika
bagian kanan yang kita hilangkan. Contohnya --sport :80 artinya paket dengan port asal nol sampai dengan 80,
atau --sport 1024:
artinya paket
dengan port asal 1024 sampai dengan 65535.Match ini juga mengenal inversi.
|
|
--dport
--destination-port
|
Penggunaan match ini sama
dengan match --source-port.
|
|
--tcp-flags
|
Digunakan
untuk mencocokkan paket berdasarkan TCP flags yang ada pada paket
tersebut. Pertama, pengecekan akan mengambil daftar flag yang akan
diperbandingkan, dan kedua, akan memeriksa paket yang di-set 1, atau on.
Pada kedua list,
masing-masing entry-nya harus dipisahkan oleh koma dan tidak boleh ada spasi
antar entry, kecuali spasi antar kedua list. Match ini mengenali
SYN,ACK,FIN,RST,URG, PSH. Selain itu kita juga menuliskan ALL
dan NONE. Match ini juga bisa menggunakan
inversi.
|
|
--syn
|
Match ini akan
memeriksa apakah flag SYN di-set dan ACK dan FIN tidak di-set.
Perintah ini sama artinya jika kita menggunakan match --tcp-flags SYN,ACK,FIN SYN
Paket dengan match
di atas digunakan untuk melakukan request koneksi TCP yang baru
terhadap server
|
Ada dua macam match untuk UDP:
|
Target
|
Keterangan
|
|
-j ACCEPT
--jump ACCEPT
|
Ketika paket cocok dengan daftar match
dan target ini diberlakukan, maka paket tidak akan melalui baris-baris aturan
yang lain dalam chain tersebut atau chain yang lain yang mereferensi chain
tersebut. Akan tetapi
paket masih akan memasuki chain-chain pada tabel yang lain seperti biasa.
|
|
-j DROP
--jump DROP
|
Target ini
men-drop paket dan menolak untuk memproses lebih jauh. Dalam beberapa
kasus mungkin hal ini kurang baik, karena akan meninggalkan dead socket
antara client dan server.
Paket yang
menerima target DROP benar-benar mati dan target tidak akan mengirim
informasi tambahan dalam bentuk apapun kepada client atau server.
|
|
-j RETURN
--jump RETURN
|
Target ini
akan membuat paket berhenti melintasi aturan-aturan pada chain dimana paket
tersebut menemui target RETURN. Jika chain merupakan subchain dari
chain yang lain, maka paket akan kembali ke superset chain di atasnya
dan masuk ke baris aturan berikutnya. Apabila chain adalah chain utama
misalnya INPUT, maka paket akan dikembalikan kepada kebijakan default dari chain
tersebut.
|
|
-j MIRROR
|
Apabila kompuuter A menjalankan
target seperti contoh di atas, kemudian komputer B melakukan koneksi http ke
komputer A, maka yang akan muncul pada browser adalah website komputer B itu
sendiri. Karena fungsi utama target ini adalah membalik source address dan
destination address.
Target ini bekerja pada chain
INPUT, FORWARD dan PREROUTING atau chain buatan yang dipanggil melalui chain
tersebut.
|










