Anda di halaman 1dari 5

cara setting iptables

Pada kernel linux yang baru, terdapat fasilitas netfilter dan iptables yang menggantikan
ipchains dengan penambahan beberapa fasilitas diantaranya pemberian tanda pada setiap
paket yang difilter, penambahan table NAT dan mangle.

Table-table ini mempunyai fungsi sendiri-sendiri, sesuai dengan namanya, table NAT
menangani semua keperluan mengenai Network Addresss Translation, termasuk juga port
redirection dan IP Masquerading, sedangkan untuk table Mangle bisa digunakan untuk
memberikan tanda pada sebuah paket, dan selanjutnya untuk diolah atau ditransmisikan
pada kondisi tertentu.

Pembahasan mengenai table Mangle ini tidak dibahas disini, karena hal tersebut
menyimpang dari topik kita, yaitu Network Address Translation (NAT).
Seperti dibicarakan sebelumnya. terjadi perubahan juga pada implementasi IP
Masquerading, yang semula diletakkan di table filter, namun pada iptables, IP
Masqurading diletakkan pada table tersendiri yaitu NAT. Oleh karena itu penulis hanya
menambahkan pengimplementasian IP Masquerading pada kernel 2.4.xx, sedangkan
untuk hak ciptanya masih dipegang sdr. Agus Hartanto :-).

Jika anda belum mengetahui apakah IP Masquerade itu, dan apa kegunaannya, silahkan
lihat tulisan terdahulu yaitu NAT dengan linux hasil karya sdr. Agus, karena dalam artikel
ini tidak dijelaskan lagi secara detail mengenai hal tersebut, takut nanti dituduh
menyontek ide orang lain :-), penulis juga masih menggunakan gambaran yang
dikemukakan oleh tulisan sdr. Agus karena iptables pada dasarnya mirip dengan ipchains
dan agar pembaca lebih mudah memahaminya. Pembahasan pada contoh-contoh yang
dikemukakan menggunakan RedHat linux sebagai acuan, sehingga mungkin ada
perbedaan letak file jika anda menggunakan distro lain selain RedHat.

1. Persiapan

Untuk koneksi ke internet menggunakan IP Masquerade, minimal harus ada sebuah mesin
linux dalam jaringan yang tersambung ke internet dan mempunyai sedikitnya satu
real/official IP, selain itu tentu saja kernel linux juga harus mendukung IP Masquerade.
Adapun program untuk mengaktifkan IP Masquerade pada kernel 2.4.x adalah
menggunakan iptables, meskipun sebenarnya ipchains dan ipfwadm juga tersedia, namun
iptables mempunyai kinekerja lebih cepat dibandingkan dengan pendahulunya, dan
mempunyai tingkat keamanan lebih tinggi, seperti pembatasan jumlah paket yang masuk.

iptables secara default telah tersedia pada kernel 2.4.x, namun apabila anda ingin
mengkompilasinya secara terpisah, program tersebut dapat anda cari dan download
melalui netfilter.samba.org, atau melalui site site linux archive lainnya seperti freshmeat.

Untuk langkah awal, komputer-komputer yang terkoneksi ke jaringan internal, sebaiknya


diberi alamat menggunakan IP private dan diletakkan dalam satu netmask dengan
komputer yang menjadi gateway.
Contoh :

ISP ppp0 router.linux-kita.com


client1 192.168.1.2
client2 192.168.1.3
client3 192.168.1.4
server 192.168.1.1
netmask 255.255.255.0

Untuk keperluan IP-Masquerade, kernel anda harus mendukung beberapa driver dibawah
ini :

* Enable loadable module support


CONFIG_MODULES
- Mengijinkan anda untuk memanggil komponen kernel
dalam bentuk modul

* Networking support
CONFIG_NET

* Network firewalls
CONFIG_FIREWALL

* TCP/IP networking
CONFIG_INET

* Netfilter Support
CONFIG_NETFILTER

* Netfilter: Connection Tracking


CONFIG_IP_NF_CONNTRACK

* Netfilter: Iptables Style support


CONNFIG_IP_NF_IPTABLES

* Netfilter: Filter Packets


CONFIG_IP_NF_FILTER

* Netfilter: Reject Packets


CONFIG_IP_NF_TARGET_REJECT

* Netfilter: NAT Support


CONFIG_IP_NF_NAT
CONFIG_IP_NF_NAT_NEEDED
* Netfilter: IP Masquerading
CONFIG_IP_NF_TARGET_MASQUERADE

* Netfilter: Redirection
CONFIG_IP_NF_TARGET_REDIRECT

* Netfilter: IRC NAT Support


CONFIG_IP_NF_NAT_IRC

* Netfilter: Table Mangle


CONFIG_IP_NF_MANGLE

* Netfilter: Log target support


CONFIG_IP_NF_TARGET_LOG

* Netfilter: Ipchains Style Support


CONFIG_IP_NF_COMPAT_IPCHAINS

* Netfilter: Ipfwadm Style Support


CONFIG_IP_NF_COMPAT_IPFWADM

* Dummy net driver support


CONFIG_DUMMY

Pada kernel 2.4.x yang terpasang pada redhat, option-option di atas sudah diaktifkan
dalam bentuk modul, sehingga anda tidak perlu mengkompile ulang kernel lagi, yang
tentu sangat melelahkan bagi yang belum terbiasa :-). Dan untuk menggunakan modul-
modul tersebut, anda tidak perlu memanggilnya terlebih dahulu menggunakan modprobe,
namun anda hanya perlu menjalankan iptables, dan secara otomatis, modul yang
diperlukan akan diload ke dalam memory oleh iptables.

2. Mengaktifkan IP_FORWARDING

Untuk mengaktifkan ip_forward anda harus memberikan nilai 1 ke file


/proc/sys/net/ipv4/ip_forward, contohnya dengan mengetikkan perintah di prompt linux :

[root@server /]# echo "1" > /proc/sys/net/ipv4/ip_forward

Ini sangat penting untuk diperhatikan, karena sejak Kernel 2.0.34 , kernel tidak
mengaktifkannya secara default.

Atau cara lain, anda bisa menambahkan baris berikut pada file /etc/sysctl.conf:
net.ipv4.ip_forward = 1

dengan adanya baris tersebut maka script /etc/rc.d/init.d/network akan memberikan nilai 1
secara otomatis ke file /proc/sys/net/ipv4/ip_forward pada saat memulai linux.

3. Memanggil modul modul pendukung IP Masquerade

Seperti yang telah disebutkan diatas, pada kernel 2.4.x modul-modul yang tersedia tidak
perlu dipanggil terlebih dahulu, anda hanya menjalankan iptables, dan secara otomatis,
modul-modul yang diperlukan akan diload ke memory. Adapun beberapa modul netfilter
yang terdapat pada kernel 2.4.x (terletak di direktori
/lib/modules/2.4.x/kernel/net/ipv4/netfilter) adalah:

ipchains.o ip_nat_ftp.o iptable_nat.o ipt_mark.o ipt_owner.o ipt_TCPMSS.o


ip_conntrack_ftp.o ip_nat_irc.o ip_tables.o ipt_MARK.o ipt_REDIRECT.o ipt_tos.o
ip_conntrack_irc.o ip_queue.o ipt_limit.o ipt_MASQUERADE.o ipt_REJECT.o
ipt_TOS.o
ip_conntrack.o iptable_filter.o ipt_LOG.o ipt_MIRROR.o ipt_state.o ipt_unclean.o
ipfwadm.o iptable_mangle.o ipt_mac.o ipt_multiport.o ipt_tcpmss.o

4. Mengkonfigurasikan Aturan dari IP Forwarding dan sedikit ttg Firewall

Untuk mengaktifkan IP Masquerade, anda harus memberikan perintah :

iptables -t nat -A POSTROUTING -s yyy.yyy.yyy.yyy./x -j MASQUERADE dengan


table seperti diatas.

Untuk lebih jelasnya coba perhatikan contoh dibawah ini :

Anda mempunyai jaringan dengan alamat IP gateway linux 192.168.1.1 dan klien klien
192.168.1.2 s/d 192.168.0.4 dengan netmask 255.255.255.0 , dan anda ingin
mengaktifkan IP Masquerading atas alamat alamat ini, maka anda harus mengetikkan
perintah :

iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -d 0.0.0.0/0 -j MASQUERADE

Anda mempunyai alamat alamat IP spt diatas tapi anda ingin hanya klien dengan IP
bernomer 192.168.1.5 dan 192.168.0.10 saja yang bisa mengakses internet, maka
seharusnya anda hanya mengetikkan perintah :

iptables -t nat -A POSTROUTING -s 192.168.1.5/32 -d 0.0.0.0/0 -j MASQUERADE


iptables -t nat -A POSTROUTING -s 192.168.1.10/32 -d 0.0.0.0/0 -j MASQUERADE
Anda mempunyai alamat alamat IP spt diatas dan anda ingin semua klien bisa mengakses
internet, kecuali IP 192.168.1.5 dan 192.168.1.10 saja yang tidak bisa mengakses internet,
maka seharusnya anda mengetikkan perintah :

iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -d 0/0 -j MASQUERADE

untuk mengaktifkan masquerading. Baru kemudian kita cegat kedua komputer tersebut
dengan perintah :

iptables -I INPUT -s 192.168.1.5/32 -d 0/0 -j DROP


iptables -I INPUT -s 192.168.1.10/32 -d 0/0 -j DROP

Administrasi fasilitas fasilitas tertentu


Kita bisa juga melakukan pencegatan terhadap paket paket yang akan masuk ke port
tertentu, hal ini juga memungkinkan kita untuk mematikan atau menghidupkan beberapa
fasilitas internet, misalnya anda ingin klien anda dengan alamat 192.168.1.5 tidak
diperbolehkan untuk melakukan chatting, maka kita bisa men-deny, paket paket dari klien
192.168.1.5 yang akan menuju ke port IRC (contoh port nomer 6667).
Dibawah ini contoh untuk mencegat paket TCP dari klien dengan alamat 192.168.1.5
yang menuju ke port 6667 :

iptables -I INPUT -p tcp -s 192.168.1.5/32 -d 0/0 --destination-port 6667 -j DROP

Untuk membuka atau menghapus aturan aturan yang telah kita buat kita bisa mengganti
option -I , -A dsb, misalnya dengan option -D sebagai contoh:

iptables -I INPUT -p tcp -s 192.168.1.5/32 -d 0/0 --destination-port 6667 -j DROP

dapat dihapus dengan perintah :

iptables -D INPUT -p tcp -s 192.168.1.5/32 -d 0/0 --destination-port 6667 -j DROP

Catatan option option iptables yg digunakan diatas

-A menambahkan rule
-I menyisipkan (insert) rule firewall ke baris paling atas
-D menghapus rule yg telah dibuat
-s source address
-d destination address
DROP Pada iptables tidak dikenal target DENY, sebagai pengganti menggunakan target
DROP

Anda mungkin juga menyukai