Sekiranya user berjaya masuk dalam sistem, Radius server bersama Coova akan mengawasi user tersebut dan akan membuat accounting dari segi jumlah masa online,jumlah kilobyte data download upload, ip range yang diberi.
Coova juga berfungsi memberikah IP secara DHCP kepada connected clients.
Harap anda membaca documentation dahulu di site Coova Chilli : http://coova.org/wiki/index.php/CoovaChilli
Saya menggunakan Coova Chilli versi 1.0.11
Doanload source code : http://ap.coova.org/chilli/coova-chilli-1.0.11.tar.gz
Untar : tar zxvf coova-chilli-1.0.11.tar.gz
Configure : ./configure
Make : make
Install : make install
Setelah install, kita kena configure Coova untuk menggunakan setting radius server FreeRadius. Dalam tutorial 4, kita berjaya authenticate user "mankukhayun" dengan password "abc123"
jadi perlu ingat setting radius di bawah
radius ip : 127.0.0.1
nas secret : testing123
port acct : 1812
test user account : mankukhayun
test user password : abc123
IP eth1 : 10.0.0.1
1. Edit fail configuration Coova di vi /usr/local/etc/chilli/config
vi /usr/local/etc/chilli/config
Ubah data di dalam fail config
# -*- /bin/sh -*-
#
# Coova-Chilli Default Configurations.
# To customize, copy this file to /usr/local/etc/chilli/config
# and edit to your liking. This is included in shell scripts
# that configure chilli and related programs before file 'config'.
###
# Local Network Configurations
#
HS_WANIF=eth0 # WAN Interface toward the Internet
HS_LANIF=eth1 # Subscriber Interface for client devices
HS_NETWORK=10.0.0.1 # HotSpot Network (must include HS_UAMLISTEN)
HS_NETMASK=255.255.255.0 # HotSpot Network Netmask
HS_UAMLISTEN=10.0.0.1 # HotSpot IP Address (on subscriber network)
HS_UAMPORT=3990 # HotSpot Port (on subscriber network)
# HS_DYNIP=
# HS_DYNIP_MASK=255.255.255.0
# HS_STATIP=
# HS_STATIP_MASK=255.255.255.0
# HS_DNS_DOMAIN=
# HS_DNS1=
# HS_DNS2=
###
# HotSpot settings for simple Captive Portal
#
HS_NASID=hotspot
#HS_UAMSECRET=testing123
HS_RADIUS=127.0.0.1
# HS_RADIUS2=rad01.coova.org
HS_RADSECRET=testing123
# HS_UAMALLOW=coova.org
# Put entire domains in the walled-garden with DNS inspection
# HS_UAMDOMAINS=".paypal.com,.paypalobjects.com"
# Optional initial redirect and RADIUS settings
# HS_SSID=# To send to the captive portal
# HS_NASMAC=# To explicitly set Called-Station-Id
# HS_NASIP=# To explicitly set NAS-IP-Address
# The server to be used in combination with HS_UAMFORMAT to
# create the final chilli 'uamserver' url configuration.
HS_UAMSERVER=10.0.0.1
Save fail tersebut dan kita akan runningkan daemon chilli tersebut. laksanakan command di bawah
/usr/local/etc/init.d/chilli start
Pastikan apache web server anda sedang berjalan dan berfungsi. Kebiasaannya Apache Web Server didatangkan sekali dengan Centos. Jika anda tidak mempunyai Apache web server , sila install dahulu
Secara default, folder webroot apache terletak di path ini : /var/www/html
Folder untuk menyimpan fail cgi pula terletak di sini : /var/www/cgi-bin
Coova Chilli menggunakan fail hotspotlogin.cgi untuk authenticate user. Fail tersebut di datangkan sekali dengan source tarball yang anda telah download
[root@hotspot uam]# find / | grep 'hotspotlogin.cgi'
/root/coova/coova-chilli-1.0.11/doc/hotspotlogin.cgi
Salin fail tersebut ke dalam folder cgi-bin di /var/www/cgi-bin
Ubah permission fail tersebut
chmod +x hotspotlogin.cgi
Mari kita cuba invoke hotspotlogin.cgi menggunakan web browser. Halakan web browser anda ke http://192.168.1.2/cgi-bin/hotspotlogin.cgi
Sepatutnya anda akan menerima page seperti di dalam gambar rajah di bawah
Seterusnya kita perlu buat satu page UAM. UAM atau dikenali sebagai Universal Access Method ialah page yang serve login form dan juga status.
Anda perlu download fail ini http://protonmania.com/freeradius/uam.tar.gz
Untar fail tersebut dan copy ke folder berikut
/var/www/html/uam/
Pastikan fail-fail tersebut ada di dalam folder uam
[root@hotspot html]# ls -l /var/www/html/uam
total 20
-rw-r--r-- 1 root root 8034 Feb 23 15:47 chilliController.js
-rw-r--r-- 1 root root 1068 Dec 20 19:59 chilli.js
-rw-r--r-- 1 root root 3491 Aug 11 2007 coova.jpg
-rw-r--r-- 1 root root 1231 Mar 1 05:34 index.html
[root@hotspot html]#
Bagaimana kita hendak menguji Coova dan Radius sedang berjalan lancar ?
1.Setting TCP/IP di dalam Laptop ( atau pc ujian ) disetkan kepada DHCP ( lihat gambar rajah di bawah )
Kemudian sambungkan ke ethernet port2 Linksys di mana port 1 linksys telah disambungkan ke port ETH1 ( ip server linux ialah 10.0.0.1 )
2. Tunggu sebentar dan sepatutnya anda akan diberikan IP range 10.0.0.x secara automatik.
3. Jika anda berjaya mendapat IP, cuba surf ke internet
4. Sepatutnya anda akan ditahan dan menerima page login seperti di dalam gambar ini.
5. Masukkan username "mankukhayun" dan password "abc123" dan sepatutnya akan akan diauthenticate dan akan menerima page seperti di dalam gambar ini.
6. Anda boleh surf ke mana sahaja. Dan cuba logout menerusi status page tadi. Dan cuba untuk surf ke site lain. Sepatutnya anda akan ditahan oleh Coova Captive Portal.
7. Jika anda telah berjaya sampai ke tahap ini, secara teorinya anda berjaya mencipta HotSpot login ciptaan sendiri.
Saya menghabiskan dekat 2 bulan untuk membolehkan sistem ini dapat dibina. Jika anda gagal, sila cuba dan usaha lagi.
Tutorial seterusnya ialah saya akan mengajar bagaimana untuk menggunakan command-command Free Radius.
Wah.... tutorial sebegini yang dicari2.. sangat mudah dipahami saya. daripada mencari di forum-forum. bingung terus. saya budak baru belajar hehehe.
ReplyDeleteSokong lah open-source community
Salam saudara;
ReplyDeleteSaya dah cuba buat config utk chillispot and bila saya run:
[root@localhost init.d]# /usr/local/etc/init.d/chilli start
saya dpt error mcm ni pulak:
Starting chilli: coova-chilli[4952]: options.c: 79: Invalid mask
coova-chilli[4952]: options.c: 322: Invalid network address: /!
Kat mana saya nak trouble shoot?
Buat pengetahuan saudara saya install FreeRADIUS-1.1.7 + MySQL on Fedora 8
CoovaChilli pun sama run pada same machine.
Network diagram saya sama dgn saudara cuma instead of using Linksys hub, saya guna RUCKUS Wireless AP. Saya nak user authenticated via wireless.
Terima Kasih saudara..
Wassalam..
emel saya configuration chilli.cnf dan bacaan ifconfig -a
ReplyDeleteazril.nazli@gmail.com
Wa-alai komusalam...
ReplyDeleteNice to see your blog, I just come to say Hi. I found you in coova forum congratulation for your success coova building.
Salam saudara;
ReplyDeleteSaya nak ucapkan thank you very much atas pertolongan saudara masa saya nak build hotspot dulu..
Alhamdulillah the freeradius works fine with coovachilli, dan laptop saya dpt diauthenticatekan.
Cuma saya nak tanyer klu2 saudara pernah configure billing mechanism pada freeradius (e.g radiusd.conf.)
Saya nak cuba buat billing mechanism di mana user dpt view bandwidth usage and how much (dalam RM)they have used, selepas user login.
Lepastu, adakah saya patut modify database radius utk tambah column utk list down jumlah penggunaan (dlm RM) yg telah user gunakan. Ini adalah utk reference administrator.
Terima Kasih saudara.
p/s: Development yg saya buat ni bukan utk deployment seperti yg saudara buat. Utk RnD purposes. Tp saya nak kena produce billing mechanism supaya boleh di adopt oleh industry.
tahniah, molek benar jika saudara blogkan pengalaman install mamakspot dan share dengan pengguna yg lain.
ReplyDeleteMengenai billing pula, kena fikir guna PHP
Database radius hanya membekalkan kita data sahaja seperti
1. Jumlah masa online
2. Jumlah saiz download
3. Jumlah saiz bandwidth upload
Jadi pengiraan untuk billing, katakan Ahmad telah melanggan selama 30 jam, just buat kiraan mudah guna PHP untuk kira jumlah wang yang perlu Ahmad bayar. Katakan Ahmad nak beli 100 jam prepaid, PHP kenalah kira jumlah kos untuk 100 jam, dan bila Ahmad dah bayar, sistem PHP kena update data dalam table raddacct/radcheck untuk membolehlah Ahmad activated hanya selama 100 jam
Terima kasih...
ReplyDeleteAda tak alternatif utk admin section?..
- create user
- view report(usage)
macam dalam firmware
http://coova.org/wordpress/index.php/2008/01/17/new-year-new-features/
data dah ada dlm radius.. tinggal nak manipulate je... ade jumpe kat mane2 org dah buat?.. bleh share?..
trime kasih..
cuba tengok screenshot mamakspot
ReplyDeletehttp://mamakspot.protonmania.com/hotspot/
boleh cuba kat sana, tapi tuh demo aja..tak functional
ada perbezaan ker kalau install apache v1.3 dengan v2.
ReplyDeletedan step
1. Edit fail configuration Coova di vi /usr/local/etc/chilli/config
(tiada jumpa fail config tetapi fail default sama dengan file yg diberi)
rename default jadi config
ReplyDeleteapache takder beza, cuma suka guna yg latest.
service "mysqld" , "httpd" , "init.d/coova" sudah bila try masuk yahoo.com dari laptop ia akan redirecting oleh coova tetapi saya dapat error
ReplyDeletehttps://10.0.0.1/app/uam/chilli?res=notyet&uamip=10.0.0.1&uamport=3990......www.yahoo.com%2f
Not Found
The requested URL /app/uam/chilli was not found on this server.
Apache/2.2.3 (CentOS) Server at 10.0.0.1 Port 443
ada apa2 yang tertinggal ker???file uam pun dah download dan bila tukar file dalam folder uam chilli.js kepada chilli redirecting coova dapat tunjukkan source code file tersebut...
Terima Kasih sebab banyak membantu terutama en. bazet. Saya beginner dalam linux dan perlu belajar linux project dalam masa yang terdekat. turtorial ini telah bantu saya belajar banyak perkara tentang Linux system. Thanks a lot. PEACE..
ReplyDeletekenapa yer saya setup ,tapi cuma bila masuk url 192.168.1.xx dia redirect ke .../hotspotlogin.cgi .. taip url biasa tak direct.. pls help ;)
ReplyDeletethanks bro...bgus arr tutorial nih... senang faham..
ReplyDelete