rianto isaac's Weblog

rianto utomo isaac sahala utomo

linux, block mac address again

leave a comment »

Mac Address with Ip Address Filtering (Mikrotik ‘n Linux)

Published 4 August 2007 GNU/Linux , Mikrotik , Programming 15 Comments

Berhubung ada beberapa rekan yang bertanya via Japri, maka saya mencoba untuk membagi sedikit pengalaman, tentang topik di atas. Paparan berikut ini, juga hasil percobaan sendiri melalui Referensi yang di peroleh ketika Googling. Saya tidak menuliskan siapa sumber aslinya, karena saya lupa dimana ketemu Linksnya. Kalau ada yang merasa, paparan dibawah ini, hasil pemikirannya, dengan senang hati, saya akan menuliskan nama anda.

Di Mikrotik

Setingan memakai interface GUI via Winbox.

Tambahkan IP Client dan Mac Address di ‘/ip arp’, biasanya, di menu ip arp tersebut telah ada Interface, mac address dan ip address client secara dinamis, tinggal di Statis kan saja. Di Winbox klik kanan, ambil Make Statik.

Setelah IP address dan Mac Address client tersebut di statiskan, sekarang ke menu Interface. Pada Terminal ‘/interface’.

arp.gif

Pada submenu Interface List, Klik aja Interface yang ada disitu. Perhatikan di bagian ARP. Ambil option, reply-only, atau arp=reply-only.

Untuk mainin di Firewall silahkan telaah script berikut.

/ ip firewall filter
add chain=forward action=drop src-address=x.x.x.x \
src-mac-address=!yy:yy:yy:yy:yy:yy comment="" disabled=no

/ ip firewall filter
add chain=forward action=drop src-address=!x.x.x.x \
src-mac-address=yy:yy:yy:yy:yy:yy comment="" disabled=no

Di Linux dengan IP Tables

Sumber asli http://mujie.blog.palangkaraya.net/

Skrip berikut di tulis via Bash di Linux, yang sudah mendukung untuk banyak Client (Mac dan IP Address).

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!
————————-
a) add the -s a.b.c.d -m mac –mac aa:bb:cc:dd:ee:ff to each rule which you
only want to match a specific machine

or

b) put all your rules into a user-defined chain, and then jump to that chain
only for packets which match the required IP/MAC combination:

iptables -N myrules
iptables -A myrules -p tcp --dport 21 -j ACCEPT
iptables -A myrules -p tcp --dport 23 -j ACCEPT
etc
iptables -A INPUT -s a.b.c.d -m mac --mac aa:bb:cc:dd:ee:ff -j myrules

With this design you can also easily allow more than one machine to connect if
you wish, by adding another INPUT rule:

iptables -A INPUT -s w.x.y.z -m mac --mac uu:vv:ww:xx:yy:zz -j myrules

rianto utomo bole nyontek dari http://primadonal.wordpress.com/2007/08/04/mac-address-with-ip-address-filtering-mikrotik-n-linux/

Written by isaaconi

April 30, 2010 pada 11:12 am

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s

%d blogger menyukai ini: