Membangun Server Hotspot dengan Chillispot dan Freeradius

Wireless LAN memang menyajikan akses internet yang fleksibel. Ga usah ribet-ribet nyambung kabel sana sini, cukup dengan alat yang namanya Acces Point, dah konek ke jaringan deh hehehehe.. Nah.. Tapi kadang-kadang ada instansi/kampus atau apalah…. yang menyediakan area hotspot tapi membutuhkan otentikasi untuk bisa mengakses internet. Dan hal itu dinamakan teknik Captive Portal.

Seperti postingan saya yang lama (yang ini ni..), Captive Portal adalah suatu teknik autentikasi dan pengamanan data yang lewat dari network internal ke network eksternal. Captive Portal sebenarnya merupakan mesin router atau gateway yang memproteksi atau tidak mengizinkan adanya trafik, hingga user melakukan registrasi. Biasanya Captive Portal ini digunakan pada infrastruktur wireless sseperti hotspot area, tapi tidak menutup kemungkinan diterapkan pada jaringan kabel.

Pada postingan kali ini, aku mencoba menuliskan kembali pengalaman aku ketika membuat server hotspot dengan Chillispot sebagai aplikasi otentikasi, Freeradius sebagai manajemen client/user, dan MySql sebagai database Billing Hotspot. Seperti biasa, aku menggunakan OS FreeBSD, kali ini menggunakan FreeBSD 6.2. Langsung aja ke Step By Step proses instalasinya.

1. OS FreeBSD aku sudah terinstall dan berjalan denga baik di komputer oprekan aku.

2. Web Server Apache dengan SSL nya, PHP dan Mysql udah terinstall dengan baik.

3. Download dan Install Chillispot
Aku kemaren downloadnya dari website ini ni http://downloads.openwrt.org/sources/ Langsung aja download.

ns-rody # cd /home/rody
ns-rody # wget http://downloads.openwrt.org/sources/chillispot-1.0.tar.gz
ns-rody # tar –xzvf chillispot-1.0.tar.gz
ns-rody # cd chillispot-1.0
ns-rody # ./configure –prefix=/usr/local/chilli
ns-rody # make && make install

udah deh…

4. Konfigurasi chilli.conf
Kemudian aku mengedit file konfigurasi chillispot. Tapi sebelumnya copy file chilli.conf ke direktori /etc.

ns-rody # cp /home/rody/chillispot-1.0/doc/chilli.conf /etc/.
ns-rody # vi /etc/chilli.conf

nah ini dia file konfurasi yang udah aku sesuaikan dengan keadaan sistem aku

pidfile /var/run/chilli.pid
net 10.20.30.0/28
dynip 10.20.30.0/28
dns1 10.10.1.248
domain rodyngoprek.net
radiuslisten 127.0.0.1
radiusserver1 127.0.0.1
radiusserver2 127.0.0.1
radiusauthport 1812
radiusacctport 1813
radiussecret testing123
radiusnasid nas01
dhcpif fxp0
uamserver https://www.rodyngoprek.net/cgi-bin/hotspotlogin.cgi
uamsecret secretuam
uamlisten 10.20.30.1
uamport 3990
uamallowed 10.10.1.248

Udah deh. O iya jangan lupa untuk mengktifkan fitur SSL pada webserver kita.

5. Edit File hotspotlogin.cgi kemudian letakkan pada direktori cgi-bin pada webserver kita.

ns-rody # cp /home/rody/chillispot-1.0/doc/hotspotlogin.cgi /usr/local/apache2/cgi-bin/.
ns-rody # cd /usr/local/apache/cgi-bin
ns-rody # vi hotspotlogin.cgi

cari baris :

#$uamsecret = “ht2eb8ej6s4et3rg1ulp”;
#$userpassword=1;
Hilangkan tanda pagar didepannya :
$uamsecret = “sesuaikan dengan uamsecret yang ada pada chilli.conf”;
$userpassword=1;

Beres…

6. Download dan Install Freeradius
Pertama-tama download software freeradius nya dulu, klo aku downloadnya disini ni http://downloads.openwrt.org/sources/

ns-rody # cd /home/rody
ns-rody # wget http://downloads.openwrt.org/sources/freeradius-1.1.2.tar.gz
ns-rody # tar –xzvf freeradius-1.1.2.tar.gz
ns-rody # cd freeradius-1.1.2
ns-rody # ./configure –prefix=/usr/local/radius
ns-rody # make && make install

udah installnya, lanjut ke konfigurasi..

7. Konfigurasi clients.conf

ns-rody # cd /usr/local/radius/etc/raddb
ns-rody # vi clients.conf

cari baris yang seperti ini :

client 127.0.0.1 {
secret = testing123
shortname = localhost
nastype = other
}

Tinggal disesuaikan dengan sistem kita, untuk secret, sesuaikan dengan radiussecret yang ada pada chilli.conf.

8. Konfigurasi radiusd.conf

masih berada pada direktori yang sama dengan clients.conf, aku akan mengedit file radiusd.conf.

ns-rody # vi radiusd.conf

cari baris yang seperti ini :
$INCLUDE ${confdir}/sql.conf

Kemudian tambahkan beberapa baris konfigrasi sehingga menjadi seperti ini :

$INCLUDE ${confdir}/sql.conf
sqlcounter noresetcounter {
counter-name = Max-All-Session-Time
check-name = Max-All-Session
sqlmod-inst = sql
key = User-Name
reset = never
query = “SELECT SUM(AcctSessionTime) FROM radacct where UserName=’%{%k}’

}

Kemudian cari baris berikut dan sesuaikan dengan konfigurasi yang ada di bawah ini :

accounting {
unix
radutmp
sql
}

authenticate {
Auth-Type PAP {
pap
}
Auth-Type CHAP {
chap
}
Auth-Type MS-CHAP {
mschap
}
eap
}

instantiate {
exec
expr
noresetcounter
}

preacct {
preprocess
acct_unique
suffix
}

authorize {
preprocess
chap
mschap
suffix
sql
noresetcounter
}

session {
sql
}

9. Konfigurasi sql.conf

ns-rody # vi sql.conf

yang perlu di edit ada adalah baris berikut :

# Connect info
server = “localhost”
login = “user mysql kita”
password = “passwordnya”
# Database table configuration
radius_db = “radius atau terserah kita”

O iya, jangan lupa bikin database di mysql, sesuai kan dengan yang kita konfigurasi pada sql.conf misalnya “radius”

10. Installasi phpmyprepaid sebagai aplikasi web based untuk manajemen user dan billing hotspot.

Jangan lupa download packetnya, disini aku download phpmyprepaid0.3.3.tgz, soalnya klo versi yang di atasnya, aku gagal terus klo nginstallnya. Hehehe..

ns-rody # tar –xzvf phpmyprepaid0.3.3.tgz
ns-rody # mv phpmyprepaid0.3.3 /usr/local/apache2/htdocs/prepaid
ns-rody # cd /usr/local/apache2/htdocs/prepaid

terus aku coba untuk mengedit beberapa file.

ns-rody # vi config.inc.php

cari baris berikut, kemudian sesuaikan dengan keadaan sistem kita,

$fpdfdir=”/usr/local/apache2/htdocs/prepaid/fpdf”;

ns-rody # vi dbconnect.php

sesuaikan dengan keadaan sistem kita

$my_host=”localhost”;
$my_user=”usernya”;
$my_pass=”passwordnya”;
$my_dbase=”radius”;

Oke, beres..
Akses lewat browser http://ipaddressataudomain/prepaid/
Ntar dia bikin tabel-tael sendir pada database radius, lalu diminta masukin username dan password buat login, itu terserah kita.
Kemudian coba bikin user dan password pada phpmyprepaid tersebut.

11. Menjalankan daemon chillispot dan freeradius
ns-rody # /usr/local/chilli/sbin/chilli start &
ns-rody # /usr/local/radius/sbin/radius start &

12. Tes user radiusnya, apakah benar nge-load data dari mysql.
Oke, ak dah bikin user dan password lewat phpmyprepaid, user : rody, password : ganteng.. kemudian aku cek :

ns-rody# /usr/local/radius/bin/radtest rody ganteng localhost 1812 testing123

Sending Access-Request of id 251 to 127.0.0.1 port 1812
User-Name = “rody”
User-Password = “ganteng”
NAS-IP-Address = 255.255.255.255
NAS-Port = 1812
rad_recv: Access-Accept packet from host 127.0.0.1:1812, id=251, length=32
Idle-Timeout = 360
Session-Timeout = 180000

Nah, klo outputnya keluar seperti di atas, Insya Allah konfigurasi udah benar..
Selamat Mencoba.. Klo salah beritau ya…


Web Hosting Murah | Shared Hosting Murah | Registrasi Domain Murah

my tweet

Badge

blog-indonesia.com

instagram

Bercengkrama, 
#instafamily #instakids #instababy #instabanjar #mykeinara #myhanna #like4like #likeforlike Keinara intan & Hanna humaira Penyanyinya 3diva, 
Zufa, Hanna, Intan,

Bintang video klipnya Om Dana,

#lagubanjar #khasbanjar #amparamparpisang Full Team,.
Bersama 3orang anak,
1anak mertua + 2anak kandung.
#instafamily 
#mykeinara 
#myhanna

Menghadiri walimah perkawinan .
.
. .
.
#mykeinara
#holiday 
#manado 
#bunaken
#instamanado 
#indonesia 
#like4like

Blog Stats

  • 82,894 hits

%d bloggers like this: