Captive Portal Based OpenWRT on Wireless N Router - gisnura/captive-portal GitHub Wiki

  1. Tahap Flash Saya mengunakan fw dibawah ini: MR3420-bootstrap_theme+2wifi+2wan.bin https://www.box.com/s/e727813ce0877e65cf18

  2. Konfihurasi jaringan

  • wan2 seting APN dll sesuai dengan ISP yg dipergunakan selanjutnya, Network>wan2>edit>edit>firewal> pilih "unspecified-or-create", ketik "wan2" klu sdh suskes, ditandai dengan zona "wan2" berwarna ungu terung Network>firewall checklist pada zones "wan2", bagian "Masquerading",& "MSS clamping" klik "Save & Apply"
  • wifi Network>wifi>edit>firewal> pilih "unspecified-or-create", ketik "wifi" klik "Save & Apply" klu sdh suskes, ditandai dengan zona "wifi" berwarna coklat selanjutnya Network>firewall Edit Zones "wifi" : Allow forward to destination zones: "Wan" "wan2" klik "Save & Apply"
  • Lan Network>firewall Edit Zones "lan" : Allow forward to destination zones: "Wan" "wan2" klik "Save & Apply" Test browsing, klus sdh OK, langsung ke tahap selanjutnya
  1. Pembentukan exroot Saya pergunakan soft ini untuk mempartisi FD 4GB: Paragon Partition Manager 90 Professional < winxp/win7 dengan rincian partisi sbb:
  • 125 MB, format = swap2
  • 200 MB, format = EXT3 sisanya tidak saya pergunakan LUCI>System>Mount Points>Mount Points>Edit Enable /dev/sda2 (203 MB) /mnt/sda2 ext3 rw,sync klik "Save & Apply" LUCI>System>Mount Points>SWAP>Edit Enable /dev/sda1 (125 MB) klik "Save & Apply" buka "Putty"

root@OpenWrt:~# tar -C /overlay -cvf - | tar -C /mnt/sda2 -xf - && mkdir -p /tmp/cproot && mount --bind / /tmp/cproot && tar -C /tmp/cproot -cvf - | tar -C /mnt/sda2 -xf - && umount /tmp/cproot

LUCI>System>Mount Points>Mount Points>Edit Checklist = Configures this mount as overlay storage for block-extroot klik "Save & Apply" LUCI> System>Reboot

4 Instalasi Paket Download packages1.7z : https://www.box.com/s/4ccdb1c6f919ab4cf9e2 extract dengan winrar/7-zip masukkan file2 berikut di folder /tmp melalui "WinScp" freeradius2 php5 php5-cli libgmp php5-mod-gmp freeradius2-mod-sql libgd libmysqlclient php-pear libmysqlclient_r php5-mod-gd freeradius2-mod-sqlcounter perl coova-chilli haserl php5-cgi php5-mod-mysql terminfo libjpeg uclibcxx libmysqlclient libncurses libreadline mysql-server libltdl libopenssl freeradius2 libpcre php5 php5-cli libcurl libgmp php5-mod-gmp freeradius2-mod-sql libpng libgd zoneinfo-asia php-pear libevent2 uci libmysqlclient_r zoneinfo-core php5-mod-gd freeradius2-mod-sql-mysql freeradius2-mod-sqlcounter php-pear-db perl coova-chilli haserl php5-mod-http php5-cgi php5-mod-mysql Masuk ke "putty" root@OpenWrt:# opkg install /tmp/*.ipk root@OpenWrt:# opkg update root@OpenWrt:~# opkg install libncursesw

  1. Konfigurasi Easyhotspot Download easyhotspot.7z https://www.box.com/s/112579346433be41fea2 extract dengan winrar/7-zip masuk "putty"

root@OpenWrt:~# mkdir -p /srv/www

masukkan folder easyhotspot di folder /srv/www melalui "WinScp" masuk "putty"

root@OpenWrt:~# ln -s /srv/www/easyhotspot/htdocs /www/easyhotspot

  1. Konfigurasi Mysql masuk "putty"

root@OpenWrt:# sed -i 's,^datadir.,datadir = "/srv/mysql",g' /etc/my.cnf && sed -i 's,^tmpdir.,tmpdir = "/tmp",g' /etc/my.cnf root@OpenWrt:# mkdir -p /srv/mysql && mysql_install_db --force root@OpenWrt:# /etc/init.d/mysqld start && /etc/init.d/mysqld enable root@OpenWrt:# mysqladmin -u root password 'pass123' root@OpenWrt:# mysql -u root -p Enter password: mysql> create database hotspot; mysql> quit root@OpenWrt:# cd /srv/www/easyhotspot/install root@OpenWrt:/srv/www/easyhotspot/install# mysql -u root -ppass123 hotspot <easyhotspot_opensource_2010-10-21.sql root@OpenWrt:/srv/www/easyhotspot/install# mysql -u root -p Enter password: mysql> use mysql; mysql> grant all privileges on . to easyhotspot@localhost; mysql> grant usage on . to easyhotspot@localhost identified by 'easyhotspot'; mysql> flush privileges; mysql> quit root@OpenWrt:/srv/www/easyhotspot/install#

  1. Konfigurasi Hostnames LUCI>Network>Hostnames klik "Add" Hostnames = www.openwrt-hotspot.net
    IP Address = 192.168.1.1 klik "Save & Apply"
  2. Konfigurasi Freeradius
  • Edit bagian dibawah ini, di file /etc/freeradius2/sql.conf , menggunakan "WinScp"

    # Connection info:
    server = "localhost"
    #port = 3306
    login = "easyhotspot"
    password = "easyhotspot"
    # Database table configuration for everything except Oracle
    radius_db = "hotspot"

  • Edit bagian dibawah ini, di file /etc/freeradius2/client.conf , menggunakan "WinScp"

client www.openwrt-hotspot.net { ipaddr = 192.168.1.1 secret = easyhotspot

  • Edit bagian dibawah ini, di file /etc/freeradius2/radiusd.conf , menggunakan "WinScp"

listen { type = auth interface = br-wifi } listen { ipaddr = *

ipv6addr = ::

port = 0
type = acct
interface = br-wifi

clients = per_socket_clients

} modules {

$INCLUDE eap.conf

$INCLUDE sql.conf
$INCLUDE sql/mysql/counter.conf

} instantiate { max_all_mb noresetcounter }

  • masuk "putty"

root@OpenWrt:/srv/www/easyhotspot/install# mkdir -p /etc/freeradius2/sql/mysql

Download 2 file berikut diaialup.conf counter.conf https://www.box.com/s/8b599b5d34d20ce33416 https://www.box.com/s/877382587206838cc2a8 masukkan 2 file tsb ke folder /etc/freeradius2/sql/mysql melalui "WinScp"

  • Edit bagian dibawah ini, di file /etc/freeradius2/site/default , menggunakan "WinScp"

authorize {

eap {

ok = return

}

files

sql
max_all_mb
noresetcounter

pap

} authenticate {

Auth-Type PAP {

pap

}

Auth-Type CHAP {

chap

}

Auth-Type MS-CHAP {

mschap

}

eap

} accounting {

radutmp

unix

sql

exec

} session {

radutmp

sql

} post-auth { sql }

  • Edit bagian dibawah ini, di file /usr/share/freeradius2/dictionary , menggunakan "WinScp"

$INCLUDE dictionary.chillispot

Download file berikut dictionary.chillispot https://www.box.com/s/7cd05b0ce53a514292eb masukkan file tsb ke folder /usr/share/freeradius2/ melalui "WinScp"

  • masuk "putty"

root@OpenWrt:/srv/www/easyhotspot/install# radiusd -X

jika sdh tdk ada pesan eror,

  • masuk "putty"

root@OpenWrt:/srv/www/easyhotspot/install# /etc/init.d/radiusd start root@OpenWrt:/srv/www/easyhotspot/install# netstat -apn

jika sdh ada baris berikut, maka sdh bs ke tahap selanjutnya

udp 0 0 192.168.1.1:1812 0.0.0.0:*
udp 0 0 192.168.1.1:1813 0.0.0.0:*

  1. Konfigurasi Coova-chilli
  • Masuk ke folder /etc/chilli , melalui "WinScp"
  • Edit bagian dibawah ini, di dalam file /etc/chilli/wwwsh , menggunakan "WinScp"

haserl=/usr/bin/haserl

lalu "save" dan tutup

  • Edit bagian dibawah ini, di dalam file /etc/chilli/defaults , menggunakan "WinScp"

HS_NASID=nas01 HS_RADIUS=www.openwrt-hotspot.net HS_RADIUS2=www.openwrt-hotspot.net HS_UAMALLOW=www.coova.org HS_RADSECRET=easyhotspot HS_UAMSECRET=easyhotspot

lalu "save" dan tutup tekan tombol "Shift+F4" , masukkan "local.conf", kemudian "Enter" masukkan baris berikut

auto config


lalu "save" dan tutup tekan tombol "Shift+F4" , masukkan "main.conf", kemudian "Enter" masukkan baris berikut

THIS FILE IS AUTOMATICALLY GENERATED

cmdsocket /var/run/chilli.br-wifi.sock unixipc chilli.br-wifi.ipc pidfile /var/run/chilli.br-wifi.pid net 10.1.0.0/255.255.255.0 uamlisten 10.1.0.1 uamport 3990 dhcpif br-wifi uamallowed "www.coova.org,10.1.0.1,192.168.1.1,192.168.1.216,dr46on.xtgem.com" macallowed "xx-xx-xx-xx-xx-xx" # < mac addres LAN yg terhubung dengan router uamanydns domain "lan" dns1 "208.67.222.222" dns2 "208.67.220.220" uamhomepage http://10.1.0.1:3990/www/coova.html wwwdir /etc/chilli/www wwwbin /etc/chilli/wwwsh uamuiport 4990 locationname "Obengkumana-Net" radiuslocationname "Obengkumana_Net" radiuslocationid "isocc=,cc=,ac=,network=Obengkumana_Net,"

lalu "save" dan tutup tekan tombol "Shift+F4" , masukkan "hs.conf", kemudian "Enter" masukkan baris berikut

radiusserver1 "www.openwrt-hotspot.net" radiusserver2 "www.openwrt-hotspot.net" radiussecret "easyhotspot" radiusauthport 1812 radiusacctport 1813 uamserver "http://10.1.0.1:4990/www/login.chi" radiusnasid "nas01" papalwaysok uamaliasname "chilli" adminupdatefile "/etc/chilli/local.conf" uamsecret "easyhotspot"

lalu "save" dan tutup

  • Masuk ke folder /etc/init.d , melalui "WinScp" tekan tombol "Shift+F4" , masukkan "chilli", kemudian "Enter" masukkan baris berikut

#!/bin/sh /etc/rc.common

Copyright (C) 2006 OpenWrt.org

START=50 RUN_D=/var/run PID_F=$RUN_D/chilli.pid start() { include /lib/network scan_interfaces /sbin/insmod tun >/dev/null 2>&1 [ -d $RUN_D ] || mkdir -p $RUN_D config_get ipaddr lan ipaddr /usr/sbin/chilli --dns1="$ipaddr" } stop() { echo stop killall chilli [ -f $PID_F ] && kill $(cat $PID_F) >/dev/null 2>&1 }

lalu "save" dan tutup

  • masuk "putty"

root@OpenWrt:/srv/www/easyhotspot/install# chmod a+x /etc/init.d/chilli root@OpenWrt:/srv/www/easyhotspot/install# /etc/init.d/chilli start root@OpenWrt:/srv/www/easyhotspot/install# chilli -fd

akhiri dengan menekan "Ctrl+C" jika hasilnya seprti dibawah ini, maka sdh Ok

net.c: 1308: 0 (Debug) wlan0 address family: 17 (AF_PACKET) net.c: 1308: 0 (Debug) br-wifi address family: 17 (AF_PACKET) net.c: 1308: 0 (Debug) wlan0-1 address family: 17 (AF_PACKET) net.c: 1308: 0 (Debug) br-lan address family: 17 (AF_PACKET) net.c: 1308: 0 (Debug) lo address family: 2 (AF_INET) net.c: 1308: 0 (Debug) br-wifi address family: 2 (AF_INET) net.c: 1308: 0 (Debug) br-lan address family: 2 (AF_INET) net.c: 1308: 0 (Debug) 3g-wan2 add ress family: 2 (AF_INET) net.c: 1308: 0 (Debug) tun0 address family: 2 (AF_INET) net.c: 1308: 0 (Debug) tun1 address family: 2 (AF_INET) dhcp.c: 480: 0 (Debug) hash table size 512 (512) dhcp.c: 332: 0 (Debug) GARP: Replying to broadcast dhcp.c: 1172: 0 (Debug) dhcpif (br-wifi) IPv6 address :: radius.c: 1285: 0 (Debug) RADIUS client 0.0.0.0:0 redir.c: 1718: 125 (Address already in use) IP: 10.1.0.1 Port: 3990 - Waiting for retry. redir.c: 1718: 125 (Address already in use) IP: 10.1.0.1 Port: 4990 - Waiting for retry. redir.c: 1718: 125 (Address already in use) IP: 10.1.0.1 Port: 4990 - Waiting for retry. ^Cchilli.c: 7251: 0 (Debug) Failed to create redir listen root@OpenWrt:/srv/www/easyhotspot/install#

  • masuk "putty"

root@OpenWrt:/srv/www/easyhotspot/install# netstat -apn

pastikan isi baris sprti dibawah ini

tcp 0 0 127.0.0.1:3306 0.0.0.0:* tcp 0 0 10.1.0.1:3990 0.0.0.0:* tcp 0 0 0.0.0.0:22 0.0.0.0:* tcp 0 0 10.1.0.1:4990 0.0.0.0:* udp 0 0 192.168.1.1:1812 0.0.0.0:* udp 0 0 192.168.1.1:1813 0.0.0.0:*

  • masuk "putty"

root@OpenWrt:/srv/www/easyhotspot/install# mv /etc/chilli/www /etc/chilli/www.bak

Download www.7z https://www.box.com/s/13756da6c78d1793a656 extract dengan winrar/7-zip masukkan folder "www" ke folder /etc/chilli/ melalui "WinScp" 9. Konfigurasi PHP

  • Edit bagian dibawah ini, di file /etc/php.ini , menggunakan "WinScp"

short_open_tag = On doc_root =

  1. Konfigurasi uhttpd
  • Edit bagian dibawah ini, di file /etc/config/uhttpd , menggunakan "WinScp"

Server configuration

config uhttpd main list listen_http 0.0.0.0:80 option home /www option cgi_prefix /cgi-bin config uhttpd secondary list listen_http 0.0.0.0:81 option home /www/easyhotspot option cgi_prefix /cgi-bin # HTTPS listen addresses, multiple allowed list interpreter ".php=/usr/bin/php-cgi" list interpreter ".cgi=/usr/bin/perl"

  • masuk "putty"

root@OpenWrt:/srv/www/easyhotspot/install# /etc/init.d/uhttpd restart

  • silahkan akses login page easyhotspot melalui: http://192.168.1.1:81/easyhotspot/index.php Tambahkan user melalui menu cashier>postpaid stlh itu, silahkan akses hotspot melalui hp/lapie via AP "OpenWrt Hotspot" untuk yg lain2, silahkan konfigurasi sendiri, krn point2 penting sdh ane kupas tuntas disini Insya Allah, jika tidak ada kesalahan konfigurasi maka bs langsung login dengan user & pass yg kita buat Dokumen ini direvisi, bertahap dan langsung di test kurang lebih sekitar 2 jam dengan mengucapkan Alhamdullilah, SELESAIi sdh Document ini Terus budayakan "saling berbagi" Ucapan Trimakasih kepada:
  • Cindy Wijaya
  • Skim Cepat Kaya
  • Klik On Abiyasa
  • dan rekan2 semua yg telah sudi menjadi "tester" dan memberikan support hingga selesainya dokumen ini