Artikel

Jan 9, 2013

Cara Membuat IP-FILTER dan MAC-FILTER berjalan bersama dengan DHCP Server


Category: Linux / Ubuntu Server
Posted by: admin123

Ini untuk pengamanan jaringan local terutama untuk RT/RW Net, untuk MAC-Filtering masih bisa dibobol dgn cloning MAC tetapi lebih baik ada MAC-Filtering, klo ip sama dalam satu jaringan pasti akan konflik.

Bagaimana klo IP-Filtering tetapi menggunakan DHCP Server, masih bisa jawabnya, menggunakan MAC-ADD untuk menentukan IP, jadi semua client akan ditentukan IP-nya oleh DHCP Server berdasarkan MAC-ADD-nya masing2.

sebagai berikut tutorialnya:

sebelumnya, kita anggap setting jaringan sudah bener dan berjalan normal, tentunya package repo DHCP3-server sudah terinstall. Dan kita menganggap device untuk jaringan local eth0 dgn IP server 192.168.0.1, sudah terdapat BIND9 untuk DNS Server.

1. buat daftar, catat semua MAC-ADDRESS Client dan tentukan IP-nya.
2. rubah settingan file /etc/dhcp3/dhcpd.conf

ddns-update-style none;

subnet 192.168.0.0 netmask 255.255.255.0 {
option domain-name-servers 192.168.0.1;
option netbios-name-servers 192.168.0.1;
option routers 192.168.0.1;
option broadcast-address 192.168.0.255;
option subnet-mask 255.255.255.0;
default-lease-time 600;
max-lease-time 144000;
log-facility local7;

host hostname {
hardware ethernet AA:BB:CC:DD:EE:FF;
fixed-address 192.168.0.abc;
}
}

keterangan:
hostname >>> ganti sesukanya untuk mempermudah ID client
MAC-ADDRESS AA:BB:CC:DD:EE:FF akan diberi IP 192.168.0.abc

Jika kalo client banyak, maka ulangin dan masukkan hostname, MAC-ADDRESS dan penentuan IP sebanyak yg dibutuhkan:

 host hostname { 
hardware ethernet AA:BB:CC:DD:EE:FF;
fixed-address 192.168.0.abc;
}

2. Buat Bash Script file /etc/network/filter.rules :

#!/bin/bash
# Bash script IP Address and MAC Address Filtering
# (C) 2009 by th@opikdesign.com

files="/etc/network/filter.list"
device="eth0"

echo " "
echo "MAC FILTER STATUS: All connection to droped on device $device"
iptables -I PREROUTING -t nat -i $device -j DROP
iptables -I FORWARD -i $device -j DROP
iptables -A INPUT -i $device -j DROP

echo " "
echo "MAC FILTER STATUS: Running on device $device"
echo "MAC FILTER STATUS: Allow access for IP-ADDRESS and MAC-ADDRESS: "
cat $files | while read ip_address mac_address; do
iptables -A INPUT -t filter -i $device -s $ip_address -m mac --mac-source $mac_address -j ACCEPT
iptables -I PREROUTING -t nat -i $device -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 ACCEPT
echo "$ip_address [ $mac_address ] "
done

keterangan:
Jika default device untuk local bukan eth0, maka bisa di rubah:

device="eth0"


3. Buat file /etc/network/filter.list sebagai database yg berisi MAC-ADDRESS client dgn IP yg telah di tentukan di /etc/dhcp3/dhcpd.conf tersebut diatas, contoh:

192.168.0.10 00:11:D8:CF:A5:21
192.168.0.11 00:0C:46:A7:22:9A
192.168.0.12 00:15:AF:41:3B:EC


4. Beri chmod 0777 ato +x untuk file /etc/network/filter.rules

# chmod +x /etc/network/filter.rules


5. Agar setiap kali reboot ato startup program langsung jalan maka buka file /etc/rc.local dan tambahkan /etc/network/filter.rules pada baris terakhir tetapi hapus baris exit 0

6. Lakukan reboot pada server tersebut.


Pada dasarnya, lebih bagus klo tanpa DHCP-Server sih jadi bener2 secure, tp siapa yg mau gantiin IP client yg rumahnya jauh2 dan hrs ketok pintu dulu apalagi klo client-nya dah buanyak sekali, akhirnya pake DHCP-server, jika MAC-ADDRESS sudah ada yg clone sebaiknya segera ganti IP Client pada /etc/dhcp3/dhcpd.conf agar ke blok ip-nya.

Artikel ini ditulis dengan menggunakan Ubuntu 8.10 Server, untuk versi diatasnya silahkan di modifikasi sendiri bila terjadi pesan error.

Tanya Jawab lebih lanjut bisa merujuk ke http://opensource.telkomspeedy.com/forum/viewtopic.php?id=5738