Blocking IP atau MAC Address Menggunakan iptables

Para mimin (baca: administrator) jaringan pasti pernah dijengkelkan oleh ulah user “menyebalkan” dan ingin “menendang” user tersebut keluar dari jaringan dengan “cara halus”. Block IP atau MAC adress dari user tersebut adalah cara halus yang saya sukai untuk  menangani user-user menyabalkan seperti itu. Tools yang saya gunakan adalah iptables (bila router yang kita gunakan adalah linux). Perintahnya pun sederhana, cukup:

iptables -I FORWARD -s <alamat ip yang ingin di block> -j DROP

atau

iptables -I FORWARD -m mac --mac-source <mac address yang ingin di block> -j DROP

Masalahnya adalah bila harus menuliskan perintah block tersebut berkali akan menjadi sebuah pekerjaan yang sangat menyebalkan. Itulah sebabnya akhirnya saya membuat script sederhana yang dapat memblock IP atau MAC Address user dan dapat juga memblock alamat server yang menjadi masalah (misalnya sebuah alamat server yang diakses oleh user tersebut). Script ini saya digunakan di sebuah server bebasis centos 5 yang berperan sebagai router dan NAT server.

Berikut isi dari script tersebut:

#!/bin/bash

blockSource=(192.168.1.13 192.168.1.21 192.168.1.3)
blockDestination=(175.103.59.118 175.103.59.118)
blockSourceMac=(08:00:27:00:FC:D6)

#bloc mac source
for x in ${blockSourceMac[@]};
do
 iptables -I FORWARD -m mac --mac-source ${x} -j DROP
 iptables -I PREROUTING -t nat --mac-source ${x} -j DROP
done

#block ip source
for y in ${blockSource[@]};
do
 iptables -I FORWARD -s ${y} -j DROP
 iptables -I PREROUTING -s ${y} -j DROP
done

#block ip destionation
for z in ${blockDestination[@]};
do
 iptables -I FORWARD -d ${z} -j DROP
 iptables -I PREROUTING -d ${z} -j DROP
done

Masukkan ip yang ingin di block ke dalam array blockSource atau array blockDestination, pisahkan antar ip dengan spasi.

Untuk memblock mac address, masukkan mac address ke dalam array blockSourceMac, pisahkan antar mac address dengan spasi.

Setelah itu simpan file (misal: block.sh), ubah permissionnya menjadi executable (chmod +x block.sh) dan jalankan file tersebut (./block.sh).

Selesai, user menyebalkan telah dienyahkan jadi jaringan!

Gabungkan script ini dengan script setting firewall anda biar lebih praktis (lihat posting Setup Firewall di Fedora 17).

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s