Senin, 23 Juli 2007

Otomatisasi firewalling IP dan MAC Address dengan bash script

By : Mujie



Berhubung ada pertanyaan menarik dari salah satu member sebuah
milis yang saya ikuti, bagaimana jika client kita berjumlah banyak, puluhan
atau ratusan. Yang terpenting adalah, kita mempunyai daftar IP Address dan MAC
Address client yang terhubung. Dengan menggunakan sedikit baris bash script
sederhana, kita dapat membuat otomatisasinya.


 


Berikut langkah-langkahnya :




1. Buat file bernama rc.iplock didalam directory /etc/rc.d/ dengan isi sebagai
berikut :



#!/bin/bash

# Bash script Lock IP Address dan MAC Address

iptables="/sbin/iptables" #path ke iptables

files="/etc/rc.d/list.txt" #path ke list IP Address dan MAC Address

device="eth1" #ethernet devices ke client

lockall="yes" #yes|no ,yes jika mendaftarkan semua IP & MAC Address

#jika tidak, tulis no.

#yes untuk metode pertama, no untuk metode kedua





if [ $lockall = "yes" ]; then

$iptables -I PREROUTING -t nat -i $device -j DROP

cat $files | while read ip_address mac_address; do

$iptables -I PREROUTING -t nat -i $devices -s $ip_address

-m mac --mac-source $mac_address -j ACCEPT

$iptables -I FORWARD -i $device -s ! $ip_address

-m mac --mac-source $mac_address -j DROP

$iptables -I PREROUTING -t nat -s ! $ip_address

-m mac --mac-source $mac_address -j DROP

done

elif [ $lockall = "no" ]; then

$iptables -I PREROUTING -t nat -i $device -j ACCEPT

cat $files | while read ip_address mac_address; do

$iptables -I FORWARD -i $device -s ! $ip_address

-m mac --mac-source $mac_address -j DROP

$iptables -I PREROUTING -t nat -s ! $ip_address

-m mac --mac-source $mac_address -j DROP

done

fi



echo "Locking IP Address and Mac Address..."

#end script






2. Buat file bernama list.txt didalam directory /etc/rc.d/ dengan format
penulisan sebagai berikut :



<IP Address> <MAC Address>



Peringatan!! Jangan tambahkan baris apapun atau kalimat apapun selain format
diatas!



Contoh isi file /etc/rc.d/list.txt untuk 3 client:



192.168.1.5 00:89:CD:64:01:EF

192.168.1.20 00:90:DD:14:11:CF

192.168.1.14 00:40:EE:21:26:GE





3. Set file rc.iplock agar dapat di eksekusi :



chmod +x /etc/rc.d/rc.iplock





4. Tambahkan didalam file /etc/rc.d/rc.local agar dapat di eksekusi pada saat
start up :



/etc/rc.d/rc.iplock





5. Jalankan :



/etc/rc.d/rc.iplock



6. Selesai! Selamat Anda dapat bintang =P


0 komentar:

Posting Komentar

give your comment here, please do not spam

 
My Big Dream powered by XXZ