Minggu, 05 Februari 2012
Konfigurasi Captive Portal pada Ubuntu Server 8.04
Konfigurasi captive portal dengan coova_json,yfi & freeradius di ubuntu server 8.04
Sebelum praktek ada beberapa yang harus dipersiapkan:
a.PC yang sudah terinstall ubuntu server. Disini saya menggunakan Ubuntu Server 8.04.
b.Putty untuk meremote server.
c. WinSCP untuk mengirim paket yang di download ke server.
Step by step:
Setting IP address pada mesin CP (captive portal). Eth0 untuk Inet dan Eth1 untuk LAN.
sudo vi /etc/network/interfaces
auto lo iface lo inet loopback iface eth0 inet static address 10.67.192.4 netmask 255.255.255.0 network 10.67.192.0 broadcast 10.67.192.255 gateway 10.67.192.1 dns-nameservers 192.168.56.14 192.168.54.14
iface eth1 inet static address 10.88.88.1 netmask 255.255.255.0 network 10.88.88.0 broadcast 10.88.88.255
Restart service dari networking untuk menjalankan settingan baru.
#/etc/init.d/networking restart
Pastikan /etc/resolv.conf disetting DNS yang benar.Edit file /etc/sysctl.conf, Uncomment bagian ini agar dapat forwarding packet
# Uncomment the next line to enable packet forwarding for IPv4
net.ipv4.ip_forward=1
Dapat juga dengan OSPF. Dapat dilihat di http://disconnected32.wordpress.com/2010/06/24/setting-ospf-dengan-quagga/
Install LAMP dan OpenSSH-Server :
sudo tasksel
Jika sudah OpenSSH Server terinstall, remote mesin dengan putty.
Instalasi :
1. CakePHP
2. YFi CakePHP Application
3. YFi View Component
4. FreeRADIUS
5. Coova Chilli
2. YFi CakePHP Application
3. YFi View Component
4. FreeRADIUS
5. Coova Chilli
1. Install CakePHP
Install PHP dan imagemagick :
Install PHP dan imagemagick :
sudo apt-get install php5-cli imagemagick
Mulai versi Beta-3, Yfi Manager Hotspot sudah support multi bahasa
sudo apt-get install language-pack-id --- bahasa Indonesia
sudo apt-get install language-pack-af
sudo apt-get install language-pack-fr
sudo apt-get install language-pack-ms
sudo apt-get install language-pack-nl
sudo apt-get install language-pack-es
Tapi saya menggunakan yang versi 1.2.6. Paket-paket yang akan digunakan saat praktek captive portal ini dapat di download di Paket Captive Portal atau Paket CP
Jika sudah paket di download, masukan paket ke server dengan WinSCP.
Pilih direktori yang akan menerima paket di /home/user contoh /home/ryan .
Copy, extract di direktori apache. Default ubuntu di /var/www
sudo cp /home/ryan/cakephp-cakephp-1.2.6-0-gbe7ddfb.tar.gz /var/www
cd /var/www
sudo tar -xzvf cakephp-cakephp-1.2.6-0-gbe7ddfb.tar.gz
Untuk memudahkan rename direktori hasil ekstrak (misal:cake_1.2.6)
Kemudian buat symbolic link antara direktori cake_1.2.6 dengan c2
Kemudian buat symbolic link antara direktori cake_1.2.6 dengan c2
cd /var/www
sudo mv cakephp-cakephp-ef18ab2/ cake_1.2.6
sudo ln -s ./cake_1.2.6 ./c2
Enable beberapa modul apache: rewrite, deflate untuk kompresi, dan headers untuk memodifikasi http header. Modul tersebut diperlukan untuk meningkatkan performa dan kecepatan web aplikasi.
sudo a2enmod rewrite
sudo a2enmod deflate
sudo a2enmod headers
sudo /etc/init.d/apache2 reload
Kemudian edit file /etc/php5/apache2/php.ini
Ubah baris
output_buffering = Off
menjadi
output_buffering = 4096
Ubah file /etc/apache2/apache2.conf
Masukkan script di bawah ini :
Masukkan script di bawah ini :
<Directory /var/www/c2>
AllowOverride All
</Directory>
#-------COMPRESS CONTENT-----------
# place filter 'DEFLATE' on all outgoing content
SetOutputFilter DEFLATE
# exclude uncompressible content via file type
SetEnvIfNoCase Request_URI \.(?:exe|t?gz|jpg|png|pdf|zip|bz2|sit|rar)$ no-gzip
#dont-vary
# Keep a log of compression ratio on each request
DeflateFilterNote Input instream
DeflateFilterNote Output outstream
DeflateFilterNote Ratio ratio
LogFormat '"%r" %{outstream}n/%{instream}n (%{ratio}n%%)' deflate
CustomLog /var/log/apache2/deflate.log deflate
# Properly handle old browsers that do not support compression
BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4\.0[678] no-gzip
BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
#----------------------------------
#------ADD EXPIRY DATE-------------
<FilesMatch "\.(ico|pdf|flv|jpg|jpeg|png|gif|js|css|swf)$">
Header set Expires "Thu, 15 Apr 2012 20:00:00 GMT"
</FilesMatch>
#----------------------------------
#--------Remove ETags --------------------
FileETag none
#-----------------------------------------
Reload konfigurasi apache
sudo /etc/init.d/apache2 reload
2. Install YFi CakePHP Application
Download versi terbaru YFi Cake, disini memakai versi yfi_cake-Beta-4.tar.gz
extract di direktori “/var/www/c2″.
Download versi terbaru YFi Cake, disini memakai versi yfi_cake-Beta-4.tar.gz
extract di direktori “/var/www/c2″.
sudo cp /home/ryan/yfi_cake-Beta-4.tar.gz /var/www/c2
cd /var/www/c2
sudo tar -xzvf yfi_cake-Beta-4.tar.gz
sudo chown -R www-data. /var/www/c2/yfi_cake/tmp
sudo chown -R www-data. /var/www/c2/yfi_cake/webroot/img/graphics
Setting Database
Buat database ‘yfi’ dengan username dan password default ‘yfi’ (default).
Untuk settingan default gunakan perintah ini :
Untuk settingan default gunakan perintah ini :
mysql -u root -p
create database yfi;
GRANT ALL PRIVILEGES ON yfi.* to 'yfi'@'127.0.0.1' IDENTIFIED BY 'yfi';
GRANT ALL PRIVILEGES ON yfi.* to 'yfi'@'localhost' IDENTIFIED BY 'yfi';
exit;
Masukkan database :
mysql -u root -p yfi < /var/www/c2/yfi_cake/setup/db/yfi.sql
Tes YFi CakePHP dengan mengetik alamat server di browser:http://127.0.0.1/c2/yfi_cake/users/
Jika kita meremote server, maka ketik di browser ip address server:http://10.67.192.4/c2/yfi_cake/users/
Jika kita meremote server, maka ketik di browser ip address server:http://10.67.192.4/c2/yfi_cake/users/
Kalau muncul halaman login, berarti setting sudah berhasil
3. Install YFi Viewer Component
Download viewer component disini saya gunakan versi yfi-Beta-4.tar.gz
extract di directory default apache2 “/var/www ”
extract di directory default apache2 “/var/www ”
sudo cp /home/ryan/yfi-Beta-4.tar.gz /var/www
cd /var/www
sudo tar -xzvf yfi-Beta-4.tar.gz
Tes Viewer Component
Masukkan alamat berikut di browser : http://127.0.0.1/yfi atau http://10.67.192.4/yfijika dari Komputer client.
Jika berhasil, akan keluar splash page dan kemudian halaman login.
Masukkan alamat berikut di browser : http://127.0.0.1/yfi atau http://10.67.192.4/yfijika dari Komputer client.
Jika berhasil, akan keluar splash page dan kemudian halaman login.
Coba log in dengan salah satu user default berikut:
Role Username Password
Administrator root admin
Access Provider ap ap
Permanent User dvdwalt@ri dvdwalt@ri
4. Install FreeRADIUS Server
YFi Hotspot Manager merupakan front-end dari mysql database yang digunakan olehFreeRADIUS. Yang dipakai adalah versi 2.1.8.
YFi Hotspot Manager merupakan front-end dari mysql database yang digunakan olehFreeRADIUS. Yang dipakai adalah versi 2.1.8.
Installkan paket-paket berikut :
sudo apt-get install build-essential libmysqlclient15-dev libperl-dev libxml-simple-perl libmail-sendmail-perl
Kemudian compile FreeRadius.
Jika belum mempunyai paket FreeRADIUS dapat di download di http://freeradius.org/download.html
cd /home/ryan
tar -xzvf freeradius-server-2.1.8.tar.gz
cd freeradius-server-2.1.8
./configure | tee config_out.txt
make
sudo make install
sudo ldconfig
Tes FreeRadius dengan debug mode:
sudo /usr/local/sbin/radiusd –X
Ctrl+c untuk keluar.
Buat FreeRADIUS otomatis berjalan saat boot.
sudo cp /usr/local/sbin/rc.radiusd /etc/init.d/radiusd
sudo update-rc.d radiusd start 80 2 3 4 5 . stop 20 0 1 6 .
Setting FreeRADIUS agar bisa diakses oleh YFi, ganti raddb freeradius dgn raddb YFI.
sudo mv /usr/local/etc/raddb /usr/local/etc/raddb.asli
sudo cp /var/www/c2/yfi_cake/setup/radius/raddb.tar.gz /usr/local/etc/
cd /usr/local/etc/
sudo tar -xzvf raddb.tar.gz
sudo chown root.www-data /usr/local/etc/raddb/proxy.conf
sudo chmod 664 /usr/local/etc/raddb/proxy.conf
sudo chmod 644 /usr/local/etc/raddb/dictionary
sudo ldconfig
Aktifkan dan ubah dictionary chillispot
Pada Freeradius versi terbaru sudah ada dictionary chillispot, jadi kita tinggal tambahkan baris berikut di file /usr/local/share/freeradius/dictionary.chillispot untuk memasukkanattribute YFi khusus untuk voucher.
Pada Freeradius versi terbaru sudah ada dictionary chillispot, jadi kita tinggal tambahkan baris berikut di file /usr/local/share/freeradius/dictionary.chillispot untuk memasukkanattribute YFi khusus untuk voucher.
Cari baris berikut:
ATTRIBUTE ChilliSpot-Version 8 string
ATTRIBUTE ChilliSpot-OriginalURL 9 string
Kemudian tambahkan data berikut dibawahnya
##YFi Specific Attributes ATTRIBUTE Yfi-Voucher 40 string ATTRIBUTE Yfi-MAC-Reset 41 string ATTRIBUTE Yfi-Data 42 string ATTRIBUTE Yfi-Time 43 string #YFi Various Counters ATTRIBUTE Max-Daily-Session 50 integer ATTRIBUTE Max-Monthly-Session 51 integer ATTRIBUTE Max-Weekly-Session 52 integer ATTRIBUTE Max-All-Session 53 integer ATTRIBUTE ChilliSpot-Max-Daily-Octets 60 integer ATTRIBUTE ChilliSpot-Max-Monthly-Octets 61 integer ATTRIBUTE ChilliSpot-Max-Weekly-Octets 62 integer ATTRIBUTE ChilliSpot-Max-All-Octets 63 integer
Cek file /usr/local/etc/raddb/sql.conf dan/usr/local/etc/raddb/rlm_perl_modules/conf/settings.conf
Username dan password database harus sama dengan waktu kita buat database di atas.
Karena sebelumnya membuat database dengan nama ‘yfi‘ maka isi username dan password harus ’yfi‘
Jalankan FreeRadius dengan debug mode untuk memastikan tidak ada error.
Jalankan FreeRadius dengan debug mode untuk memastikan tidak ada error.
sudo /usr/local/sbin/radiusd -X
Kalau tidak ada error, jalankan FreeRADIUS melalui startup script.
sudo /etc/init.d/radiusd start
YFi menggunakan beberapa script yang harus dijalankan secara periodik. Copy-kan Cron Script berikut ke cron system.
sudo cp /var/www/c2/yfi_cake/setup/cron/yfi /etc/cron.d/
5. Install CoovaChilli
Download terlebih dahulu CoovaChilli di http://www.coova.org/Download jika belum ada.
Disini saya menggunakan CoovaChilli-1.0.14.
Download terlebih dahulu CoovaChilli di http://www.coova.org/Download jika belum ada.
Disini saya menggunakan CoovaChilli-1.0.14.
Install-kan coova chilli :
cd /home/ryan
sudo dpkg -i coova-chilli_1.0.14-1_i386.deb
Konfigurasi CoovaChilli
Copy-kan file ” /etc/chilli/defaults ” ke “/etc/chilli/config ”
sudo cp /etc/chilli/defaults /etc/chilli/config
Ubah settingan file /etc/chilli/config
#### Local Network Configurations#
# HS_WANIF=eth0 # WAN Interface toward the Internet
HS_LANIF=eth1 # Isi interface untuk LAN
HS_NETWORK=10.88.88.0 # Network IP Address server
HS_NETMASK=255.255.255.0 # Netmask IP Address server yang arah client
HS_UAMLISTEN=10.88.88.1 # IP Address Server
HS_UAMPORT=3990 # HotSpot Port (default)
#### HotSpot settings for simple Captive Portal#
HS_NASID=nas01
HS_UAMSECRET=greatsecret #default
HS_RADIUS=127.0.0.1 #IP Address localhost karena coova dan radius dalam satu mesin
HS_RADIUS2=127.0.0.1 #IP Address localhost karena coova dan radius dalam satu mesin
HS_RADSECRET=testing123 #default
HS_UAMALLOW=coova.org #jika kita membuka web ini kita tidak perlu authentikasi terlebih dahulu
HS_NASIP=127.0.0.1
HS_UAMFORMAT=http://10.88.88.1/coova_json/hs_land.php #jangan lupa IP Address diganti dengan IP Address Server
HS_UAMHOMEPAGE=http://10.88.88.1/coova_json/splash.php
HS_MODE=hotspot
HS_TYPE=chillispot
HS_WWWDIR=/etc/chilli/www
HS_WWWBIN=/etc/chilli/wwwsh
HS_PROVIDER=Coova
HS_PROVIDER_LINK=http://www.coova.org
HS_LOC_NAME="My Captive Portal" # WISPr Location Name and used in portal
Edit file ” /etc/default/chilli ” ubah nilai ke 1
START_CHILLI=1
Start-up coova chilli
sudo /etc/init.d/chilli start
Firewall Setting
Tambahkan baris berikut di bagian akhir file “/etc/chilli/up.sh “
Tambahkan baris berikut di bagian akhir file “/etc/chilli/up.sh “
# may not have been populated the first time; run again
[ -e "/var/run/chilli.iptables" ] && sh /var/run/chilli.iptables 2>/dev/null
# force-add the final rule necessary to fix routing tables
iptables -I POSTROUTING -t nat -o $HS_WANIF -j MASQUERADE
Kemudian tambahkan coa port pada file /etc/init.d/chilli, cari pada bagian ini :
OPTS="--pidfile /usr/local/var/run/$NAME.pid
Tambahkan –coaport 3799 untuk keperluan “Kick User Off”
OPTS="--pidfile /usr/local/var/run/$NAME.pid --coaport 3799" ## Tambahkan coa port
Halaman Login
Untuk halaman login dapat menggunakan login page coova_json
Copy folder coova_json ke direktori apache /var/www
Untuk halaman login dapat menggunakan login page coova_json
Copy folder coova_json ke direktori apache /var/www
sudo cp -R /var/www/c2/yfi_cake/setup/coova_json /var/www
Cek di file /var/www/coova_json/login.php :
1. $uamsecret harus sama dengan di file /etc/chilli/config , begitu juga di file/var/www/coova_json/uam.php . Defaultnya adalah greatsecret.
2. $server_ip dan $port di /var/www/coova_json/login.php , ganti server ip dengan ip server untuk ke local kita dan jika 3660 harus diganti dengan 3990.
1. $uamsecret harus sama dengan di file /etc/chilli/config , begitu juga di file/var/www/coova_json/uam.php . Defaultnya adalah greatsecret.
2. $server_ip dan $port di /var/www/coova_json/login.php , ganti server ip dengan ip server untuk ke local kita dan jika 3660 harus diganti dengan 3990.
$server_ip = '10.88.88.1';
$port = '3990';
Silakan restart server captive portal.
Jangan lupa berdoa semoga lancar.
Langganan:
Posting Komentar (Atom)
Search
Guests
About Me
- Iin Windarti
- Kota Cimahi, Prov. Jawa Barat, Indonesia
- akan menghargai jika dihargai, kalo gak suka ma orang susah untuk gak bisa suka tau simpati lagi, bosenan, gak sabaran, gelehan tapi jorok.. aku rame kalo kamu rame, aku galak kalo kamu jahat.. dan masih banyak lagi tentang aku, dan orang pikir tentang aku, manja juga sih... hehe..
Feedjit
Label
- Administrasi Jaringan (10)
- Bahasa Indonesia (2)
- Bahasa Inggris (2)
- Database WEB (1)
- Diagnosa-LAN (58)
- Diagnosa-WAN (30)
- Digital (6)
- History (17)
- Instalasi-LAN (73)
- Instalasi-WAN (10)
- Michael Jackson (2)
- Operating System (9)
- OS-Jaringan (13)
- Pengetahuan (63)
- Perempuan (11)
- Web Design (10)
My Archives
-
▼
2012
(92)
-
▼
Februari
(21)
- Setting Router pada WIndows XP
- Tutorial VM-Ware
- IP Spoofing
- Serangan Keamanan Jaringan
- Enkripsi untuk Keamanan Data pada Jaringan
- Reset Atribut File dan Folder akibat Virus
- Membangun Hotspot Sederhana
- File Sharing dengan SAMBA pada Ubuntu 7.10
- Sharing Printer dengan Client Windows
- Repository Ubuntu
- Windows Bisa jadi PC Router
- Konfigurasi PC Router pada Windows Server 2003
- Konfigurasi PC Router di Ubuntu
- Captive Portal
- Konfigurasi Captive Portal pada Ubuntu Server 8.04
- WPA-PSK (Wi-Fi Protected Access – Pre Shared Key)
- MAC Filtering
- Sejarah Hacker dan Cracker
- Perbedaan WEP dan WPA
- WPA (Wi-Fi Protected Access)
- WEP (Wired Equivalent Privacy)
-
▼
Februari
(21)
Diberdayakan oleh Blogger.
Tidak ada komentar:
Posting Komentar