Pendahuluan
Wi-Fi merupakan kependekan dari Wireless Fidelity, memiliki pengertian yaitu sekumpulan standar yang digunakan untuk Jaringan Lokal Nirkabel Wireless Local Area Networks – WLAN) yang didasari pada spesifikasi IEEE 802.11. Standar terbaru dari spesifikasi 802.11a atau b, seperti 802.16 g, saat ini sedang dalam penyusunan, spesifikasi terbaru tersebut menawarkan banyak peningkatan mulai dari luas cakupan yang lebih jauh hingga kecepatan transfernya.
Awalnya Wi-Fi ditujukan untuk pengunaan perangkat nirkabel dan Jaringan Area Lokal (LAN), namun saat ini lebih banyak digunakan untuk mengakses internet. Hal ini memungkinan seseorang dengan komputer dengan kartu nirkabel wireless card atau personal digital assistant (PDA) untuk terhubung dengan internet dengan menggunakan titik akses (atau dikenal dengan hotspot) terdekat.
Untuk mengatur agar hanya orang-orang tertentu saja yang bisa mengakses wifi ini, maka perlu di buat suatu sistem yang bisa melakukan otentikasi pada wifi yang kita setup. Nah pada kesempatan kali ini, penulis mencoba untuk melakukan percobaan untuk memadukan sistem single sign-on ugm untuk dimanfaatkan sebagai otentikasi wifi di FMIPA UGM. Single Sign-On merupakan fasilitas once register multiple access. Hanya dengan memiliki sebuah account e-mail yang telah aktif di UGM, maka pengguna bisa mengakses fasilitas lainnya hanya dengan satu account tersebut. Misalnya mengakses internet messaging, address book, dan webmail.
Hardware dan Software yang digunakan
Dalam percobaan kali ini peralatan baik hardware maupun software yang digunakan adalah sebagai berikut:
- Komputer Acer Veriton M264, dimanfaatkan sebagai Apache Web Server
- Wireless-G Broadband Router Linksys WRT54G versi 2.0 (merupakan model wireless router,produk dari linksys (divisi dari cisco system))
- OpenWRT,merupakan distribusi linux untuk embedded devices.Kali ini kita akan menggunakan openWRT untuk mengganti firmware asli bawaan dari linksys WRT54G.Untuk ujicoba kali ini yang kita gunakan versi White Russian 0.9.
- Chillispot, merupakan Wireless LAN Access Controller.Ini digunakan untuk melakukan otentikasi user untuk wireless LAN.Chillispot memberikan dukungan, web based login untuk hotspot.
- Freeradius, daemon untuk unix/linux yang merupakan salah satu dari server radius, dan dapat digunakan untuk melakukan Authentication dan Accounting. Pada kasus kali ini kita menggunakan Server Freeradius milik Pusat Pelayanan Teknologi Informasi dan Komunikasi UGM.
- LDAP, merupakan merupakan backend database yang akan kita gunakan untuk mengambil data-data yang sudah tersimpan di dalamnya. Pada kasus kali ini kita menggunakan server LDAP Pusat Pelayanan Teknologi Informasi dan Komunikasi UGM. Jadi disini kita tidak perlu melakukan konfigurasi Server LDAP lagi.
Langkah-Langkah Konfigurasi
- Download firmware OpenWRT WhiteRussian di www.openwrt.org , sesuaikan dengan jenis Linksys yang digunakan apakah menggunakan Seri WRT54G atau WRT54GS jangan sampai salah mendownloadnya.
- Konfigurasi Linksys Router WRT54G versi 2.0.Kali ini kita akan mengistall openwrt ke dalam router WRT54G.Jadi firmware asli bawaan router ini, akan kita hapus dan diganti dengan openwrt.Pada versi 2.0, alat ini dibangun menggunakan broadcom 4712 board, dengan kecepatan CPU 200 Mhz, 4 Mb Flash, 16 Mb SDRAM.Untuk mengganti firmware asli router ini dengan openwrt, cara yang termudah adalah melalui web interfaces yang disupply oleh vendor.Secara default router jenis ini mempunyai IP 192.168.1.1, dengan username admin, password admin. Jadi kita bisa melakukan upgrade firmware dengan mengakses via web browser di alamat http://192.168.1.1, jangan lupa untuk memberikan IP yang satu subnet pada komputer yang digunakan untuk melakukan konfigurasi misal IP Komputer: 192.168.1.2. Koneksi antara linksys WRT54g dan Komputer menggunakan kabel UTP straight, dan colokkan ke salah satu port LAN di belakang linksys WRT54G, misal di port 1.Perlu beberapa detik, sampai proses upgrade selesai.Jika upgrade successfuly….berarti saya ucapkan selamat, anda telah selesai melakukan upgrade.Lalu langkah apa selanjutnya..?(ikuti langkah berikut…jangan bosan ya..,biar ngk bete siapkan satu gelas cofeemix panas…hhmmm..enak+camilan)
- Melakukan Koneksi ke OpenWRT. Nah…sekarang kita bisa login ke openwrt yang telah kita install. caranya dengan melakukan telnet 192.168.1.1 hasilnya terlihat seperti gambar dibawah ini.Nah langkah pertama kita harus memberikan password root untuk wifi WRT54G kita, karena defaultnya blom ada password untuk root.Sehingga ketika di telnet akan langsung masuk prompt root@OpenWrt:/#passwd. Perintah passwd, digunakan untuk memberikan password root, dengan minimal 5 karakter, dan maksimal 8 karakter, dengan kombinasi angka dan huruf serta huruf besar dan kecil.Sejak kita berhasil memberikan password untuk root maka, otomatis layanan telnet akan dimatikan, dan untuk bisa mengaksesnya kembali menggunakan SSH.
- Setelah selesai memberikan password root, sekarang kita akan melakukan koneksi ke wifi kita dengan melakukan koneksi SSH ke IP:192.168.1.1.Arsitektur WRT54G bisa dilihat seperti gambar dibawah ini. Dari gambar kita bisa lihat beberapa interface jaringan WRT54G yaitu:
- br0 : bridge antara eth0 dan vlan1
- eth0: LAN Switch
- eth1: Wireless Interface
- vlan1: Virtual LAN: Internet
- vlan0: Virtual LAN: Port 1 to 4 (port di belakang Linksys WRT54G). untuk mengecek interface yang ada ketikkan perintah :#ifconfig
- Selanjutnya kita akan melakukan konfigurasi untuk interface WAN (Internet) pada OpenWRT
- # nvram set wan_ifname=vlan1
- # nvram set wan_proto=static
- # nvram set wan_ipaddr=10.6.1.251
- # nvram set wan_netmask=255.255.0.0
- # nvram set wan_gateway=10.6.1.254
- # nvram set wan_dns=172.16.30.7
- # nvram commit.
- Kita ingin agar dari port LAN tidak bisa mengakses melewati wireless, maka kita akan menghilangkan eth1 dari bridge(br0)
- # nvram set lan_ifnames=”vlan0 eth3″
- # nvram commit,
- Setelah itu lakukan restart service network dengan melakukan perintah #/etc/init.d/S40network restart.
- Langkah selanjutnya kita akan melakukan setting Wifi untuk Mode, SSID dan channel. Mode yang digunakan adalah access point, channel yang dipakai 11, dan SSID adalah netMIPAiii
- #nvram set wl0_mode=ap
- #nvram set wl0_channel=11
- #nvram set wl0_ssid= netMIPAiii
- #nvram commit
- Installing Driver Tun/Tap dan chillispot.Sebelum menginstall chillispot, kita perlu menginstal driver tun/tap untuk chillispot.Karena chillispot menggunakan driver ini. Driver Tun/Tap bisa diperoleh http://downloads.openwrt.org/whiterussian/0.9/packages/kmod-tun_2.4.30-brcm-5_mipsel.ipk .Jika WRT54G anda terkoneksi ke internet anda bisa langsung mendowloadnya dari openwrt dengan menggunakan perintah wget
- #wget http://downloads.openwrt.org/whiterussian/0.9/packages/kmod-tun_2.4.30-brcm-5_mipsel.ipk
- #ipkg update
- #ipkg install kmod-tun_2.4.30-brcm-5_mipsel.ipk
- #insmod tun {untuk memanggil modul tun}
- Setelah modul tun sukses kita install, langkah selanjutnya adalah install chillispot untuk versi openwrt
- # wget http://downloads.openwrt.org/whiterussian/0.9/packages/chillispot_1.0-1_mipsel.ipk
- # ipkg install chillispot_1.0-1_mipsel.ipk
- Selanjutnya adalah konfigurasi chillispot. File konfigurasi ada di /etc/chilli.conf.Pada studi kasus disini, kita anggap
- IP Server Freeradius (10.13.14.15)
- IP Web Server (10.6.7.8).
- secret yang digunakan mipaok
- Jadi kita bisa melakukan konfigurasi di /etc/chilli.conf, sebagai berikut:
- radiusserver1 10.13.14.15
- radiusserver2 10.13.14.15
- radiussecret mipaok
- dhcpif eth1
- uamserver https://10.6.7.8/cgi-bin/hotspotlogin.cgi
- uamsecret mipaok
- Konfigurasi Web Server.Pada kasus ini, saya anggap Web Server sudah terinstall dengan baik. Misal Webserver berjalan di sistem Fedora/Red Hat/Centos.Nah kita tinggal mencopy file hotspotlogin.cgi ke direktori web server kita, misal di /var/www/cgi-bin.Kita perlu sedikit mengedit file hotspotlogin.cgi khususnya di bagian
- $uamsecret =”mipaok”;
- $userpassword=1;
- Catatan :File hotspotlogin.cgi bisa diperoleh pada bagian dokumentasi dari source code chillispot-1.1.tar.gz
- Konfigurasi Firewall. Untuk konfigurasi firewall, kita tinggal mengedit atau menambahkan konfigurasi dari scripts bawaan chillispot. Untuk versi openwrt, scripts firewall bisa diperoleh pada bagian dokumentasi source code chillispot-1.1.tar.gz. Kemudian copy scripts tersebut ke bagian /etc/init.d . Selengkapnya ikuti langkah dibawah ini (sebelumnya saya anggap scripts firewall chillispot sudah dicopy ke dalam /tmp/firewall.openwrt)
- #rm /etc/init.d/S35firewall {hapus firewall lama}
- #cp /tmp/firewall.openwrt /etc/init.d/S35firewall {copy firewall.openwrt jadi S35firewall}
- #chmod 755 S35firewall {tambahkan mode 755 agar S35firewall bisa di eksekusi}, edit file S35firewall pada bagian WANIF=$(nvram_get wan_ifname)dan ganti menjadi WANIF=$(nvram get wan_ifname).jika konfigurasi firewall menurut anda sudah lengkap dan benar anda bisa jalankan firewall anda #/etc/init.d/S35firewall
- Tahap Akhir. Nah pada tahap akhir ini kita tinggal menjalankan chillispot kita #/etc/init.d/chilli start .Ketika kita jalankan chilli, maka interface tun akan aktif (interface ini akan berisi IP 192.168.182.1 {default}). Anda bisa cek dengan perintah #ifconfig .Kemudian agar chillispot kita selalu aktif ketika openwrt booting, kita bisa lakukan trik dengan merubah nama chilli dengan S50chilli
- #cp /etc/init.d/chilli /etc/init.d/S50chilli
- #rm /etc/init.d/chilli {hapus script chilli}
Penutup
Dari hasil ujicoba, semua berjalan lancar. Ketika client terhubung dengan SSID yang sudah kita buat, maka akan ditanya username dan password. Jika anda punya account email ugm, maka anda bisa mengakses layanan ini.
Keuntungan dengan sistem yang dibuat antara lain:
- Hanya user yang mempunyai email ugm yang bisa mengakses layanan ini(Staf pendidik,kependidikan, mahasiswa serta alumni).Tentu saja dengan perkecualian jika account dan passwordnya diberitahukan kepada orang lain hee…heee:-)
- Dari Segi administrasi jaringan memudahkan sysdmin untuk mengontrolnya
- Dari segi konfigurasi lebih sederhana dan tidak memerlukan biaya yang banyak.
- Dari segi adminitrasi user tidak merepotkan sysadmin FMIPA UGM, karena dengan memanfaatkan Server LDAP PPTIK UGM,data user tersentral disana.
- Dari segi sosial boleh dibilang merakyat khususnya bagi warga UGM, karena yang bisa memanfaatkan Layanan ini tidak hanya warga FMIPA UGM tapi seluruh warga UGM dengan syarat mempunyai account email UGM.
Semoga tulisan ini bisa bermanfaat bagi yang membacanya.
Best Regard
Endro Cahyono
Sumber Pustaka:
3. Thanks to Mr. Zudha atas bantuan Server LDAP dan Freeradiusnya.
17 comments
Comment by purba on September 14, 2009 at 11:34 am
mas, bisa gak ini dikasi user manajemen yah?
ini kan aku coba log in pake account ku, trus di laptop lain aku log in lg pake account ku yg sama, nah itu bisa masuk tuh
nah, biar cuman 1 user untuk log in at one time gt bisa gak yah?
aku lg googling2 sih
terus, apa sih mas bedanya openwrt sama chillispot? kok kita pake dua dua nya sih?
Comment by admin on September 14, 2009 at 12:28 pm
kalo satu user hanya dipake satu aja pada waktu bersamaan aku belum pernah mencoba mengexplore lebih lanjut. Sejauh ini emang bisa dipake bareng-bareng.Tapi asal account dan password kita tidak dikasihkan ke orang kan ngk masalah:-)
Mungkin bisa diexplore lebih jauh dibagian Radiusnya khususnya bagian accoutingnya, cuma kalo radiusnya pake milik PPTIK kita ngk bisa explore lebih ke dalam.Mungkin mas purba bisa bikin server radius sendiri, jadi bisa dipelajari lebih lanjut.Backend database tetap pake LDAP UGM.
OpenWRT ama chillspot jelas aja berbeda. Kalo openWRT itu ibarat Sistem Operasi untuk menjalankan Device Linksys, sedangkan Chillispot hanya aplikasi/captive portal untuk memanage user(wireless LAN access point controller) aja.
Comment by ngatimin on December 18, 2009 at 1:00 am
mantep mas tulisanya … aku juga buat ini di sekolah saya tp masih error
Mas, bleh PM Ymx , buat tanya2 openWRT
YM saia pinggirkota ,
Comment by christy.nugraha on April 16, 2010 at 11:31 am
Salam kenal mas, Saya christy. mas saya mau tanya-tanya tentang sistem yang telah dibuat sama mas. karena saya ingin membuat sistem otentifikasi itu untuk diterapkan di kampus saya, sebagai TA saya.
mas untukmembuat sistem otentifikasi yang seperti diatas, dibutuhkan 3 komputer server yah ( 1 untuk Web Server, 1 untuk radius server, dan satu lagi untuk server chilispotnya) untuk sistem otentifikasi wifi ini ?
Bisa tidak kalau web server dan radius berada pada satu server, lalu 1 server lagi untuk Server chilispotnya ?
Atau memang butuh satu server aja untuk instal semuanya kedalam satu server ?
mas mohon bantuannya … (:->
Comment by admin on April 19, 2010 at 3:05 pm
tidak masalah kalo mo dijadikan satu, jadi chillispot,radius, web server jadi satu mesin.
Comment by christy nugraha on May 4, 2010 at 12:25 pm
mas jelaskan fungsi dari dari LDAP dan freeradius di sistem yang mas buat, kenapa harus pakai LDAP juga, dan bagaimana cara menggabungkan kedua sistem itu ?
untuk data autentikasinya di taruh dalam LDAP yah? jika yah, fungsi dari freeradiusnya apa ?
Comment by admin on May 6, 2010 at 11:37 am
Kebetulan di UGM, seluruh database email disimpan dalam LDAP (Database direktori yang besar), jadi disini saya tinggal memanfaatkan database yang sudah ada. Kalo anda mau menggunakan database yang lain semisal MySQL itu tidak masalah (tidak harus LDAP)
Bisa dikatakan fungsi LDAP atau kalau anda menggunakan MySQL hanya untuk menyimpan data-data user.
Sedangkan fungsi otentikasi dilakukan oleh freeradius.
Ini saya sertakan link mengenai instalasi freeradius yang digabung dengan LDAP (web milik teman saya) mungkin bisa bermanfaat
http://zudha.staff.ugm.ac.id/Blog/cara-mudah-install-freeradius-dengan-authentikasi-ldap
Comment by christy nugraha on May 17, 2010 at 2:30 pm
Mas terima kasih atas masukannya pada Comment saya yang kemarin. mas saya mengalami kesulitan dalam membuat account user (Username dan password) pada server LDAP.
saya memakai Fedora 8 sekarang, kemarin saya sempat coba pakai Ubuntu 9.10 tapi percobaan itu gagal dalam membuat database LDAPnya.
Mas tolong berikan saya tutorial yang pas untuk membuat server LDAP, khususnya pada pembuatan database Backend-nya (username dan Password) pada linux Fedora 8…..?
Terima Kasih.
Comment by christy nugraha on May 24, 2010 at 12:28 pm
Mas mau tanya sistem yang mas buat itu mengunakan distro linux apa ? kalau saya gunakan 2 jenis distro linux (Linux Ubuntu dan Centos/fedora), dia bisa saling terintegrasi tidak mas…
Terima kasih…
Comment by christy nugraha on May 24, 2010 at 12:31 pm
Mas mau tanya sistem yang mas buat itu mengunakan distro linux apa ? kalau saya gunakan 2 jenis distro linux (Linux Ubuntu dan Centos/fedora), dia bisa saling terintegrasi tidak mas…
Comment by admin on May 24, 2010 at 3:41 pm
DI kampus saya menggunakan centos, karena saya terbiasa menggunakan distro-distro turunan dari redhat. Kalo anda mau menggunakan distro yang berlainan itu tidak masalah, cuma beda kemasan aja, intinya tetap sama.
Comment by rantsa on June 24, 2010 at 2:11 pm
mas kl pake chillispot gt kl klient di setting ip statik gmn ya biar si client ini bisa akses internet?? kl client dpt ip dhcp kan udah jelas ya bisa ngenet.
Comment by admin on June 24, 2010 at 2:43 pm
Kenapa harus di statik, apa si client tidak mendapatkan IP ketika terkonek ke hotspot. Mungkin di statik bisa…tapi takutnya ntar bentrok sama IP yang dikasih sama hotspot tersebut.
Atau kalau memang mas rantsa menseting, ketika client terkonek ke wifi harus IP-nya statik..maka pada chillispot fungsi DHCP-nya dimatikan.
Comment by rantsa on June 24, 2010 at 4:12 pm
misal ada pc yg ingin ip nya di statikkan , kl bentrok sama ip yg dikasih hotspot kan tinggal di setting aja mas (dibedakan range ip dinamik dg range ip statik )
fungsi dhcp nya shrsnya jg g harus dimatikan, tinggal ngatur range nya aja shrsnya mas
CMIIW..
Comment by admin on June 25, 2010 at 7:54 am
Sebenarnya gitu juga bisa..cuma masalahnya kenyataan di lapangan berbeda. Misal dikasih range dhcp 1-50, ntar paling tidak sampai 15 komputer yang bisa terkoneksi. Misal komputer yang ke 16 pasti sudah limited walau sebenarnya range DHCP yang diset seharusnya memungkinkan sampai 50 komputer.Makanya biasanya range DHCP diset satu blok IP yang lebar misal sampai prefix /24
Tapi mungkin juga karena tipe wifi-nya tidak begitu bagus.Mungkin kalau sampeyan punya wifi yang kualitas bagus, ide sampeyan bisa diterapkan.
Comment by awan on March 29, 2012 at 12:02 am
akhirnya dapat pencerahan setelah muter muter nyari buat TA ane mas.ane juga mau bikin sistem hampir sama dengan sistem yang mas buat.tapi sistem yang ane buat,ane terapin di RT/RWnet.ane bingung masalah korelasi antara squid,radius,captive portal ama openLdap.setelah baca dari atas ane baru paham.
1. buat login itu dibutuhkan username dan password,la pertanyaan saya penamaan user itu berdasar apa mas di database open Ldap,apakah cuma nama password sembarang sesuai admin atau berdasar Ip.kalo berdasar Ip,kan dapat DHCP dari wifinya.jadi berganti2 tiap login mas.
2.dalam RT/Rwnet yang saya akan buat memiliki beberapa jenis paketan (misal: pertamak, premium, solar)
pertanyaannya bagaimana membuat koneksi berdasar group seperti ini mas.karena setiap group/paketan memiliki kriteria berbeda dalam hal servis yang akan saya berikan.apakah bisa Open Ldap membuat suatu mekanisme group untuk diintegrasikan dengan squid.agar di setiap group itu bisa beda dalam pemberian kecepatan ddalam akses internet.
mohon dijawab mas.trimakasih
Comment by kangendro on April 1, 2012 at 8:34 am
1. Ya betul login membutuhkan username dan password.. Mengenai penamaan user, terserah mas awan. Penamaan user tidak berdasarkan IP Address.Akan tetapi mungkin bisa dibuat semacam aturan untuk memudahkan administrasi pengelolaan username. Karena dirancang untuk RT/RWnet penamaan user bisa dikombinasikan dengan alamat RT RW maupun nomer rumah si pemakai.Contoh: Anton Suhartono yang beralamat di RT.2, RW.1 nomer 15, mungkin bisa diberikan aturan pemberian username sebagai berikut: namapertama.hurufpertamanamakedua_nomerRTRWnomerrumah, sehingga username menghasilkan kombinasi: anton.s_2115
2. LDAP merupakan layanan untuk mengakses informasi direktori melalui layanan jaringan berbasis TCP/IP. Informasi direktori adalah seperti nomor telepon, rumah, rt,rw dan sebagainya.Layanan direktori LDAP dirancang untuk mampu melayani query informasi yang sangat banyak.Jadi fungsi LDAP disini hanya untuk menampung database yang nilainya relatif jarang berubah(mungkin bisa dianalogikan seperti layanan Yellow Pages) Sedangkan untuk pemaketan berdasarkan group apakah pertamax, premium, solar, jika pertamax kecepatan 256 Kbps, jika premium dan solar cukup 128 Kbps,..biasanya hal-hal ini diatur oleh radius server yang berfungsi sebagai server otentikasi.Nah radius server inilah yang nanti harus dikombinasikan dengan database-nya. Apakah mau menggunakan LDAP, MySQl, atau database yang lain.