IP

UPDATES

Apa aku nak buat??


Lama gila fikir apa aku nak buat untuk final projek yang akan aku ambik semester depan. Semuanya bermula apabila aku pergi bercuti di sebuah negeri yang anda semua kenal (lama dah, masa tu hp takda wifi lagi)......tak payah nak habaq la negeri mana......aku teringat Bila aku stay kat hotel di sana, dia ada wifi service, namun bila aku try connect, kena masuk

username & password. System macam ni memang bagus kalau aku try implement kat taman perumahan aku... boleh la income sikit, so aku pun try explore.....
akhirnya aku jumpa mamakspot..................
dan akhirnya aku try mencuba system yang dinamakan :

Nak tengok review dalam newspaper ??

Klik sini

Hotspot (wifi) Controller System

Apa benda tu???

- satu system yang mengawal dan menguruskan pengguna wifi yang bersaskan laman web

ciri-ciri yang perlu ada :

1) admin boleh mengawal pengguna dengan cara menetapkan tempoh maximum user dan tempoh tamat (expired date)

2) pengguna yang ingin menggunakan internet perlu mendaftar dahulu (web form)
guna html & PHP la rasanya sebab ada buku...

  1. Username
  2. Password
  3. Expired Date
  4. Upload/ Bandwith Speed
3) Selepas User mendaftar admin boleh membenarkan (enable) user yang sepatutnya akses ke internet.

4) Admin boleh memeriksa samada:
  • User tersebut Online atau tidak
  • Jumlah pengguna yang online
  • laman web yang dilawati user
  • Jumlah bandwith downloaded/uploaded
5) Admin boleh disconnect User serta merta pada bila2 masa.

Hardware & software

Server
1 system unit (PC).
Pentium 4 or latest.
2 Network card ( dari server, 1 ke Internet , 1 lagi ke AP)
20 GB storage
minimum 256 MB memory
Install dengan OS Linux CentOS 4.7 server (final)
Install Freeradius Server
MySql Server
Apache Web Server
PHP & HTML (interface)
MySql (database)
Coova Chili captive portal.

Access Point
Linksys WRT54GL (coova AP firmware)

Cabling /connection flow
Internet ---> Streamyx Modem ---> Eth0 ---> Radius server ---> Eth1 ---> AP --->User



User hanya perlu ada :
satu PC atau Notebook yang boleh access wireless, sekarang ni handphone pun boleh...

Bagaimana ia bekerja?

USER
Mula-mula user akan on kan wireless, kalau tak on macam mana nak connect, User akan detect SSID wireless access point (AP), sebagai contoh 'HOTSPOT' dan klik connect. User akan di beri IP Address secara automatik (DHCP).

Lepas connect, user tidak boleh akses ke internet lagi, tapi dia kena login dulu, sekiranya user belum mempunyai akaun seperti username dan password, user tu boleh lah register dulu dalam form yang disediakan User boleh memilih username, password, bandwidth, dan tempoh masa penggunaan dan klik register.

semua maklumat user tu akan di hantar ke database dalam server tapi user belum boleh akses ke internet, sebabnya, admin perlu 'enable' kan user tu secara manual.......(weakness).
mungkin admin boleh meletakkan "harga" untuk tempoh dan bandwidth user.....
User boleh menghubungi admin dengan maklumat yang dipaparkan di web page semasa user register dan selepas user submit form.

selepas admin enable kan user, user akan boleh akses ke internet. TETAPI, mengikut tempoh, contoh, dalam cybercafe kita boleh menggunakan internet mengikut masa yang kita bayar selepas sejam automatik kita x boleh guna internet, sama ja, Apabila tempoh user tamat, automatik user akan "ditendang" kluar....... so nak guna lagi?

maksudnya, user tidak dapat akses ke internet, KECUALI admin re-enable kan kita semula.

Admin

selepas user menghubungi admin, admin akan login ke page admin management, maklumat user yang di register akan tertera dan admin hanya perlu klik untuk membenarkan radius server memberikan akses user tersebut kepada internet.

rasanya admin boleh disconnect user anytime, admin boleh monitor user yang online, boleh monitor website yang dilawati, boleh control upload/download speed user tu guna.

-------------------------------------------------------------------------------------------------

Hari pertama aku install Linux CentOS 4.6 (final) kedalam "server". Untuk memudah kan lagi kerja, aku mematikan firewall dan SELinux sejak dari mula install. setelah siap install dan di update, aku mulakan untuk settingkan network card

Setting untuk network card 1
Nama : ETH0
IP-Address : 192.168.1.2
Subnet Mask : 255.255.255.0
Gateway Address : 192.168.1.1
Cable : Sambung terus ke ethernet port Router Modem Streamyx

Setting untuk network card 2
Nama : ETH1
IP-Address : 10.0.0.1
Subnet Mask : 255.255.255.0
Gateway Address : 192.168.1.2
Cable : Sambung terus ke ethernet port Linksys WRt54 GL

anda boleh lihat setiap setting berikut adalah bertujuan menjadikan server ini berfungsi sebagai router.

Setting untuk Laptop
IP-Address : 10.0.0.2
Subnet-mask : 255.255.255.0
GatewayAddress: 10.0.0.1 ( poin ke ETH1 ip address )
DNS: 202.188.1.5

kemudian dari laptop saya cuba ping ke 10.0.0.1 SUCCESS!!!

namun masih tidak dapat akses ke internet kerana linux ini belum diconfigure sepenuhnya untuk menjadi router. Thanks to saudara Bazet & sambung esok....


kepala pening nak study vi text editor, namun hati igin tahu menyebabkan semangat itu semakin tinggi, akhirnya, adalah seorang hamba Allah ini yang sudi membantu. Thanks to t*********76. Akhirnya satu scripts telah berjaya dibuat yang dinamakan firewall.sh.
Memamg fun blaja main coding ni......

walaupun nak cari satu-satu coding tu memang susah, tapi minat punya pasal...

saa sambung dengan install freeradius server. freeradius server ni adalah berfungsi untuk authenticate proses. dimana yang hanya akan membenarkan User tertentu sahaja authenticate melalui username dengan password.

bro bazet suggest guna pfsense sebagai ganti coova chili kerana developement coova chili sudah ditamatkan, dan pfsense yang still active. namun saya terpaksa menggunakan coova chili jugak kerana saya tidak menggunakan VMWare. Ini adalah kerana PFSense tidak "coexist" serentak dengan linux. Ada problem sikit bila saya mahu configure freeradius lepas saya masukkan password, autentication tak jadi.

lepas tu saya matikan iptable sekali lagi saya try, ada perubahan..
lepas dipastikan, ia nya memang telah berjaya:


rad_recv: Access-Accept packet from host 127.0.0.1
port 1812, id=150, length=20
You have mail in /var/spool/mail/root


sekarang saya menghadapi sedikit masalah untuk mysql sebab dapat error

mysqld: Unreconized Services


Bukan error tapi aku belum install mysql-server.
saya keliru cara nak install mysql-server.

namun akhirnya saya jumpa jugak cara nak install mysql server dalam CentOS

saya teruskan dengan create database nama radius,
dan saya masukkan schema.sql, (sampai sini saya telah puas hati).......
makan masa 2 jam nak pikir.....maklumla baru newbie..

selepas edit file radiusd.conf...trus jadi error...

aku fenin....mlm ni dah nak balik dah TATiUC taksempat rasanya..
nak online lepas ni mybe dah kurang..
Thanks bro sheikh and bazet mamakspot.
-----------------------------------------------------------------------------------------------

Setelah cari punya cari, rupa-rupanya freeradius server 2.1.4 (latest) memang takder script snmp.conf, oleh itu saya cuba remove kembali dan install freeradius-server-2.0.5 , namun saya restart balik radiusd, success akhirnya. Segala masalah dapat diatasi.

bila saya cuba kembali authenticate

radtest mankuk hayun 127.0.0.1 1812 testing123


freeradius dapat reply

tiba fasa seterusnya bila saya perlu untuk install dan configure coova chili + freeradius server + Mysql. Bab yag paling susah aku rasa......

Coova Chilli adalah server untuk mengawal user.
coova akan mendapatkan data dari server radius dan akan check samada user yang nak login mempunyai akaun, status aktif atau tidak. Kalau user failed dari segi memberi password atau tidak wujud dalam sistem atau status == reject, Coova tidak membenarkan user tersebut dari masuk ke dalam sistem.

Setelah bro Azril (bazet) bagitau aku supaya untar coova-chilli-1.0.12.tar.gz dalam root, aku terus untar, kemudian aku compile,dan terus install, setelah itu, ikut je tutorial, aku copy segala file dan siap segala uam.tar.gz pun aku dah copy ke /var/www/html

terus aku try, address dhcp, connect ke AP, bila bukak browser..... dan, hasilnya.......


Coova Chilli login page.


User information

Sekarang adalah masa untuk install PHP script, sebelum tu aku edit agar interface lebih menarik......

Memang susah nak kena configure balik coova chilli dan langsung tak dapat nak bukak login page gunakan hotspotlogin.cgi sampai lah aku jumpa configuration ni dan buat
path ke folder untuk-

- hotspotlogin.cgi
   HS_UAMFORMAT=https://\$HS_UAMSERVER/cgi-bin/hotspotlogin.cgi

-folder php script
   HS_UAMHOMEPAGE=http://\$HS_UAMLISTEN:\$HS_UAMPORT/uam

Masalah baru timbul apabila aku tidak berjaya login configuration hotspotlogin.cgi kena aku terokai lagi supaya dapat cari path dan baca data dari database.

masalah tu dapat aku detect lepas aku edit configuration uamsecret=********* agar sama dengan file ********* dari database.. alhamdulillah....jadi.

untuk homepage aku mesti path kan ke folder uam, aku dh buat lepas edit file config dlm chilli, namun tidak boleh link ke hotspotlogin.cgi (10.0.0.1:3990/prelogin) path untuk authentication.
folder uam tu ada php script yang membenarkan admin menguruskan user dan untuk user self register....


Update

Selepas menyelesaikan masalah configuration chilli.conf akhirnya dapat dieselesaikan atas bantuan "paan" yang turut membina wifi controller ini.

selepas itu maka selesailah masalah dan ianyan 99.8% siap kerana saya perlu mengedit php page agar lebih interaktif dan lebih menarik.

Photobucket

login page 'pop-up' gunakan hotspotlogin.cgi

Photobucket

Login..


Gambar sikit-sikit...


Woorkspace aku yang sempit.


notebook aku sebagai 'client'


PC murah yang aku beli dalam lelong.com.my
dijadikan server

1 comments

  1. zamrider // June 19, 2009 at 6:55 AM  

    huhuh blajo pandai2 setting natang ni.nnt bleh ajo aku plak.