Kadang kita sebagai administrator suatu jaringan sangat dipusingkan dengan beberapa client "nakal" yang suka berganti-ganti IP Address. Padahal sebelumnya suatu IP Address tertentu dari client sudah kita blok aksesnya untuk jam-jam tertentu, atau kita blok untuk mengakses suatu situs tertentu.
Keuntungan dan kerugian :
Keuntungan yang didapatkan adalah, kita dapat dengan mudah memonitor "pergerakan" client dan melakukan logging untuk administrasi jaringan atau analisa-analisa lain yang diperlukan, karena client tidak dapat melakukan perubahan IP Address.
Kerugian, seandainya saja interface hardware milik client mengalami kerusakan dan melakukan pergantian, kita harus melakukan konfigurasi ulang rules firewall kita berdasarkan MAC Address yang baru. Tapi kerusakan ini sangat jarang terjadi.
Ada 2 metode yang saya gunakan disini dan dapat rekan-rekan sekalian pilih salah satunya, yaitu :
Pertama, apakah kita akan melakukan pendaftaran semua IP Address dan MAC Address client-client kita dan tidak memperkenankan semua client yang terhubung dengan kita tidak dapat berganti-ganti IP Address. Jika IP dan MAC Address tidak terdaftar didalam rules firewall, maka client tidak dapat melakukan koneksi.
Kedua, apakah kita hanya menginginkan IP Address dan MAC Address tertentu saja yang tidak kita inginkan untuk berganti-ganti IP Address. Disini, jika ada IP baru dan dengan MAC Address baru, client tetap dapat melakukan koneksi.
Kasus, disini kita mempunya 3 client, yaitu :
IP Client 1 = 192.168.1.5
MAC Address 1 = 00:89:CD:64:01:EF
IP Client 2 = 192.168.1.20
MAC Address 1 = 00:90:DD:14:11:CF
IP Client 3 = 192.168.1.14
MAC Address 3 = 00:40:EE:21:26:GE
Semua client terkoneksi melalui ethernet (LAN Card/NIC) 1 yang diberi nama eth1.
Firewalling dengan metode pertama :
#drop semua prerouting di eth1
iptables -I PREROUTING -t nat -i eth1 -j DROP
#------------------- client pertama------------------------
#accept IP 192.168.1.5 dengan mac address 00:89:CD:64:01:EF
iptables -I PREROUTING -t nat -i eth1 -s 192.168.1.5
-m mac --mac-source 00:89:CD:64:01:EF -j ACCEPT
#drop IP 192.168.1.5 dengan mac address 00:89:CD:64:01:EF
#jika menggantinya dengan IP lain selain dari 192.168.1.5
iptables -I FORWARD -i eth1 -s ! 192.168.1.5
-m mac --mac-source 00:89:CD:64:01:EF -j DROP
#drop prerouting IP 192.168.1.5 dengan mac address 00:89:CD:64:01:EF
#jika menggantinya dengan IP lain selain dari 192.168.1.5
iptables -I PREROUTING -t nat -s ! 192.168.1.5
-m mac --mac-source 00:89:CD:64:01:EF -j DROP
#------------------- client kedua------------------------
#accept IP 192.168.1.20 dengan mac address 00:90:DD:14:11:CF
iptables -I PREROUTING -t nat -i eth1 -s 192.168.1.20
-m mac --mac-source 00:90:DD:14:11:CF -j ACCEPT
#drop IP 192.168.1.20 dengan mac address 00:90:DD:14:11:CF
#jika menggantinya dengan IP lain selain dari 192.168.1.20
iptables -I FORWARD -i eth1 -s ! 192.168.1.20
-m mac --mac-source 00:90:DD:14:11:CF -j DROP
#drop prerouting IP 192.168.1.20 dengan mac address 00:90:DD:14:11:CF
#jika menggantinya dengan IP lain selain dari 192.168.1.20
iptables -I PREROUTING -t nat -s ! 192.168.1.20
-m mac --mac-source 00:90:DD:14:11:CF -j DROP
Catatan :
Disini karena client 3 tidak masuk kedalam rules, maka tidak dapat melakukan koneksi, walaupun berganti IP Address yang sama dengan client 1 dan 2. Sedangkan client 1 dan 2 tetap dapat melakukan koneksi, selama tidak melakukan perubahan IP Address.
Firewalling dengan metode kedua :
#------------------- client pertama------------------------
#drop IP 192.168.1.5 dengan mac address 00:89:CD:64:01:EF
#jika menggantinya dengan IP lain selain dari 192.168.1.5
iptables -I FORWARD -i eth1 -s ! 192.168.1.5
-m mac --mac-source 00:89:CD:64:01:EF -j DROP
#drop prerouting IP 192.168.1.5 dengan mac address 00:89:CD:64:01:EF
#jika menggantinya dengan IP lain selain dari 192.168.1.5
iptables -I PREROUTING -t nat -s ! 192.168.1.5
-m mac --mac-source 00:89:CD:64:01:EF -j DROP
#------------------- client kedua------------------------
#drop IP 192.168.1.20 dengan mac address 00:90:DD:14:11:CF
#jika menggantinya dengan IP lain selain dari 192.168.1.20
iptables -I FORWARD -i eth1 -s ! 192.168.1.20
-m mac --mac-source 00:90:DD:14:11:CF -j DROP
#drop prerouting IP 192.168.1.20 dengan mac address 00:90:DD:14:11:CF
#jika menggantinya dengan IP lain selain dari 192.168.1.20
iptables -I PREROUTING -t nat -s ! 192.168.1.20
-m mac --mac-source 00:90:DD:14:11:CF -j DROP
Catatan :
Disini walaupun client 3 tidak masuk kedalam rules, tetap dapat melakukan koneksi, walaupun berganti IP Address asal tidak sama IP Addressnya dengan client 1 dan 2. Client 1 dan 2 tetap dapat melakukan koneksi, selama tidak melakukan perubahan IP Address.
Sampai disini rekan-rekan sekalian dapat mengembangkannya, mungkin dengan membatasi besar bandwith IP Address tertentu milik client, atau hanya dapat melakukan browsing namun tidak dapat melakukan chatting dalam waktu-waktu tertentu.