6.09.2011

Instalasi Distro Firewall IPCop 1.4.20

IPCop merupakan satu dari sekian banyak distro GNU/Linux yang ditujukan khusus sebagai firewall untuk jaringan lokal. Jika anda pernah mengimplementasikan iptables untuk aplikasi firewall di berbagai distro GNU/Linux dan merasa kesulitan maka IPCop mengubah semua hal itu dan membuat implementasi firewall menjadi sangat mudah. Distro ini datang dengan fitur utama berupa antarmuka berbasis web yang sangat mudah untuk digunakan. Selain dapat dijadikan sebagai firewall, IPCop juga menyediakan beberapa layanan yang biasa digunakan di jaringan lokal (LAN) seperti DHCP, http proxy menggunakan squid, DNS proxy menggunakan dnsmasq, ntp time server, dynamic dns, dan beberapa layanan lain. Distro ini juga datang dengan installer berukuran cukup kecil, hanya sekitar 50MB dan hanya membutuhkan waktu beberapa menit untuk melakukan instalasinya. Untuk keperluan perangkat keras, distro ini juga tidak terlalu menuntut hardware yang mumpuni. IPCop masih dapat berjalan dengan baik di PC tua i386, memori 256MB, dan harddisk 20GB.
Sayangnya proses instalasi distro ini masih berbasis teks yang mungkin cukup menakutkan bagi para pengguna pemula. Namun demikian tidak perlu takut karena proses instalasinya cukup sederhana, kita cukup mengisikan beberapa data dan mengatur beberapa konfigurasi, selebihnya akan dikerjakan secara otomatis oleh IPCop. Satu hal yang perlu diperhatikan adalah distro ini akan menggunakan keseluruhan kapasitas harddisk, sehingga kita perlu memastikan tidak ada data penting yang masih ada di dalam harddisk. Proses selengkapnya akan dijelaskan berikut ini.
1. Pastikan pengaturan BIOS sudah menempatkan CD-ROM sebagai boot device yang pertama. Masukkan CD installer ke dalam CD-ROM drive lalu reboot PC. Pada tampilan boot loader distro ini kita diingatkan semua data yang ada akan dihapus, jika sudah yakin data sudah diamankan tekan Enter untuk melanjutkan.



2. Di layar berikutnya pilih bahasa yang akan digunakan. Lalu pilih OK untuk melanjutkan.



3. Pilih OK pada layar konfirmasi.




4. Pilih sumber instalasi, ada dua pilihan CD-ROM/USB-KEY atau HTTP/FTP, karena kita menggunakan CD-ROM maka tandai pilihan CD-ROM/USB-KEY kemudian lanjutkan dengan memilih OK.



5. Installer IPCop akan mempartisi dan memformat harddisk secara otomatis.Pilih OK dan tunggu hingga proses ini selesai.



6. Jika sebelumnya pernah melakukan instalasi IPCop dan memiliki backup konfigurasi, silakan restore konfigurasi tersebut dari layar ini. Jika tidak pilih saja skip dan lanjutkan dengan memilih OK.




7. Tahap ini merupakan salah satu konfigurasi yang cukup penting selama proses instalasi IPCop, memilih kartu jaringan yang akan digunakan sebagai Interface Green. Pilih Probe untuk melakukan proses pencarian driver secara otomatis.



8. Apabila NIC terdeteksi maka pilih OK untuk menggunakannya sebagai interface green.



9. Masukkan alamat IP dan netmask untuk interface green. Pilih OK untuk melanjutkan.



10. Instalasi IPCop berhasil, silakan pilih OK untuk melanjutkan beberapa konfigurasi dasar.



11. Pada layar berikutnya, silakan memilih jenis tata letak keyboard yang digunakan. Untuk Indonesia biasanya menggunakan us. Pilih OK untuk melanjutkan.



12. Tetapkan zona waktu sesuai dengan wilayah anda. Lanjutkan dengan memilih OK.



13. Masukkan nama host dan nama domain secara berturut pada layar berikutnya. Lanjutkan dengan memilih OK.



14. Di layar ISDN Configuration pilih Disable ISDN jika tidak menggunakan modem ISDN.



15. Masuk ke menu utama konfigurasi jaringan. Sorot pilihan Network Configuration Type untuk memilih jenis konfigurasi jaringan.



16. Pilih Green + Red karena kita menggunakan dua NIC. Lanjutkan dengan memilih OK.




17. Kembali ke langkah 15 sorot pilihan Drivers and card assignments. Pilih OK pada layar yang muncul untuk mencari NIC yang cocok sebagai interface Red.



18. Pilih Probe untuk melakukan pencarian driver secara otomatis.



19. Jika driver yang tepat ditemukan, pilih OK untuk menetapkan NIC tersebut sebagai interface Red.




20. Kembali ke langkah 15, pilih “Address settings” lalu pilih interface Red untuk dikonfigurasi. Pada pengaturan ini silakan memilih apakah akan menggunakan DHCP, static, atau pengaturan lainnya.



21. Kembali ke langkah 15, pilih DNS and gateway settings. Langkah ini perlu jika menetapkan alamat interface Red secara statis pada langkah sebelumnya.



22. Kembali ke langkah 15, pilih “DHCP server configuration. Pilih Enabled jika ingin mengaktifkan DHCP server, lalu isikan parameter yang diperlukan. Lanjutkan dengan OK. Jika DHCP server tidak diaktifkan lewati langkah ini dengan memilih Cancel.



23. Kembali ke langkah 15, pilih Done untuk melanjutkan proses konfigurasi. Isikan password user root.



24. Isikan password untuk user admin, user ini digunakan untuk administrasi melalui web.



25. Isikan password untuk user backup, user ini digunakan untuk backup dan restore konfigurasi IPCop.



26. Instalasi selesai, reboot mesin untuk masuk ke IPCop.



27. Loginlah menggunakan user root dan password yang diisikan pada saat proses instalasi.



Instalasi IPCop sudah selesai, untuk melakukan administrasi dapat dilakukan melalui antarmuka web yang dapat diakses dari http://alamatipcop:81, sebagai contoh jika alamat IP dari mesin IPCop adalah 192.168.56.2 maka akses antarmuka web admin dilakukan dengan mengunjungi alamat http://192.168.56.2:81 dari browser.
http://rotyyu.wordpress.com/2010/06/22/instalasi-distro-firewall-ipcop-1-4-2/

6.08.2011

Konfigurasi Calstats untuk Alat Monitoring Jaringan

Sekarang saya akan mencoba membuat alat monitoring jaringan dengan Calstats. Saya rasa calstats bisa jadi pilihan yang bagus untuk monitoring jaringan kita karena ringan dan bisa diakses via web browser.
Mari kita mulai :
Pertama siapkan mesin yang dengan OS ubuntu dan terkoneksi ke jaringan, disini saya menggunakan Ubuntu Server 8.04.
Kemudian installkan paket-paket yang diperlukan untuk webserver, jika sudah diinstall LAMP maka langkah ini abaikan saja. Namun jika belum, maka dapat diinstallkan secara manual.
apt-get install apache2 php5 php5-common php5-gd php-pear php-db libapache2-mod-php5
Download calstats terbaru di http://www.mobilnews.cz/honza/dnload/calstats/
Disini saya memakai calstats-0.1.2.tar.gz
wget http://www.mobilnews.cz/honza/dnload/calstats/calstats-0.1.2.tar.gz
Setelah didownload, extract calstats-0.1.2.tar.gz.
tar -xzvf calstats-0.1.2.tar.gz
Kemudian pindahkan folder calstats ke /var/www agar bisa dibrowse.
mv /home/ryan/calstats-0.1.2/calstats/ /var/www/
Untuk monitoringnya installkan nmap.
apt-get install nmap
Ubah file gen_stats yang ada pada direktori /var/www/calstats.
vim /var/www/calstats/gen_stats
Lihat berikut, ubahlah yang ditebalkan:
# CaLStats directory and data paths
STATS_PATH=/usr/local/calstats
STATS_PATH_DATA=$STATS_PATH/data
STATS_PATH_OUT=$STATS_PATH/out
STATS_PATH_TMP=$STATS_PATH/tmp
# Program paths
PHP_PATH=/usr/bin/php4
PING_PATH=ping
NMAP_PATH=nmap
FPING_PATH=fping
# STATS_TYPE – ping, fping or nmap
STATS_TYPE=ping
Edit menjadi seperti di bawah ini :
# CaLStats directory and data paths
STATS_PATH=/var/www/calstats
STATS_PATH_DATA=$STATS_PATH/data
STATS_PATH_OUT=$STATS_PATH/out
STATS_PATH_TMP=$STATS_PATH/tmp# Program paths
PHP_PATH=/usr/bin/php
PING_PATH=ping
NMAP_PATH=nmap
FPING_PATH=fping
# STATS_TYPE – ping, fping or nmap
STATS_TYPE=nmap
Jalankan konfigurasi calstats
/var/www/calstats/gen_stats
Jangan lupa ketikan perintah ini untuk menjalankan gen_stats secara otomatis
crontab -e
Kemudian masukkan perintah dibawah pada file tersebut dan save
*/2 * * * * /var/www/calstats/gen_stats > /dev/null 2>&1
Membuat gambar monitoring
Pertama kita masuk ke folder data
cd /var/www/calstats/data/
Kita lihat isi folder data
ls
test1.comp  test1.config  test1.legend  test1.link  test1.state
Berikut keterangan dari masing-masing files diatas :
*.comp Files
Digunakan untuk mengedit client yang akan di tampilkan.
computer_name;ip_address;computer_importance(0-5);x_location;y_location;
Kita bisa menambahkan perintah sebelum memasukan nama client
! – ip address dan peket latency tidak akan di munculkan
$ – ip address tidak akan di munculkan
% – informasi packet latency tidak akan di munculkan
Jika anda memasukan ip address 127.0.0.1 pada sebuah client. maka client itu akan pasif .
contoh test1.comp
Server1;192.168.1.1;1;250;120;

%Server2;192.168.1.2;1;100;120;

$Router1;1.2.3.4;1;250;50;
File test1.comp milik saya
$Sw-Core;127.0.0.1;0;450;180;
Sw-Wlan;127.0.0.1;0;210;180;
Sw-Pedca;10.65.1.6;0;600;230;
Sw-Fkep;10.65.0.245;0;600;290;
Sw-FISIP;10.65.0.247;0;600;350;
*.config Files
Digunakan untuk mengedit berapa besar layar yang anda butuhkan, kemudian title, border, dan warna background.
title;x_size;y_size;legend_location;border;background_color;
legend_location:
0 … no legend
1 … top left
2 … top right
3 … bottom left
4 … bottom right
border:
0 … off
1 … on
Contoh test1.config
Ryan’s Calstats;1300;800;3;1;FFFFFF;
Berarti panjang  1300 dan lebar 800, 3 berarti keterangan legend ada di bawah kiri, dan background berwarna putih dengan code warna FFFFFF
*.legend files
Digunakan sebagai legend atau keterangan gambar sebagai contoh :
1;Wireless 2,4 Ghz link;
51;Wireless 5 Ghz links;
40;Ethernet 10 mbits;
41;Ethernet 100 mbits
Contoh test1.legend milik saya
30;Wireless 5,8 GHz links;
51;Optic Link Multimode;
40;Ethernet 100 mbits;
41;Ethernet 1000 mbits;
30,51,40,41 = kode warna
30 adalah warna hijau muda jadi garis warna hijau muda berarti memakai koneksi Wireless 5,8 GHz links.
*.link files
Digunakan untuk menentukan link/jalur dari network diagram yang akan anda buat. Ada penambahan warna untuk membedakan.
Contoh test1.link
51;Sw-Core;Sw-Wlan;
Keterangan diatas berarti Sw-Core terhubung dengan Sw-Wlan dengan kabel fiber optic (di test1.legend 51 = Optic Link Multimode)
*.state files
Berisi IP address yang kita masukkan ke *.comp secara otomatis jadi kita tidak perlu merubahnya.
Agar gambar dapat langsung dibrowse, kita dapat memasukkan file html berikut di /var/www/calstats/out
cd /var/www/calstats/out
vim index.html
Isikan kode berikut :
HTML>

<strong>Ryan’s Network Monitoring</strong>




test1.png WIDTH=100% HEIGHT=100%>


Ubah image source dengan nama image yang ada di folder /var/www/calstats/out/, kemudian save.
Pengujian
Buka ip-calstats/calstats/out di browser .
Contoh :
10.67.192.5/calstats/out
Maka akan muncul :
Kita bisa lihat konfigurasi sebelumnya dan hasilnya :
test1.comp
$Sw-Core;127.0.0.1;0;450;180;
Sw-Wlan;127.0.0.1;0;210;180;
Sw-Pedca;10.65.1.6;0;600;230;
Sw-Fkep;10.65.0.245;0;600;290;
Sw-FISIP;10.65.0.247;0;600;350;
Tampilan :
test1.link
51;Sw-Core;Sw-Wlan;
Tampilan :
test1.legend
30;Wireless 5,8 GHz links;
51;Optic Link Multimode;
40;Ethernet 100 mbits;
41;Ethernet 1000 mbits;
Tampilan :

Kita bisa memonitor semua jaringan yang terhubung selain itu kita bisa melihat  client yang mengalami gangguan/mati. Apabila client hijau berarti client berjalan normal dan jika berwarna merah , client tersebut mengalami gangguan/mati.
Sekian konfigurasi calstats di ubuntu server 8.04, semoga bisa bermanfaat.

Captive Portal dengan Coova Chilli, Yfi, FreeRadius.

Bagaimana kabarnya kawan-kawan? Kebetulan nih saya baru coba setting Coova Chilli jadi daripada kedepannya lupa lebih baik saya dokumentasikan saja.
Topologi :
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
Install LAMP dan OpenSSH-Server :
sudo tasksel
Tandai LAMP dan OpenSSH Server maka semua package akan otomatis terinstall.
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

1. Install CakePHP
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
Download versi terbaru CakePHP di http://cakephp.org.
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
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 :

    AllowOverride All

#-------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-------------

    Header set Expires "Thu, 15 Apr 2012 20:00:00 GMT"

#----------------------------------

#--------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″.
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 :
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/
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 ”
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/yfi jika 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 oleh FreeRADIUS. 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 memasukkan attribute 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.
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.
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
# 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
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.
$server_ip      = '10.88.88.1';

$port           = '3990';

Silakan restart server captive portal.
Jangan lupa berdoa semoga lancar.

Pengujian :
a.YFI dan Radius
1. Di browser kita buka http://127.0.0.1/yfi atau http://10.67.192.4/yfi kemudian login dengan username root dan password admin.
2. Kita pilih Permanent Users > User Management. Setelah itu pilih add (+) untuk menambah username.

Isi Username, Password, Language, Realm, Profile dan Cap Type. Kemudian Save.
Setelah berhasil membuat username baru, tes apakah sudah ada di radius dengan memilih username yang akan dites, kemudian klik Test Radius.
Jika tampilan seperti dibawah ini berarti YFI dan Radius sudah terkoneksi dengan baik.

b.Captive Portal
1.Tes dengan menggunakan komputer client. Setting network interface client ke dhcp, jika client mendapat IP Address 10.88.88.2 – dst berarti dhcp dari coova sudah berfungsi.
2.Coba browsing contoh buka www.google.com. Akan keluar halaman login. Kemudian diarahkan ke halaman login: hs_land.php.

3.  Login dengan user dvdwalt@ri dan password dvdwalt@ri, tapi jika sudah membuat username sebelumnya, bisa dicoba username tersebut.
contoh : ryan@ri password bismillah.
4.Jika gagal akan muncul tampilan.

5. Jika akses diterima, akan muncul www.google.com. Maka konfigurasi Captive Portal ini berhasil.

Alhamdulillah akhirnya materi ini sudah selesai. Banyak ilmu yang bisa saya dapatkan dari praktek Captive Portal ini.
Tulisan ini niatnya hanya untuk mengingatkan saya jika lupa kedepannya tapi jika yang ingin share-kan tulisan ini, silakan.
Saya harap ada kritik atau saran dari para pembaca. Semoga bermanfaat.
Terima Kasih atas perhatiannya.
Wassalamu’alaikum Wr. Wb.

YFI

pertama,
#########################################
1. buka tab realm and provider,klik manajemen realm, bikin providar baru sesuai dengan hotspot anda, misal "katrok"
#########################################

2. buka tab profil,  disana ada profil standar. edit satu persatu, tambahkan (di vendor WISPr) WISPr-Bandwidth-Max-Up, reply,Bit/Second (speed uploadnya, batesin). Tambahkan juga WISPr-Bandwidth-Max-Down,reply,Bit/Second (Speed downloadnya). Tambahkan juga (di vendor Misc) Simultaneous-Use,check,textstring.
3. Untuk yang time based, bisa juga tambahin Max-Daily-Session,check,textstring (maximum waktu online per hari)
4.So, ada 6 biji profil standard, 3 biji voucher (time based,data based, multi counter) dan 3 biji permanent (time based, data based, multi counter).
#########################################

5. bikin spesifikasi profil
misal: Permanent voucher time based.
YFI time, kasih angka 10 (hanya punya kesempatan 10 detik online) (reset sebulan sekali)
Simultaneous-Use, kasih angka 1 (hanya boleh ada 1 user login)
Idle-Timeout, kasih angka 240 (setelah 4 menit atau 240 detik ga digunakan otomatis logout)
WISPr Max Up kasih angka 80000, so punya upload speed 8kbps (cukup nyaman)
WISPr Max Down kasih angka 512000, so punya speed download 52 kbps (cukup nyaman untuk penggunaan internet), ingat untuk Down speed ini squid juga terbatasi, so, mengapa ane batesi jadi 512000? bukankan bagusnya squidnya dilepas aja? hehehehe.... karena ane pake AP set ke mode b, maka jangkauannya semakin jauh, but througoutputnya berkurang, so kalo ada user online dan semua Cache hit nya dilepas.... tau ndiri yang terjadi kan? tongue
ACCT-Interim interval kasih angka 120, so tiap 2 menit yfi akan melakukan pengecekan.

edit sesuai selera buat profil lainnya, misal ingin tiap hari user hanya punya hak 5 jam online, edit aja bagian max Daily Session jadi 18000 (5 jam=18000 detik)

6. pada tab permanet user masuk ke manajemen user, bikin user baru dengan klik +
misal username : mantaaba, kata sandi : 1234, dst... realm pilih provider yang udah dibuat tadi "katrok", pilih profil user : permanent,  type cap : voucher (buat user prepaid permanent)
Simpan. ....... so jadilau user permanen anda ntar pas nongol login page buat ngenet, gunakan "user name: mantaaba@katrok", "password:1234"
online deh... angan lupa, mantaaba ini cuma punya waktu 10 detik login per bulan. sooo... kalo mu beli tiket 10 jam, 100 jam, 200 jam dst.... ikuti langkah 7

7. pada user permanen, pilih kredit internet. tambah baru, pilih realm : katrok, bikin tanggal kadaluarsanya (walau user masih punya banyak jam, tapi kalo udah kadaluarsa harus beli lagi gt), pilih unit (karena yang ane pake untuk mantaaba ini permanent time based) pilih misal 10 jam, kosongkan = 0 aja unit dalam MB nya. simpan

8. kalo udah, klik pada kredit internetnya terus pilih lampirkan (gambar klip kanan atas)pilih aja yang user mantaaba baru saja kita buat, simpan.

logout dah.
###########################################
## ntar kalo user permanent mu nambah waktu, gunakan aja point 7 ma 8
###########################################


coba ente konek dari komputer client, jreeeeennng.... muncul splash screen keren.
masukkan user name : mantaaba@katrok, password:1234
online dah.....
untuk liat status, ketik http://"alamat server"/yfi login sebagai mantaaba@katrok, password=1234
jreeeng akan muncul buletan yang nandain waktu terpakai dan sisanya. Perlu diperhatikan, pada tab aktivitas ada sedikit bug di sana tongue it's not a big problem, karena ternyata yfi menghitung waktu online dengan benar walau pencatatan aktivitasnya salah. kalo mi logout manual juga bisa dari halaman ini klik gambar sepatu aja big_smile

9. Kalo mu bikin voucher yang ga permanet (buat dijual dalam bentuk keplek) , tinggal kreasi sendiri di tab "voucher". tapi kekurangannya ane sendiri belum nmu cara user ga permanent /voucher biar bisa lihat time remainingnya. ada yang tahu ?

10. lebih maknyus kalo ditambahin mikrotik bridge sebagai BW manajemen+pemisah BW internasional. Kapan-kapan ane kasi scriptnya di blog ane dah tinggal copy paste aja tongue

PROXY DG UBUNTU + LUSCA



http://www.ziddu.com/download/15591533/TUTORIALLUSCA.rar.htmlPROXY DG UBUNTU + LUSCA

Lusca Proxy High performance merupakan pengembangan dari squid oleh developer squid Andrian cadd yg didekasikan terutama utk caching file2 dynamic (kayak youtube, google addssense, banner, iklan dll) file2 itu biasanya membuat penuh cache, tapi karena content dynamic oleh squid pasti akan dianggap miss dan akan mendownload lagi jadi bisa membuat posioning cache. Lusca sanggup mencache file2 tsb dan menjadi hit content.. banyaknya file dinamis ini tentu akan jauh menghemat bandwidth yg kita pakai..


Bahan-bahan :
- Download dulo di sini
- Ubuntu 9.10
- Ip proxy 192.168.3.1
- Gatewai 192.168.3.254
- Ip mikrotik ke arah proxy 192.168.3.254/24
- Ram 1 GB
- HDD Sata 80 GB


Partisi HDD :
Dari harddisk 80 Gb dibagi sebagai berikut:
/ 5 Gb EXT4 System ( Flag Boot)
/var 5 Gb EXT4
/usr 9 Gb EXT4
swap 1Gb Swap
/squid-1 20 Gb ReiserFS
/squid-2 20 Gb ReiserFS
/squid-3 20 Gb ReiserFS

Install Paket yg di butuhkan :
#sudo apt-get update
# sudo apt-get install squid
# sudo apt-get install squid squidclient squid-cgi
# sudo apt-get install gcc
# sudo apt-get install build-essential
# sudo apt-get install sharutils
# sudo apt-get install ccze
# sudo apt-get install libzip-dev
# sudo apt-get install automake1.9


Download dan Patch Lusca
wget hxxp://lusca-cache.googlecode.com/files/LUSCA_HEAD-r14733.tar.gz

lalu ekstrak dan masuk ke foldernya :
# tar xzvf LUSCA_HEAD-r14733.tar.gz
# cd LUSCA_HEAD-r14733
kita patch dulo paket yg kita download tadi, sebelumnya di pastekan dulo ke dir instalasi lusca :

patch -p0 < luscaVaryrR14697.diff
patch -p0 <3xx\ loop.diff
patch -p0 < ignore-must-revalidate.diff
patch -p2 < keblux-lusca-gzip.patch

sebelum compile lakukan perintah ini : ./bootstrap.sh

Ok sekarang dimulai tahap compile nya :

./configure -prefix=/usr --exec_prefix=/usr -bindir=/usr/sbin -sbindir=/usr/sbin -libexecdir=/usr/lib/squid -sysconfdir=/etc/squid \
-localstatedir=/var/spool/squid -datadir=/usr/share/squid -enable-http-gzip -enable-async-io=24 -with-aufs-threads=24 -with-pthreads -enable-storeio=aufs \
-enable-linux-netfilter -enable-arp-acl -enable-epoll -enable-removal-policies=heap -with-aio -with-dl -enable-snmp \
-enable-delay-pools -enable-htcp -enable-cache-digests -disable-unlinkd -enable-large-cache-files -with-large-files \
-enable-err-languages=English -enable-default-err-language=English -with-maxfd=65536

Selanjutnya, ketik perintah berikut di terminal :

# make
# sudo make install

Edit squid.conf

# stop dulu squidnya dg perintah : sudo /etc/init.d/squid stop atau squid stop (ubuntu 10.04 Lts)
# kemudian copy file squid.conf, storeurl.pl yg di download tadi kedalam folder /etc/squid

Langkah selanjutnya :

# Memberikan permission pada folder cache
chown -R proxy.proxy /squid-1
chown -R proxy.proxy /squid-2
chown -R proxy.proxy /squid-3
chmod 755 /etc/squid/storeurl.pl
chown -R proxy:proxy /etc/squid/storeurl.pl

# Membuat folder-folder swap/cache di dalam folder cache yang telah ditentukan dg perintah :

squid -f /etc/squid/squid.conf -z

# Restart squid
sudo /etc/init.d/squid restart atau squid restart (Ubuntu 10.04)

============TAMAT==========