Captive Portal Based OpenWRT on Wireless N Router - gisnura/captive-portal GitHub Wiki
-
Tahap Flash Saya mengunakan fw dibawah ini: MR3420-bootstrap_theme+2wifi+2wan.bin https://www.box.com/s/e727813ce0877e65cf18
-
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
- 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
- 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
- Konfigurasi Mysql masuk "putty"
# 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#
root@OpenWrt:- Konfigurasi Hostnames
LUCI>Network>Hostnames
klik "Add"
Hostnames = www.openwrt-hotspot.net
IP Address = 192.168.1.1 klik "Save & Apply" - 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"
www.openwrt-hotspot.net { ipaddr = 192.168.1.1 secret = easyhotspot
client- 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:1813 0.0.0.0:*
udp 0 0 192.168.1.1:1812 0.0.0.0:*- 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
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,"
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" uamhomepagelalu "save" dan tutup tekan tombol "Shift+F4" , masukkan "hs.conf", kemudian "Enter" masukkan baris berikut
http://10.1.0.1:4990/www/login.chi" radiusnasid "nas01" papalwaysok uamaliasname "chilli" adminupdatefile "/etc/chilli/local.conf" uamsecret "easyhotspot"
radiusserver1 "www.openwrt-hotspot.net" radiusserver2 "www.openwrt-hotspot.net" radiussecret "easyhotspot" radiusauthport 1812 radiusacctport 1813 uamserver "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 =
- 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