Phpwifi1 0 on ClearOS

Post on 21-Apr-2015

3.666 views 8 download

Transcript of Phpwifi1 0 on ClearOS

PortsProgrammer - PHPwifi 1.0 on ClearOS - 1

คมอ ClearOS 5.2 SP1 + PHPwifi 1.0

Authent!cation wifi hotspot login.

PortsProgrammer - PHPwifi 1.0 on ClearOS - 2

การตดตงในแบบทานทมองภาพออกนะครบ ถาตองการแบบละเอยด google ชวยไดครบ (เปนพนฐานทวไป)

PortsProgrammer - PHPwifi 1.0 on ClearOS - 3

PortsProgrammer - PHPwifi 1.0 on ClearOS - 4

ในสวนการตงรหสผานให Login Server คมอตงเปน rootadmin

ในกรณ harddisk ยงบรสทธเรอง linux กเลอก I will do my own partitioning.

ในสวนนจะเลอกหมดทกชองเลยกได เพราะ package ,service ทตดมากบแผน ClearOS ส าคญและดๆ หมด

หรอจะตดตงเพมทหลงกได (ถาจะท าเปน serv authen เฉยๆ กตามรปเลยครบ)

PortsProgrammer - PHPwifi 1.0 on ClearOS - 5

เลอก package (s) หมดทกชองเลยครบ ไดใชงานทงนน

PortsProgrammer - PHPwifi 1.0 on ClearOS - 6

รอการตดตง package (s) สกพก

เมอตดตงเสรจครงแรกทหนาเครอง Server ใส User และ Passwd

ในตวอยางคมอใส

User = root

Pass = rootadmin

PortsProgrammer - PHPwifi 1.0 on ClearOS - 7

ถาไมมการแกไขไอพใดๆ กตามรปเลยครบ ในสวนของการดแลนใบทสอง 10.0.0.1 ก าหนดไอพใหกอน

แลวคอยปรบใหมตอนตดตง Chillispot

PortsProgrammer - PHPwifi 1.0 on ClearOS - 8

ในสวนนกใสขอมลรายละเอยดใหระบบ พรอมก าหนดชอ Internet Hostname ในตวอยางเอาตาม default ก าหนดมาให

เมอตดตงเสรจระบบจะให restart เครอง

PortsProgrammer - PHPwifi 1.0 on ClearOS - 9

เมอท าการตดตงเสรจท าการเปด service ตางๆ รวมถงเปด Port การใชงานเพอ Incoming เขามาจดการได

ไปทหนาเวบ https://192.168.1.100:81

อนดบแรกเปด Apache หรอ Web Server นนเอง เพอใหเราสามารถใชงานหนาเวบได .. ดตามรปเลยครบ

ตอไปกท าการเปด Ports Service ตางๆทตองไดใชงานครบ .. ตามรปเลยครบ (เอา Port ทไดใชงานกอนครบ)

PortsProgrammer - PHPwifi 1.0 on ClearOS - 10

ในตวอยางนเปนการใช Lan Card 2 ใบ โดยท ใบท 1 เปนเนตทรบมาจาก ADSL

สวนในใบท 2 เปนขาออก เอาไวปลอยเนตใหเครองลก

การ config network card แบบ terminal /etc/sysconfig/network-scripts/ifcfg-eth ตามดวยตวเลขของการดแลน

ตวอยาง แลนการดใบท1 eth0 ใชเลนเนตทรบมาจาก ADSL Modem

# nano /etc/sysconfig/network-scripts/ifcfg-eth0 # Realtek Semiconductor Co., Ltd. RTL8111/8168B PCI Express Gigabit Ethernet controller DEVICE=eth0 TYPE="Ethernet" ONBOOT="yes" USERCTL="no" HWADDR="00:0c:29:f6:51:81" BOOTPROTO="static" IPADDR="192.168.1.100" NETMASK="255.255.255.0" GATEWAY="192.168.1.1"

ระวง !

หลกๆนะคบ อยาลมเรองถาน นาฬกา ใน bios นะคบ ถาไม update วนเวลา ใหตรงปจจบน ระบบจะ delete

ยสเซอรนะคบ ลอกอนไมผานนะคบไมงน เพราะตวโคด จะจบ ป-เดอน-วน ในปจจบนและเชค ป-เดอน-วน

ท login ครงแรก จาก server อยาลมลง package ให server update วนเวลาใหตวมนเองจาก Internet นะคบ

PortsProgrammer - PHPwifi 1.0 on ClearOS - 11

เรมตนการตดตง package

PortsProgrammer - PHPwifi 1.0 on ClearOS - 12

ขนตอนนไมตองท าตามกไดครบ มนเปนเพยงแคการปรบแตงหนา บต Grub เฉยๆ เพอให บต ไดเรวขนเฉยๆ # nano /boot/grub/grub.conf

*รายการททาการ list ออกมาทผมนามาแสดงดวยกเพอในอนาคตไฟล download เหลานอาจจะไมมอยใน server ของผใหบรการ เพอใหเราไดทราบวา package นตองการ package อะไรเพมเขาในการตดตง เราจะไดนา package เหลาน download จากแหลง download ทอน เขามาเสรมเพอตดตงแทน

การ Download Package ทตองใชบอย ถาโหลดมาเกบไวบนเครองของเราจะดทสด แลวคอย Upload ไฟล จากเครองของเราขนไปบน Server ดงตวอยาง

ท าการ FTP หรอ SSH จากคอมของเราทเกบไฟล ลงไปไวใน server

PortsProgrammer - PHPwifi 1.0 on ClearOS - 13

Package นสาคญมากกบระบบ Server เพราะตอง update (ป-เดอน-วน) ใหตรงกบปจบน

# nano /etc/rc.local

/usr/sbin/ntpdate -u pool.ntp.org

# /usr/sbin/ntpdate -u pool.ntp.org 1 Feb 07:33:41 ntpdate[8681]: step time server 158.108.2.100 offset 3.969855 sec

ตงเวลาบนระบบ

# nano /etc/crontab

เพมเขาไปทายไฟลเลยคบ */10 * * * * root /usr/sbin/ntpdate -u pool.ntp.org

PortsProgrammer - PHPwifi 1.0 on ClearOS - 14

และใสตรง crontab run-time เพมเขาไปอก # crontab -e

เพมเขาไปในไฟลเลยครบ

*/10 * * * * root /usr/sbin/ntpdate -u pool.ntp.org

ในสวนนจะอธบาย พรอมการใชงานและนาขอมลเขาไป ตวนจะเปน Editor ของ vi

กด ป ม Insert หรอ ตว I เพอใสคาสงลงไป

ใสโคดคาสงลงไป หรอ copy มาวางใสกได แลวแตวาใครขยนพมพ

จากนนกดป ม Esc บนแปนคยบอรด เพอพมพคาสงบนทกไฟล กดปม Shift ปม : ปม w ปม q ปม ! -> อนนเหมาะกบมอใหม เลยตองละเอยด หรองายๆ กพมพตามนเลย :wq! -> อนนเหมาะกบมอเกา

ท าการ restart service เพอ reload คา เขาไปใหม # /etc/rc.d/init.d/crond restart Stopping crond: [ OK ] Starting crond: [ OK ]

# /sbin/chkconfig crond on

PortsProgrammer - PHPwifi 1.0 on ClearOS - 15

ท าการ edit คา config ของ apache

# nano +778 /etc/httpd/conf/httpd.conf แก

#AddHandler cgi-script .cgi เปน

AddHandler cgi-script .cgi

# nano +231 /etc/httpd/conf/httpd.conf

สวนนเปนการกาหนดสทธของกลม apache และผใชงานเปนของ apache สวนใหญกจะ default

อยแลว คอ ไมตองมเครองหมาย # อยดานหนา

User apache

Group apache

# nano +265 /etc/httpd/conf/httpd.conf

ในสวนนระบบจะต งใหตอนตดต ง ClearOS เสรจใหมๆ ตวอยาง

ServerName system.clearos.lan

# nano +391 /etc/httpd/conf/httpd.conf แก

DirectoryIndex index.html index.html.var เปน

DirectoryIndex index.html index.html.var index.htm index.php

# /etc/rc.d/init.d/httpd restart

Stopping httpd: [ OK ]

Starting httpd: [ OK ]

PortsProgrammer - PHPwifi 1.0 on ClearOS - 16

Installing MySQL Server ท าการเปด Service การท างานฐานขอมลพรอมตงระหสผาน ทาง WebUI

ไปทหนาเวบ

https://192.168.1.100:81 ( IP-Address อาจจะตงไมเหมอนในคมอ ขนอยกบความชอบของ Admin แตละทาน)

ในตวอยางไดตงรหสผานพรอมเปด Service แบบ Auto เมอระบบบตเครองเขาท างาน

ในตวอยางตงรหสผานฐานขอมล my sql เปน rootadmin

จากนนมาท terminal เพอทดสอบ

# /usr/bin/mysql -u root -prootadmin

Welcome to the MySQL monitor. Commands end with ; or \g.

Your MySQL connection id is 3

Server version: 5.0.77 Source distribution

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql> show databases;

mysql> exit

Bye

PortsProgrammer - PHPwifi 1.0 on ClearOS - 17

Installing PHP5 And Getting MySQL Support In PHP5 All Extended (ในสวนนถาเนตเรวไมมคนแบงปนไป กใชงาน param -y เลย เพราะจะเปนการอพเดตไฟลไปดวย หรอถาไมอยากรอ กท าการตดตงเฉพาะ package ทไมม) # yum -y install php php-mysql php-gd php-imap php-ldap php-mcrypt php-mbstring php-odbc php-pear php-xml php-xmlrpc

ในตวอยาง Install 4 Package(s) ,Update 12 Package(s)

PortsProgrammer - PHPwifi 1.0 on ClearOS - 18

เมอตดตงเสรจกทดลอง

# /etc/rc.d/init.d/httpd restart

# nano /var/www/html/phpinfo.php

<? phpinfo(); ?>

Open web browser

http://ip-server/phpinfo.php

ตวอยาง http://192.168.1.100/phpinfo.php

ตวเสรมการ compile ให PHP เขารหส compile ไดเรวขน *ตวเสรมนมประโยชนหลายอยาง รวมถงการถอดรหส # mkdir /tmp/temp # cd /tmp/temp/

จากนนท าการ download file มาไวใน path /tmp/temp/

(แตกอนจะ wget มาจาก mediafire ได ตอนนไมไดแลว mediafire ปรบปรงเลย wget บ ได ท าการโหลดหนาเวบแทน แลว upload ไปใสใน /tmp/temp/ )

คลกเพอ Down http://download916.mediafire.com/av0r0auls8zg/2l5577ow3p1hq7q/ZendOptimizer-

3.2.6-linux-glibc21-i386.tar.gz

PortsProgrammer - PHPwifi 1.0 on ClearOS - 19

# cd /tmp/temp/

# tar -zxvf ZendOptimizer-3.2.6-linux-glibc21-i386.tar.gz

# cd ZendOptimizer-3.2.6-linux-glibc21-i386

# chmod +x install.sh

# ./install.sh

PortsProgrammer - PHPwifi 1.0 on ClearOS - 20

ภาพขางลางน แกจาก /usr/local/Zend/

เปน /usr/local/lib/Zend/

PortsProgrammer - PHPwifi 1.0 on ClearOS - 21

PortsProgrammer - PHPwifi 1.0 on ClearOS - 22

เสรจการตดตงแบบ GUI บน Terminal จากนนท าการทดสอบ

PortsProgrammer - PHPwifi 1.0 on ClearOS - 23

Open web browser

http://ip-server/phpinfo.php

สวนทถกเพมเขาไปอตโนมตตอนตดตงในทายไฟลของ /etc/php.ini

#cat /etc/php.ini

PortsProgrammer - PHPwifi 1.0 on ClearOS - 24

phpMyAdmin

# cd /tmp/temp/

คลกเพอโหลด http://www.mediafire.com/?ws20473ro89bmvd

# tar -zxvf phpMyAdmin-2.11.11-all-languages.tar.gz

# mv phpMyAdmin-2.11.11-all-languages /var/www/html/phpmyadmin/

# cp /var/www/html/phpmyadmin/config.sample.inc.php /var/www/html/phpmyadmin/config.inc.php

# nano +17 /var/www/html/phpmyadmin/config.inc.php แก

$cfg['blowfish_secret'] = ''; /* YOU MUST FILL IN THIS FOR COOKIE AUTH! */

….

$cfg['Servers'][$i]['auth_type'] = 'cookie'; ….

// $cfg['Servers'][$i]['controluser'] = 'pma';

// $cfg['Servers'][$i]['controlpass'] = 'pmapass'; ….

// $cfg['Servers'][$i]['pmadb'] = 'phpmyadmin';

เปน พรอมกบเอาเครองหมาย // คนหนาออก

$cfg['blowfish_secret'] = 'cookie'; /* YOU MUST FILL IN THIS FOR COOKIE AUTH! */

….

$cfg['Servers'][$i]['auth_type'] = 'http';

….

$cfg['Servers'][$i]['controluser'] = 'root';

$cfg['Servers'][$i]['controlpass'] = 'rootadmin';

….

$cfg['Servers'][$i]['pmadb'] = ' ';

User = root

Password = ทต งไวตอนตดต ง mysql ตวอยางรหสผานเปน rootadmin

PortsProgrammer - PHPwifi 1.0 on ClearOS - 25

Open web browser

http://ip-server/phpmyadmin/

ตวอยาง http://192.168.1.100/phpmyadmin/

PortsProgrammer - PHPwifi 1.0 on ClearOS - 26

forward port rounter package ท าการ forward port ใหมผลทนท เพอให forward packet ทาตวเปนเราเตอรได

# nano +7 /etc/sysctl.conf แก

net.ipv4.ip_forward = 0 เปน

net.ipv4.ip_forward = 1

รนค าส ง

# echo "1" > /proc/sys/net/ipv4/ip_forward

เพอใหมผลทนท ให forward packet ท าตวเปนเราเตอรได

PortsProgrammer - PHPwifi 1.0 on ClearOS - 27

ทดสอบ Authentication 1.0 วาสามารถท างานรวมกบ MySQL และสวนขยายของ php-extension ไดอยางสมบรณหรอไม

คลกเพอโหลด http://www.mediafire.com/?16nh8x5lxsw6ezc

หรอไปทแหลง download โดยตรงเลยกไดครบ เผอมการอตเตด จะไดรแหลง

http://www.linuxthai.org/forum/index.php?topic=19739.0 # cd /tmp/temp/

# tar -xvf phpwifi.tar

# mv phpwifi /var/www/html/

# chmod -R 755 /var/www/html/*

# chmod -R 777 /var/www/html/phpwifi/admin/upload/

# chmod -R 777 /var/www/html/phpwifi/admin/ThaiPDF/

# chown -R root:apache /var/www/html/*

# nano /etc/php.ini

แก memory_limit = 8M

register_globals = Off

register_long_arrays = Off

register_argc_argv = Off

post_max_size = 8M

;default_charset = "iso-8859-1"

upload_max_filesize = 8M

แกเปน memory_limit = 128M ในสวนนขนอยกบ สเปคของ server ทคณใชงาน …

register_globals = On

register_long_arrays = On

register_argc_argv = On

post_max_size = 32M ในสวนนขนอยกบ สเปคของ server ทคณใชงาน …

default_charset = "utf-8,tis-620"

upload_max_filesize = 100M

PortsProgrammer - PHPwifi 1.0 on ClearOS - 28

# /etc/rc.d/init.d/httpd reload

ท าการตรวจสอบไฟลทเราไดท าการ config ใหกบ php.ini ท web browser ไปท http://<IP-SERVER>/phpinfo.php จากนนเลอนลงมาจนถงหวขอ Configuration

เรากจะไดเหนสวนทเราไดทาการปรบแตงไป

PortsProgrammer - PHPwifi 1.0 on ClearOS - 29

ท าการสราง ฐานขอมลชอ portsproDB ในตวอยางขออธบายแบบใชงานงาย ใน phpmyadmin ไปท http://IP-SERVER/phpmyadmin

สรางฐานขอมลชอ portsproDB

คลกปม สราง

PortsProgrammer - PHPwifi 1.0 on ClearOS - 30

จะไดดงรป

ท าการ Import table ท backup ไวมาใส

คลกท ป ม Brownse.. (ไฟลเกบไวทไหน กน ามาใสตามรปภาพเลยนะคบ)

PortsProgrammer - PHPwifi 1.0 on ClearOS - 31

จากนนกด ป ม ลงมอ (ดานลางขวามอ)

PortsProgrammer - PHPwifi 1.0 on ClearOS - 32

กจะได table 18 table เขามา ดงรป

เพมเตม ถาสรางฐานขอมลเปนแบบ command Line # mysql -u root -prootadmin

mysql > create database portsproDB;

Query OK, 1 row affected (0.00 sec)

mysql > show databases;

+--------------------+

| Database |

+--------------------+

| information_schema |

| mysql |

| portsproDB |

| test |

+--------------------+

4 rows in set (0.00 sec) mysql > GRANT ALL PRIVILEGES ON portsproDB.* to 'root'@'localhost' IDENTIFIED BY 'rootadmin';

Query OK, 0 rows affected (0.00 sec)

mysql > FLUSH PRIVILEGES; Query OK, 0 rows affected (0.00 sec)

mysql > exit

ใส database schema (หรอใส table ใหฐานขอมล) ดวยค าส ง # mysql -uroot -prootadmin portsproDB < /var/www/html/phpwifi/admin/backupsql/portsproDB.sql

PortsProgrammer - PHPwifi 1.0 on ClearOS - 33

จากนนไปทดสอบ login ในหมวด Administrator ด ทาการแกไขไฟล Config ของ phpwifi กอน เพอใหใชงานรวมกบฐานขอมล MySQL ได # nano /var/www/html/phpwifi/admin/include/config.inc.php

แกไขตามนเลยคบ <?php

# configuration for database $_config['database']['hostname'] = "localhost"; $_config['database']['username'] = "root"; # User MySQL

$_config['database']['password'] = "rootadmin"; # Passwd MySQL $_config['database']['database'] = "portsproDB"; # Database Authen

# connect the database server

$link = new mysqldb(); $link->connect($_config['database']); $link->selectdb($_config['database']['database']);

$link->query("SET NAMES 'utf8'");

@session_start(); ?>

PortsProgrammer - PHPwifi 1.0 on ClearOS - 34

จากนนไปทดสอบ login ในหมวด Administrator ด http://IP-SERVER/phpwifi/admin/ ตวอยาง http://192.168.1.100/phpwifi/admin/

คา Defalut User = admin Passwd = padmin

PortsProgrammer - PHPwifi 1.0 on ClearOS - 35

PortsProgrammer - PHPwifi 1.0 on ClearOS - 36

*หมายเหต ในเรองของการ Add Group หรอ Users หามใชภาษาไทยเดดขาด

เพราะระบบจะไมรจกภาษาไทย เหมอน Windows ...ไมมตาราง Ascii ภาษาไทยในระบบนะครบ

อนนผมขอยกตวอยาง เพอไมใหเกดการผดพลาดขนเมอทดสอบระบบ ขอความนอางจากกระท ใน บอรด PHPwifi นะครบ

PortsProgrammer - PHPwifi 1.0 on ClearOS - 37

ท าการทดสอบ add users เขาไปสก 1 user ตวอยางจะเปน รายชวโมง

กดป ม เพม

ยนยนอกครง กดป ม บนทก

PortsProgrammer - PHPwifi 1.0 on ClearOS - 38

ผลลพธ (แสดงวา MySQL และ /etc/php.ini ตรง register_globals = On สอสารกนถกตองคบ)

PortsProgrammer - PHPwifi 1.0 on ClearOS - 39

เพมเตมเลกๆนอยๆ กบสวนของ หมวดผดแลในฐานะ Admin ในหนา Login กรณทใส Username ,Password ถกตองแลว แตระบบไมไปหนาตอไป (อนนเนองจาก Admin เคยเขาไป Login แลว แตไมทาการ LogOut ออก จากระบบ มนจงทาใหระบบ หรอ Session ยงจาคาการใชงานอย) ทงๆทบน URL ของคณกแสดงบอกสถานะ Username และ Password อยางถกตอง

สวนวธแกกไปพมพ URL โดยตรง ถาคณเปน Administrator

พมพ <IP-Server>/phpwifi/admin/index2.php *ถาไมใช Admin ระบบกจะ Redirect มาใหใส Username และ Password เพอกนบคคลอนเขามาโดยตรง

PortsProgrammer - PHPwifi 1.0 on ClearOS - 40

MySQL +

FreeRadius

PortsProgrammer - PHPwifi 1.0 on ClearOS - 41

# yum -y install freeradius

PortsProgrammer - PHPwifi 1.0 on ClearOS - 42

Mod config file for freeradius แกไขแฟม /etc/raddb/radiusd.conf เพอให FreeRadius สามารถอานแฟม /etc/shadow ทใชเปน User-Name, Pass-Word, Group ของ Server เครองเราได # nano +109 /etc/raddb/radiusd.conf

+109 หมายถง ใหไปทบรรทด 109 ของไฟลเลย แก

user = radiusd

group = radiusd

เปน

#user = radiusd

#group = radiusd

----------------------------------------------------------- # nano +35 /etc/raddb/clients.conf แก

secret = testing123 เปน

secret = testing123

# /etc/rc.d/init.d/radiusd start &

# /sbin/chkconfig radiusd on

ทดสอบวา freeradius สามารถท างานไดหรอไม รปแบบ # radtest ชอของยสเซอรServer พาสเวดรของยสเซอร Server 127.0.0.1 0 testing123

หรออธบายงายๆกคอ Username และ Password ทใช Login เขา Server ของเรานนเอง ตวอยาง

# radtest root rootadmin localhost 0 testing123

ถาขน Access-Accept แสดงวาสามารถทางานได

Sending Access-Request of id 169 to 127.0.0.1 port 1812

User-Name = "root"

User-Password = "rootadmin"

NAS-IP-Address = 255.255.255.255

NAS-Port = 0

rad_recv: Access-Accept packet from host 127.0.0.1:1812, id=169, length=20

PortsProgrammer - PHPwifi 1.0 on ClearOS - 43

ตอไปเปนการให FreeRadius สามารถตดตอสอสารกบฐานขอมล MySQL Server ได

# yum -y install freeradius-mysql

# nano +21 /etc/raddb/sql.conf แก

server = "localhost"

login = "root"

password = "rootpass"

# Database table configuration

radius_db = "radius"

แกเปน

server = "localhost"

login = "root" -Username ของ MySQL

password = "rootadmin" -Password ของ MySQL

# Database table configuration

radius_db = "portsproDB"

# nano +44 /etc/raddb/sql.conf

usergroup_table = "usergroup"

# nano +1248 /etc/raddb/radiusd.conf แก

# $INCLUDE ${confdir}/sql.conf เปน

$INCLUDE ${confdir}/sql.conf

# nano +1837 /etc/raddb/radiusd.conf แก

# files เปน

(เอาเครองหมาย # ออกเพอใหระบบไปอาน user และ passwd จาก database freeradius)

files

# nano +1844 /etc/raddb/radiusd.conf แก

# sql เปน

(เปนการอนญาตให mirror sql.conf ใชรวมกบ web application ทม databases เปนของตวเองได)

sql

PortsProgrammer - PHPwifi 1.0 on ClearOS - 44

# nano +2001 /etc/raddb/radiusd.conf แก

# sql เปน

sql

# nano +2023 /etc/raddb/radiusd.conf

แก

# sql เปน

sql

# nano +1447 /etc/raddb/radiusd.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}'" } ไวดานบน sqlcounter dailycounter {

…..

}

PortsProgrammer - PHPwifi 1.0 on ClearOS - 45

# nano +1781 /etc/raddb/radiusd.conf เพม

noresetcounter

dailycounter

monthlycounter

#

ตอจากบรรทด authorize {

authorize {

# Add insert function Login PopUp

noresetcounter

dailycounter

monthlycounter

#

รปตวอยาง

ข นตอนทดสอบ # /etc/rc.d/init.d/radiusd stop Stopping RADIUS server: [ OK ]

# chmod -R 755 /etc/raddb/*

# chown -R root:apache /etc/raddb/*

ขนตอนทดสอบตอไปหามม Error! เดดขาด ถามกไมตองทาขนตอนตอไป กลบไปแกไขในสวนนใหผานกอนคบ ถาไมผานระบบ Authen กไมมความหมาย!

PortsProgrammer - PHPwifi 1.0 on ClearOS - 46

# /usr/sbin/radiusd -x

ในขนตอนนเปนการตรวจสอบ Free Radiusd กบ MySQL วาสามารถใชงานรวมกนได [กด Ctr + C เพอออกจากการตรวจสอบ ] # /etc/rc.d/init.d/radiusd start

Starting RADIUS server: Thu Mar 3 06:48:08 2011 : Info: Starting - reading

configuration files ... [ OK ]

-------------------------------------------------------------------------------------------

PortsProgrammer - PHPwifi 1.0 on ClearOS - 47

ทดสอบการเขาใชงาน โดยใช user จาก mysql ดงน ถายงไมม user และ passwd กไปท าการสราง user เพอทดสอบ radiusd sql กบ Authentication 1.0

# radtest hhh hhh localhost 0 testing123

Sending Access-Request of id 153 to 127.0.0.1 port 1812

User-Name = "hhh"

User-Password = "hhh"

NAS-IP-Address = 255.255.255.255

NAS-Port = 0

rad_recv: Access-Accept packet from host 127.0.0.1:1812, id=153, length=74

WISPr-Bandwidth-Max-Up = 512000

WISPr-Bandwidth-Max-Down = 2048000

Service-Type = Login-User

Idle-Timeout = 600

Session-Timeout = 14400

Acct-Session-Time = 60

Acct-Interim-Interval = 60

ตอนนสามารถใช username ดงกลาวจาก Mysql ในการเขาใชงานไดแลว แบบ full options

PortsProgrammer - PHPwifi 1.0 on ClearOS - 48

ท าการทดสอบ Users ใน Web browser ในฐานะ Admin วา Radiusd ท างานกบ Apache ,PHP ,MySQL จรง

คลก Perform Test

PortsProgrammer - PHPwifi 1.0 on ClearOS - 49

ถาทดสอบผานจะไดดงภาพ

สวนนกเปนการเรยบรอยแลว กบ การตดตอสอสาร ระหวาง Apache ,PHP ,MySQL-Server ,Freeradius

ตอไปกเปนของ ChilliSpot ตอกนเลย

PortsProgrammer - PHPwifi 1.0 on ClearOS - 50

ChilliSpot WiFi Authentication Hospot ,User Login

# cd /tmp/temp/

คลกเพอโหลด http://www.mediafire.com/?5t2akwxe4wo9bsm

# rpm -Uvh chillispot-1.1.0.i386.rpm

Preparing... ###################################### [100%]

1:chillispot ###################################### [100%]

# nano +18 /etc/chilli.conf แก

#interval 3600

#pidfile /var/run/chilli.pid

เปน

interval 3600

pidfile /var/run/chilli.pid

--------------------------------------------------------------------------------------------------

# nano +38 /etc/chilli.conf แก

#net 192.168.182.0/24

เปน

net 10.0.0.0/24

--------------------------------------------------------------------------------------------------

# nano +45 /etc/chilli.conf แก

#dynip 192.168.182.0/24 เปน

dynip 10.0.0.11/24

--------------------------------------------------------------------------------------------------

# nano +59 /etc/chilli.conf แก

#dns1 172.16.0.5

#dns2 172.16.0.5

#domain key.chillispot.org เปน

dns1 192.168.1.100 ---Lan Card eth0 ทรบเนตมาจาก ADSL ไมใชการดทแจกใหลกขายนะคบ dns2 192.168.1.1 ---IP gateway ของ ADSL Router ไมใชการดทแจกใหลกขายนะคบ domain localhost เปน domainname ของ Server เรา

--------------------------------------------------------------------------------------------------

# nano +108 /etc/chilli.conf แก

#radiuslisten 127.0.0.1 เปน

radiuslisten 127.0.0.1

--------------------------------------------------------------------------------------------------

PortsProgrammer - PHPwifi 1.0 on ClearOS - 51

# nano +113 /etc/chilli.conf แก

radiusserver1 rad01.chillispot.org

radiusserver2 rad02.chillispot.org เปน

radiusserver1 127.0.0.1

radiusserver2 127.0.0.1

--------------------------------------------------------------------------------------------------

# nano +139 /etc/chilli.conf แก

#radiussecret testing123 เปน

radiussecret testing123 ตองตรงกบ secret ของ freeradius ใน /etc/raddb/clients.conf

--------------------------------------------------------------------------------------------------

# nano +201 /etc/chilli.conf

แก

#confusername conf

#confpassword secret เปน

confusername conf

confpassword secret

--------------------------------------------------------------------------------------------------

# nano +217 /etc/chilli.conf

dhcpif eth1 eth1 คอ lan card ใบท 2 ทไวสาหรบแจก ip ใหเครองลกๆ

--------------------------------------------------------------------------------------------------

# nano +230 /etc/chilli.conf

(ในสวนนเปนการ renew ip address ใหเครองลก หนวยเปนวนาท ) แก

# lease 600

เปน

lease 7200

--------------------------------------------------------------------------------------------------

# nano +237 /etc/chilli.conf แก

uamserver https://radius.chillispot.org/hotspotlogin เปน

uamserver http://10.0.0.1/phpwifi/hotspotlogin.php

--------------------------------------------------------------------------------------------------

PortsProgrammer - PHPwifi 1.0 on ClearOS - 52

# nano +248 /etc/chilli.conf

แก

#uamsecret ht2eb8ej6s4et3rg1ulp

#uamlisten 192.168.182.1

#uamport 3990 เปน

uamsecret ht2eb8ej6s4et3rg1ulp

(จะแกเปนรหสใหมกไดแตตองตรงกบไฟล hotspotlogin.php)

uamlisten 10.0.0.1

uamport 3990

สวนนเพมเขาไปทายบรรทดสดของไฟล หรอตอจากบรรทด uamport 3990 ไวสาหรบ kick ยสเซอร และ ตรวจสอบ # TAG: kick user online

# Example # /bin/echo User-Name=love| /usr/bin/radclient -x 127.0.0.1:3779 disconnect testing123

coaport 3779

PortsProgrammer - PHPwifi 1.0 on ClearOS - 53

แกไข lan card ใบทสอง ส าหรบแจก ip ใหลกขาย # nano /etc/sysconfig/network-scripts/ifcfg-eth1

DEVICE=eth1 TYPE="Ethernet"

ONBOOT="yes" USERCTL="no"

HWADDR="00:0c:29:f6:51:8b"

BOOTPROTO="none" #IPADDR="10.0.0.1"

#NETMASK="255.255.255.0"

# /etc/init.d/network restart

PortsProgrammer - PHPwifi 1.0 on ClearOS - 54

ท าการ copy มาไวกอน เพอทจะดง iptables มาใสใน /etc/rc.d/rc.firewall.local # cp /usr/share/doc/chillispot-1.1.0/firewall.iptables /etc/

สอดไส # cp /etc/firewall.iptables /etc/rc.d/rc.firewall.local

# nano +19 /etc/rc.d/rc.firewall.local แก

IPTABLES="/sbin/iptables"

EXTIF="eth0"

INTIF="eth1"

แกเปน

IPTABLES="/sbin/iptables"

EXTIF="eth0"

INTIF="eth1"

-------------------------------------------------------------------------------------------- อธบาย

EXTIF="eth0" ตวทรบเนตมาจาก ADSL Modem Router ของผใหบรการของเราน นเอง

INTIF="eth1" ส าหรบบงคบเครองลกใหมา login กอน ถงจะใชงานอนเตอรเนตได #/etc/init.d/firewall restart # /etc/rc.d/init.d/chilli start

Starting chilli: [ OK ]

# /sbin/chkconfig chilli on

# ps -ef |grep chilli

root 10328 1 0 22:23 ? 00:00:00 /usr/sbin/chilli

root 10341 9539 1 22:24 pts/1 00:00:00 grep chilli

PortsProgrammer - PHPwifi 1.0 on ClearOS - 55

หมายเหต ส าหรบการสอดไส อยาลมไปแกไฟล rc.firewall.local ในสวนของ INPUT เพอการใชงานรวมกนบน firewall rules ของระบบ ClearOS เอง .. ไมเชนนน Incoming บน WebUI ของระบบจะใชงานไมได หรอในไฟล /etc/firewall นนเอง * สาเหตทตองก าหนด port ใชงานตาม /etc/firewall เพราะเราไดท าการใชงาน iptable ของ chillispot ตองบงคบใช เมอ /etc/firewall ตรง incoming เปด port ไหน iptable $EXTIF ตองเปดตาม ในสวนนจะไมมผลตอ multiwan แตประการใด # nano +36 /etc/rc.d/rc.firewall.local จากเดม $IPTABLES -A INPUT -i $EXTIF -p tcp -m tcp --dport 22 --syn -j ACCEPT $IPTABLES -A INPUT -i $EXTIF -j REJECT

แกโดยการใสค าส ง iptable เพม พรอมกบการเปดพอรต 80 ,81 ,443 $IPTABLES -A INPUT -i $EXTIF -p tcp -m tcp --dport 22 --syn -j ACCEPT $IPTABLES -A INPUT -i $EXTIF -p tcp -m tcp --dport 80 --syn -j ACCEPT $IPTABLES -A INPUT -i $EXTIF -p tcp -m tcp --dport 81 --syn -j ACCEPT $IPTABLES -A INPUT -i $EXTIF -p tcp -m tcp --dport 443 --syn -j ACCEPT $IPTABLES -A INPUT -i $EXTIF -j REJECT

PortsProgrammer - PHPwifi 1.0 on ClearOS - 56

# nano /etc/rc.local

ใสเพมเขาไป ทงหมด คบ /etc/init.d/sshd restart

/sbin/service httpd status

/sbin/service mysqld status

/sbin/service radiusd status

/sbin/service chilli status

sh /etc/rc.d/rc.firewall.local

/sbin/service chilli reload

Refresh ค าส ง

# /etc/rc.local

PortsProgrammer - PHPwifi 1.0 on ClearOS - 57

รนค าส งตรวจสอบวาเครองลกขายไดรบ IP Address จาก chillispot เปนแบบ logfile

# tail -f /var/log/messages

จะไดผลลพธแสดงคลาย ๆ ตงอยางขางลางน

*กอนเครองลกขายจะไดรบ ip จาก chillispot dhcpd

*หลงจากเครองลกขายไดรบ ip จาก chillispot dhcpd

ip 10.0.0.13 ทไดรบไป

PortsProgrammer - PHPwifi 1.0 on ClearOS - 58

ทดสอบ ip # ifconfig

# ตวนจะท างานแทนการดแลนสาหรบออกเนตใหเครองลกๆ tun0 จะท างานแทน eth1 การดแลนใบท2 tun0 Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00 inet addr:10.0.0.1 P-t-P:10.0.0.1 Mask:255.255.255.0 UP POINTOPOINT RUNNING MTU:1500 Metric:1

RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0

collisions:0 txqueuelen:500

RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)

PortsProgrammer - PHPwifi 1.0 on ClearOS - 59

ท าการสรางไฟล เพอใหยสเซอร logout ไดเอง โดยการใหยสเซอรพมพ IP Gateway ของ Server บนเวบบราวเซอร # cd /var/www/html/

# rm -rf index.html

# nano index.html

ใสเพมเขาไป <META HTTP-EQUIV="Refresh" CONTENT="0;URL=redirect_logoff.php">

# nano redirect_logoff.php

ใสเพมเขาไป <?php

print "<META HTTP-EQUIV='Refresh'

CONTENT='0;URL=http://".$_SERVER["SERVER_ADDR"].":3990/logoff'>"; ?>

จากนน copy ไปวางท phpwifi อก เพอปองกนการเขาถง admin ในระดบหนง # cp /var/www/html/index.html /var/www/html/phpwifi/

# cp /var/www/html/redirect_logoff.php /var/www/html/phpwifi/

PortsProgrammer - PHPwifi 1.0 on ClearOS - 60

ท าการตรวจสอบทเครองลกขาย Open web browser

คราวนเรามาดทเครองลกขายของเราวาไดรบไอพจาก dhcp chillispot server หรอไม ถาไดรบกจะเปนเหมอนในรปตวอยาง

PortsProgrammer - PHPwifi 1.0 on ClearOS - 61

ทดสอบกบเครองลกขาย กอน วาสามารถ login และ ท างานรวมกบ Server ได แลวจงตามดวย Squid Proxy Server ผมกลวไป Config ไฟลตรง squid.conf ผด แลวเขาใจวาระบบ error! ระวงในเรองของ Config ไฟล บน Squid Proxy Server ดวยนะคบ ....

PortsProgrammer - PHPwifi 1.0 on ClearOS - 62

ทดสอบการ Logout เองโดย Users บนเครองลกขาย ให Users พมพ Gateway ของ Server บน URL บน WebBrowser ของ Users เอง

จะเปนการ Logout โดยอตโนมต

PortsProgrammer - PHPwifi 1.0 on ClearOS - 63

ทดสอบการ kick ยสเซอร ออกจากระบบ ไปท ผทก าลงใชงานอยในระบบทงหมด ในขณะท users ก าลง online

ไปคลกท [*kill*] บนเครองหมาย ถก

PortsProgrammer - PHPwifi 1.0 on ClearOS - 64

ถาสามารถ kick users ออกจากระบบไดกแสดงวา coaport 3779 บน ChilliSpot ท างานถกตอง

บนเครองลกขายกจะถก Redirect มาหนา Login อกครง ถงแมวาเวลาบน popup จะเดนอยกตาม ระบบจะไมนบรวม เพราะระบบท าการ checkout เมอ admin kick users ณ เวลานน

PortsProgrammer - PHPwifi 1.0 on ClearOS - 65

*หมายเหต ส าหรบการเพม Users ในโซนทวไป หอ อพารธเมนต โรงแรม รานคาทวไป อนๆ

ในหมวด เพมกลมผใช อยาก าหนดวนหมดอายเปน 0000-00-00 ระบบจะไมเขาใจวา ไมมวนหมดอาย (โคดใหม) จะท าให ยสเซอร Login ไดแคครงเดยว แลว ยสเซอร กหมดอายการใชงาน

เอาแค 2050-01-01 กไมรวาจะอยถงไหม (ในกรณไมอยากจ ากดอายของ ยสเซอร)

PortsProgrammer - PHPwifi 1.0 on ClearOS - 66

เรองการ kill users ทคางอยในระบบ กรณ users ก าลง Online แลว Server เกดดบ หรอ Restart เราจะตองให Server มนท าการ Kill Users ใหตวมนเองตอนบตเขาระบบโดยอตโนมต # nano /etc/rc.local

ใสเขาไปทายไฟลเลยคบ #clear users radiusd for starting php

/var/www/phpwifi/admin/del_user_remain.php

PortsProgrammer - PHPwifi 1.0 on ClearOS - 67

*หมายเหต กรณนอาจจะท าใหการสงรนไฟล php โดยตรงทาง Command line เกดขอผดพลาดได

ใหไปท าการตรวจสอบขอมลดงน เมอทดสอบค าสงรนไฟล php โดยตรงทาง command line จะตองไมม

ขอความแสดงขอผดพลาดเกดขน

# php /var/www/phpwifi/admin/del_user_remain.php ถาผาน จะตองไมมขอความแจงเตอน

*หมายเหตเพมเตม + เทคนค ของ Administrator กรณ Admin ตองการ เปลยน Password ใหม เทคนคนเฉพาะ Administrator เทานนทร และเปนการ ปองกนอกระบบดบหนง

ในตวโคดจงใจออกแบบใหมนเปนแบบน (ขเกรยจแกครบ) Users ทใชงานทวไป บ รเรองดวยหรอกครบ

...มนเปนกฎ ทถกตองแลวครบ สดสวนน

ในตวโคด มนจะใช session[username] และ session[password] ในหนา index.php

หรอหนา login ในฐานะของ Administrator

ถา Login ในฐานะ Administrator ตงแตแรกแลว ไปท าการเปลยน password ใหมเลย จะไดทนทครบ

แตถาคนทเปน Administrator Login ในฐานะผดแลระบบ จากเครองลกขาย

แลวไปท าการทดสอบระบบของตวเอง

โดยการลอง Login ในฐานะ Users ทวไปเพอเขาใชงาน Internet (อนนเฉพาะ Administrator นะครบ)

มนจะท าให session[username] และ session[password] ไปจ าชอ ของ users และ password

ทใชส าหรบเลนเนตแทน ตอนท Administrator ทดสอบระบบ จากเครองลกขาย

พอคราวน Administrator เขามาใชงานในฐานะผดแลระบบอกครง จากเครองลกขายเครองเดมททดสอบระบบตวเอง

...กจะท าให session[username] และ session[password] เปลยนไปเปนของ users

มนกเลยท าให Username และ Password ของ Administrator ไมตรงกนตอนจะเปลยน Password ใหม

PortsProgrammer - PHPwifi 1.0 on ClearOS - 68

สวนวธแก ไปแกโดยท าการ Logout ออกจากระบบในหนาเวบ ทเขาใชงานในฐานะ Administrator

*แลวทาการ Login เขาไปใหม ในฐานะ Administrator อกครง แลวไปทาการเปลยน Password ใหมไดเลย ...

PortsProgrammer - PHPwifi 1.0 on ClearOS - 69

*เพมเต มเร อง Users เปลยน Password เอง

เพราะ Server บางเครอง ต งคา IP address ทแจก internet ใหเครองลกขาย ไมเหมอนกน

เพอความเขาใจ ส าหรบสวนทตองไปแกไข IP address ของ Server ทแจก IPaddress ไมเหมอนกน

PortsProgrammer - PHPwifi 1.0 on ClearOS - 70

เปด web browser เขาใชงานในฐานะ Administrator ไปท ปรบแตงหนาลอกอน

แลวแกไข IP address ทเปน Gateway ใหเครองลกขาย ใหตรงตามเครอง Server ของคณ ตวอยาง

http://<IP-SERVER>/phpwifi/admin/password.php

<b>-:- คาแนะนา -:-</b><br><br>

1. ระบบพสจนตวตนเพอใชงานเครอขายอนเตอรเนต ตาม พรบ.คอมพวเตอรฯ พ.ศ.2550<br> 2. เจาหนาททานใดทยงไมม ชอผใช และ รหสผานกรณาตดตอผดแลระบบฯ<br>

3. สาหรบผมรหสผานแลวสามารถเปลยนรหสผานไดเองทน <a href="http://10.0.0.1/phpwifi/admin/password.php"><b>เปลยนรหสผาน</b></a><br>

4. สามารถสมครลงทะเบยนไดทน <a href="http://10.0.0.1/phpwifi/admin/register.php"><b>ลงทะเบยน

</b></a> แตจะใชงานไดเมอไดรบอนญาตจากผดแลระบบฯ

PortsProgrammer - PHPwifi 1.0 on ClearOS - 71

ตามรปเลยครบ

PortsProgrammer - PHPwifi 1.0 on ClearOS - 72

Webmin ส าหรบ System root alias

# cd /tmp/temp/

คลกเพอโหลด แลวอพโหลดขนไป http://www.mediafire.com/?w48ft3tocb973f5 # rpm -Uvh webmin-1.520-1.noarch.rpm ในขนตอนการตดตง package อาจจะ delay นดหนง .. ตองรอสกพก warning: webmin-1.520-1.noarch.rpm: Header V3 DSA signature: NOKEY, key ID

11f63c51 Preparing... ################################# [100%]

Operating system is CentOS Linux 1:webmin

################################# [100%] Webmin install complete. You can now login to https://localhost:10000/ as root with your root password.

สวนในการตดตง webmin นนถา output เปน https:// แสดงวา apache มสวนขยายของไฟล คอ มโหมดการทางาน ssl นนเอง

ในข นตอนน เมอตดต งเสรจจะตองไปเพมพอรต 10000 ใน iptables

# nano +39 /etc/rc.d/rc.firewall.local เพมค าส งเขาไป

$IPTABLES -A INPUT -i $EXTIF -p tcp -m tcp --dport 10000 --syn -j ACCEPT

PortsProgrammer - PHPwifi 1.0 on ClearOS - 73

และในหนาเวบ UI กท าการ incoming port 10000 หรอ webmin เขาไปอก

ทดสอบ

Open web browser https://ip-server:10000

PortsProgrammer - PHPwifi 1.0 on ClearOS - 74

Username = ใชของ Server ในฐานะ root

Password = ใชของ Server ตอน Login เขา Server

ตวอยาง Username = admin Password = rootadmin

*คลกเครองหมายถกท [ ชอง ] Remember login permanently? จะไดไมตอง Keys รหสผานบอย

PortsProgrammer - PHPwifi 1.0 on ClearOS - 75

*หมายเหตแบบละเอยดนดหนง ใหสงเกต output ดๆ ในการตดตง Webmin นนจะใหผลลพธอย 2 แบบ ขนอยกบการตดตง Apache วาไดตดตง service อะไรไปบางแลวในตว apache เชน ใหมด ssl หรอ การใชงานเวบประเภท https:// หรอ Port 443 นนเอง แตถาไมไดท าการตดตง mod_ssl ตงแตแรก ระบบจะท าการ default ใหเปน http แบบธรรมดา โดย User จะกลายเปน admin และตามดวย password ของเครอง Server เอง webmin จะมอง apache เปนไฟลขนาดเลกเพราะไมมสวนขยายไฟลนนเอง

User = admin Password = เปน password ของ root server ขนตอนนถาไมใช https//localhost:10000 จะท าใหระบบ PHPwifi ไมท างานกบ HTTPS ไปท าการตดตง Apache ใหรองรบระบบ SSL และ Remove webmin ท าการ Install ใหมอกครง เพอใหไดใชงาน HTTPS

HTTPS

PortsProgrammer - PHPwifi 1.0 on ClearOS - 76

*ขอเพมเตมสาหรบทานทเจอปญหาลง Webmin แลวดนถกใหใชงานผานทาง HTTP ในหนานทานใดไมมปญหากขามไปไดเลยนะครบ ขอยกตวอยางวธแกแบบงายๆ ส าหรบการเปลยนโหมด HTTP ไปเปน HTTPS (การทจะเปลยนไปเปน HTTPS นน Apache ของคณตองเปด port 443 หรอ SSL นะคบ ไมงนมนกใชงานไมได) *สาหรบทานทตองการ Config แบบรวดเรวก Command line เลยครบ เปด Terminal # nano +11 /etc/webmin/miniserv.conf

แก ssl=0 <- เปดใชงาน port 80 หรอ http เปน ssl=1 <- เปดใชงาน port 443 หรอ https

# /etc/init.d/webmin restart Stopping Webmin server in /usr/libexec/webmin Starting Webmin server in /usr/libexec/webmin Pre-loaded WebminCore

เปดหนา Web browser พมพ URL เปน https://localhost:10000 ไดเลยครบ

PortsProgrammer - PHPwifi 1.0 on ClearOS - 77

*ส าหรบทานทตองการ Config จาก HTTP ใหเปนโหมด HTTPS แบบสบายๆงายๆ บน WebUI กสะดวกครบ

เปดหนา Web browser ท Webmin ใหใชงาน You can now login to http://localhost:10000/ as root with your root password.

ไปคลกท Webmin ดงในรปภาพตวอยาง

ตอดวย Webmin Configuration

PortsProgrammer - PHPwifi 1.0 on ClearOS - 78

ตอดวย SSL Encryption

PortsProgrammer - PHPwifi 1.0 on ClearOS - 79

ไปทหวขอ Enable SSL if available? คลกทคาวา Yes เลยครบ

จากน นก คลกท Save เลยครบ

PortsProgrammer - PHPwifi 1.0 on ClearOS - 80

ท าการปดหนา Webmin แลวเขาใชงานใหมครบ และตองพมพ URL เปน HTTPS นะครบ เพราะคณไดเปลยนโหมดการทางานไปเปน port 443 SSL เรยบรอยแลว~!

PortsProgrammer - PHPwifi 1.0 on ClearOS - 81

ส าหรบทานทลง Webmin ท างานท port 443 SSL หรอ HTTPS เรยบรอยแลว กตอกนเลยครบ Config WEBmin Into Support PHPwifi 1.0 *หามขามข นตอนนเดดขาด จะท าใหมผลกบระบบไม Balance กน ท าการ แกไข Config ไฟล ของ Webmin ใหสามารถใชงานผาน Web browser ไดโดยการใส URL address ว งตรงเขาหาไฟลของ Webmin ไดโดยตรง ท Terminal # nano +16 /etc/webmin/config แก referers_none=1 เปน referers_none=0

# nano /etc/rc.local ใสเพมเขาไปทายไฟล /etc/init.d/webmin start

# /etc/init.d/webmin restart

PortsProgrammer - PHPwifi 1.0 on ClearOS - 82

***Plugin เสรมส าหรบ Webmin + PHPwifi 1.0 คณจะตองอพ pack เสรมของ Java เพอให Web browser ของคณท างานกบ Function น เฉพาะในฐานะผดแลระบบ

***ถาไมม Plugin JAVA เสรมเขาไปใน Web Browser คณกจะไดรบขอความแจงเตอน ดงภาพ พรอมกบไมมหนาควบคมการใชงาน *PHPwifi ฟงกช นใหมน Web browser บน Windows ของคณตองตดต ง Plugin Java เสรม เพมเขาไป เฉพาะ Admin

http://www.mediafire.com/?8c1acwh2cd12zb1 หรอ download จากแหลงทอยของ java ไดโดยตรง https://cds.sun.com/is-bin/INTERSHOP.enfinity/WFS/CDS-CDS_Developer-Site/en_US/-/USD/ViewProductDetail-Start?ProductRef=jdk-6u24-oth-JPR@CDS-CDS_Developer

PortsProgrammer - PHPwifi 1.0 on ClearOS - 83

ตวอยางของ Systems root alias -> Files Browser

PortsProgrammer - PHPwifi 1.0 on ClearOS - 84

*เปดหนา Web browser ในฐานะ Administrator เพอทาการทดสอบ Webmin ใขงานรวกบ PHPwifi คลกท Reboot Server บนหนา Index เพอทดสอบกบโคด PHPwifi

คลกป ม Reboot System

PortsProgrammer - PHPwifi 1.0 on ClearOS - 85

Squid Proxy Server

ข นตอนการตดต ง squid น เราไดท าการตดต งในแผนตอนแรกแลว .. เหลอแคส งรน service squid

แตเราจะมาท าการ config squid.conf เพอใหใชงานรวมกบ PHPwifi 1.0

อานเพอเตอน เมอเราไดท าการ config ไฟลเสรจ สวนทเราหามไปโดนกคอ WebUI ในเมน Web Proxy

เราสามารถกระท าไดแค ป ม Start ,Stop ,To Auto ,To Manual แคนน (เพราะไฟล config ได mod นนเอง)

*ขอเพมเตมเรองการตดตง Squid Proxy ในกรณทไดตดตง แลวท าการ config ไฟล แบบ random แลว squid ไมท างาน เพราะ ตกแตง config มากเกนไป จนไฟลเสย จนคนท าหวบานไปเลย ถายงไมเขาใจเรองการ config ไฟลของ squid proxy กพยายามท าตามคมอไปกอน *และ squid proxy แตละ version บางท โคดบรรทดค าสงอาจไมเหมอนกน ตองระวงหนอยเรองน สวนใหญเทาทเคยเหนมา ..จะตายตอนลง squid proxy แลวออกเนตไมได ..เปนอยางนนจรงๆ เพราะไมเขาใจการท างานของระบบ ท squid ไปท างานดวย

สวนวธแกก ไปท าการลบ package ของ squid proxy แลวตดต งใหมเขาไป ,Config ใหม

ท terminal # yum -y remove squid

# yum -y install squid

PortsProgrammer - PHPwifi 1.0 on ClearOS - 86

Setup a transparent proxy with Squid บงคบใหเครองลกว งผานเสนทางของ proxy โดยอตโนมต

ท าการเปด service squid proxy บน /etc/firewall หรอใชค าสง command กได ตามชอบ ..

# nano +41 /etc/firewall เดม SQUID_TRANSPARENT="off" SQUID_FILTER_PORT="" แกเปน

SQUID_TRANSPARENT="on" SQUID_FILTER_PORT=""

# /etc/init.d/firewall restart # /etc/init.d/squid start ในขนตอนการสง start squid แบบ command line แลวระบบแจงวา FAILED ท าการ remove squid

แลวลงใหม กรณขน FAILED ดงรป

แกปญหาโดยการ remove squid แลว install squid ลงไปใหม (เฉพาะขนตอนในหนานเทานน)

# yum -y remove squid # yum -y install squid

PortsProgrammer - PHPwifi 1.0 on ClearOS - 87

มาตอไฟลตกแตงกน # cd /tmp/temp คลกเพอโหลด แลวกอพโหลดขนไป http://www.mediafire.com/?ki3gn8rnfrnw4kc

# cd /etc/squid/ # mv squid.conf squid.conf.org # cp /tmp/temp/squid.conf ./

# chmod 640 squid.conf

# chown root:squid squid.conf

# ls -l squid.conf -rw-r----- 1 root squid 156692 Mar 6 19:27 squid.conf

PortsProgrammer - PHPwifi 1.0 on ClearOS - 88

Edit config file squid.conf

# nano squid.conf แกเปน http_port 3128 transparent http_port 127.0.0.1:3128 transparent

# nano +15 squid.conf แกเปน

maximum_object_size 250 MB ในสวนนข นอยกบ สเปคของ server ทคณใชงาน

# nano +18 squid.conf แกเปน maximum_object_size_in_memory 1 MB

# nano +23 squid.conf แกเปน

cache_dir ufs /var/spool/squid 2048 16 256 -> สเปค HDD + Ram 2048 (หนวยเปน MB) = 2Gb

ในสวนนตองค านวณกบสเปคของ Server เปนการเกบประวตการทองเวบ เพอให Server ลดภาระของ bandwidth

# nano +27 squid.conf แกเปน cache_mem 128 MB -> ในสวนนข นอยกบ สเปคของ server ทคณใชงาน

# nano +31 squid.conf แกเปน

ipcache_size 512 ในสวนนข นอยกบ สเปคของ server ทคณใชงาน

# nano +76 squid.conf แก Ip subnet ทแจกใหเครองลกๆ acl webconfig_lan src 10.0.0.0/24 acl webconfig_to_lan dst 10.0.0.0/24

เปนไฟลระบบแทน acl LAN_PROXY_SAVE src "/etc/squid/fblockhackLAN.txt" acl LOCALHOST_SAVE src "/etc/squid/fblockhackHOST.txt"

PortsProgrammer - PHPwifi 1.0 on ClearOS - 89

# nano +123 squid.conf -> File Block Ports

เปน acl SSL_ports port "/etc/squid/blockportsSSL.txt" acl Safe_ports port "/etc/squid/blockports.txt" acl CONNECT method CONNECT

# nano +127 squid.conf -> File Block IP

เปน acl blockip src "/etc/squid/blockip.txt" acl blockmac arp "/etc/squid/blockmac.txt"

# nano +131 squid.conf -> File Block Time –to- Time

เปน acl daytime time "/etc/squid/blocktime.txt" acl blockurl_time url_regex "/etc/squid/blocktime_url.txt"

# nano +134 squid.conf -> File Block Time –to- Time And GroupIP

เปน acl grouptime time "/etc/squid/blocktime_gip.txt" acl groupip src "/etc/squid/blocktime_groupip.txt"

# nano +137 squid.conf -> File Block Files -to- GroupsIP

เปน acl blockfiles url_regex -i "/etc/squid/blockfiles.txt" acl fgroupIP src "/etc/squid/blockfiles_groupip.txt"

# nano +140 squid.conf -> File Block Time –to- GroupUsers

เปน acl groupuserstime time "/etc/squid/phpwifi/blocktmac_time.txt" acl groupusersip src "/etc/squid/phpwifi/blocktime_ipmac.txt"

# nano +143 squid.conf -> File Block Web –to- GroupUsers

เปน acl groupusersweb url_regex "/etc/squid/phpwifi/blockweb_group.txt" acl webgroupusersip src "/etc/squid/phpwifi/blockweb_ipmac.txt"

# nano +146 squid.conf -> File Traffic Delay Pools เพมเขาไปตามนเลย #Squid Delay Pools acl localnet url_regex -i "/etc/squid/traffic/flocalnet.txt" acl download_files url_regex -i "/etc/squid/traffic/fdownload_files.txt" acl unlimit_bandwidth time "/etc/squid/traffic/funlimit_bandwidth.txt" acl update_files url_regex -i "/etc/squid/traffic/fupdate_files.txt"

PortsProgrammer - PHPwifi 1.0 on ClearOS - 90

# nano +152 squid.conf -> File Traffic Delay Pools เพมเขาไปตามนเลย

# Delay Pools Setup delay_pools 3 delay_class 1 2 delay_parameters 1 -1/-1 -1/-1 delay_access 1 allow localnet delay_access 1 allow !unlimit_bandwidth delay_access 1 deny unlimit_bandwidth delay_class 2 2 delay_parameters 2 256000/256000 128000/128000 delay_access 2 allow update_files delay_class 3 2 delay_parameters 3 256000/256000 128000/128000 delay_access 3 allow download_files

# nano +174 squid.conf -> Block Ports เปน http_access deny Safe_ports http_access deny CONNECT SSL_ports

# nano +177 squid.conf -> Block URL & Files เปน http_access deny blockx ใหระบบอานรายชอเวบทไมอณญาตจากไฟล blockx.txt http_access deny blacklist_files ไฟลนามสกลทไมอณญาต จากไฟล blacklist_files ชอ files.txt

# nano +180 squid.conf -> Block IP

เปน http_access deny blockip http_access deny blockmac

# nano +183 squid.conf -> Block Time –to- Time เปน http_access deny daytime blockurl_time

# nano +185 squid.conf -> Block Time –to- Time And GroupIP เปน http_access deny grouptime groupip

PortsProgrammer - PHPwifi 1.0 on ClearOS - 91

# nano +187 squid.conf -> Block Files -to- GroupsIP เปน http_access deny blockfiles fgroupIP

# nano +189 squid.conf -> Block Time -to- GroupsUsers เปน http_access deny groupuserstime groupusersip

# nano +191 squid.conf -> Block Web -to- GroupsUsers เปน http_access deny groupusersweb webgroupusersip

# nano +195 squid.conf -> IP Subnet transparent เปน http_access allow manager LOCALHOST_SAVE http_access allow LOCALHOST_SAVE

# nano +198 squid.conf -> SaveProxy ,Block Hacked เปน http_access allow LAN_PROXY_SAVE http_reply_access allow LAN_PROXY_SAVE

# nano +215 squid.conf -> Access logfile to Harddisk เปน access_log /var/log/squid/access.log squid ท าการสรางไฟลทตองใชงานกบ Squid Proxy Server ทได Config

# cd /etc/squid/ # touch blockx.txt files.txt -> Make File Block URL & Files

# touch fblockhackLAN.txt fblockhackHOST.txt -> Make File SaveProxy ,Block Hacked # touch blockx.txt files.txt -> Make File Block URL & Files # touch blockportsSSL.txt blockports.txt -> Make File Block Ports # touch blockip.txt blockmac.txt -> Make File Block IP # touch blocktime.txt blocktime_url.txt -> Make File Block Time # touch blocktime_gip.txt blocktime_groupip.txt -> Make File Block Time GroupIP # touch blockfiles.txt blockfiles_groupip.txt -> Make File Block Files -to- GroupsIP

PortsProgrammer - PHPwifi 1.0 on ClearOS - 92

# mkdir /etc/squid/traffic -> Make folder traffic # touch /etc/squid/traffic/fdownload_files.txt -> Make File to folder traffic # touch /etc/squid/traffic/flocalnet.txt -> Make File to folder traffic # touch /etc/squid/traffic/funlimit_bandwidth.txt -> Make File to folder traffic # touch /etc/squid/traffic/fupdate_files.txt -> Make File to folder traffic # mkdir /etc/squid/phpwifi -> Make folder Block Time-to-GroupUsers # touch /etc/squid/phpwifi/blocktmac_time.txt -> Make File Block Time-to-GroupUsers # touch /etc/squid/phpwifi/blocktime_ipmac.txt -> Make File Block Time-to-GroupUsers # touch /etc/squid/phpwifi/blockweb_group.txt -> Make File Block Web-to-GroupUsers # touch /etc/squid/phpwifi/blockweb_ipmac.txt -> Make File Block Web-to-GroupUsers # chmod 777 /etc/squid/*.txt # chmod 644 /etc/squid/mib.txt # chmod 777 /etc/squid/traffic/*.txt # chmod 777 /etc/squid/phpwifi/*.txt

PortsProgrammer - PHPwifi 1.0 on ClearOS - 93

ใชค าสงในการใสขอมลไฟลลงไปในแตละไฟล เพอเปนตวอยาง .. สวนนบงคบ .. หามขามไมงน squid error! หลกๆกจะเปนตวอยางการใสคาเวลา ในสวนนหามวางเดดขาด ! # cd /etc/squid/

# echo "http://www.sex.com" > blockx.txt

# echo "\.Torrent" > files.txt

# echo "\.mp3" >> files.txt

# echo "10.0.0.0/24" > fblockhackLAN.txt # echo "127.0.0.1" > fblockhackHOST.txt

# echo "442" > blockportsSSL.txt

# echo "15-79" > blockports.txt

# echo "82" >> blockports.txt

# echo "10.0.0.19-10.0.0.55" > blockip.txt # echo "10.0.0.199" >> blockip.txt

# echo "00:01:03:44:A3:09" > blockmac.txt

# echo "11:00-12:00" > blocktime.txt # echo "www.msn.com" > blocktime_url.txt

# echo "09:00-11:40" > blocktime_gip.txt

# echo "10.0.0.25-10.0.0.29" > blocktime_groupip.txt

# echo "\.zip" > blockfiles.txt # echo "10.0.0.11-10.0.0.199" > blockfiles_groupip.txt

PortsProgrammer - PHPwifi 1.0 on ClearOS - 94

สวนนเปนของ ควบคมการใชงาน ส าคญ หรอถาทานมไฟลนามสกลเพมเตมกใสเพมเขาไปเลย

# echo "\.exe" > traffic/fdownload_files.txt

# echo "\.rar" >> traffic/fdownload_files.txt # echo "\.flv" >> traffic/fdownload_files.txt

# echo "\.mov" >> traffic/fdownload_files.txt # echo "\.mp4" >> traffic/fdownload_files.txt # echo "\.zip" >> traffic/fdownload_files.txt

# echo "\.7z" >> traffic/fdownload_files.txt # echo "\.torrent" >> traffic/fdownload_files.txt

# echo "\.avi" >> traffic/fdownload_files.txt # echo "\.mp3" >> traffic/fdownload_files.txt

# echo "\.msi" >> traffic/fdownload_files.txt

# echo "localhost" > traffic/flocalnet.txt # echo "127.0.0.1/8" >> traffic/flocalnet.txt

# echo "07:00-08:00" > traffic/funlimit_bandwidth.txt

# echo "\.com" > traffic/fupdate_files.txt

# echo "\.msi" >> traffic/fupdate_files.txt # echo "\.exe" >> traffic/fupdate_files.txt

# echo "07:00-18:00" > phpwifi/blocktmac_time.txt # echo "10.0.0.254" > phpwifi/blocktime_ipmac.txt

# echo "http://www.xxx.com" > phpwifi/blockweb_group.txt

# echo "10.0.0.254" > phpwifi/blockweb_ipmac.txt

PortsProgrammer - PHPwifi 1.0 on ClearOS - 95

# touch clearsq.sh

# chmod 4755 clearsq.sh

# ls -l clearsq.sh -rwsr-xr-x 1 root root 775 Mar 20 16:20 clearsq.sh

# nano clearsq.sh

ใสเพมเขาไปทงหมดตามนเลยคบ อยาให บรรทด ตกเดดขาดนะครบ โคดค าสงจะท างานเปนบรรทด เหมอนการ compile

#!/bin/sh # # This script will be executed *after* all the other init scripts. # You can put your own initialization stuff in here if you don't # want to do the full Sys V style init stuff. rm -rf /var/log/squid/access.log rm -rf /var/log/squid/cache_access.log rm -rf /var/log/squid/cache.log rm -rf /var/log/squid/store.log #rm -rf /var/log/squid/swap.log touch /var/log/squid/access.log touch /var/log/squid/cache_access.log touch /var/log/squid/cache.log touch /var/log/squid/store.log #touch /var/log/squid/swap.log chown squid:squid /var/log/squid/* chmod 755 /var/log/squid/access.log chmod 755 /var/log/squid/cache_access.log chmod 755 /var/log/squid/cache.log chmod 755 /var/log/squid/store.log #chmod 755 /var/log/squid/swap.log /etc/rc.d/init.d/squid reload

PortsProgrammer - PHPwifi 1.0 on ClearOS - 96

รปภาพตวอยาง

PortsProgrammer - PHPwifi 1.0 on ClearOS - 97

ท าการสราง สครป ไฟลให ท าการลบ logfile ของ squid proxy ทกๆ วน ตอน เทยงคน ของวนใหม (อนนเปนตวอยางของเครองผมนะคบ สเปคเครองผมไมสงมากหนกกเลยตองลบประวตการใชงานบอย)

# nano /etc/crontab เพมเขาไปทายไฟลเลยคบ

0 0 * * * root /etc/squid/clearsq.sh

และตองคกบ crontab run-time # crontab -e เพมเขาไปทายไฟลเลยคบ 0 0 * * * root /etc/squid/clearsq.sh

PortsProgrammer - PHPwifi 1.0 on ClearOS - 98

ท าการสราง logfile ส าหรบต าแหนงของ Squid Proxy Logfile เพราะเปนตวหลกของประวตการใชงาน

# /etc/init.d/squid stop # touch /var/log/squid/access.log # touch /var/log/squid/cache_access.log # touch /var/log/squid/cache.log # touch /var/log/squid/store.log # chown -R squid:squid /var/log/squid/ -> ระวงทสด ClearOS กลมตองเปน squid : squid # chmod -R 755 /var/log/squid/ # cd /etc/squid/ # nano +228 squid.conf ใสเครองหมาย # ไวกอน เพราะยงไมไดตดต ง squidguard #redirect_program /usr/bin/squidGuard #redirect_children 5

# /etc/init.d/squid stop # squid -zD 2012/02/03 12:27:35| Creating Swap Directories

ขนตอน start squid หามม error! ใดๆ ถาม ..เนต กใชงานไมได Authen กไมมความหมาย กลบไปแกไข Config ของ Squid Proxy อกรอบจนกวาจะผาน

# /etc/rc.d/init.d/squid start Starting squid: . [ OK ]

PortsProgrammer - PHPwifi 1.0 on ClearOS - 99

ท าการเพม FIREWALL IPTABLES ใหสามารถใช SQUID transparent ได

# nano /etc/rc.d/rc.firewall.local เพมเขาไปทายไฟลท งหมดเลย และแก IP Subnet ทแจกใหเครองลกขายดวยนะคบ

บรรทด 127.0.0.0/8 ไมตองไปแกไขอะไรคบ เพราะมนเปน Loopback ของระบบ เพมเขาไปทกบรรทดเลย

## Squid Proxy Allow transparent proxy $IPTABLES -A INPUT -p tcp -m tcp --dport 3128 --syn -j ACCEPT ## Squid Proxy Allow transparent proxy for Tun0 $IPTABLES -t nat -A PREROUTING -i tun0 -p tcp -m tcp --dport 3128 --syn -j DROP

$IPTABLES -t nat -A PREROUTING -i tun0 -p tcp -m tcp -d 10.0.0.0/24 --dport 80 -j RETURN

$IPTABLES -t nat -A PREROUTING -i tun0 -p tcp -m tcp -d 10.0.0.0/16 --dport 80 -j RETURN $IPTABLES -t nat -A PREROUTING -i tun0 -p tcp -m tcp -d 10.0.0.0/8 --dport 80 -j RETURN $IPTABLES -t nat -A PREROUTING -i tun0 -p tcp -m tcp -d 127.0.0.0/8 --dport 80 -j RETURN $IPTABLES -t nat -A PREROUTING -i tun0 -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 3128 $IPTABLES -t nat -A PREROUTING -i tun0 -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 8080

refresh service

# /etc/init.d/firewall restart # /etc/rc.local

PortsProgrammer - PHPwifi 1.0 on ClearOS - 100

check การท างานของ squid

# tail -f /var/log/squid/access.log

ใหเครองลกขายใชงานดครบ รายการทองเวบจะแสดง list ออกมาใหด 2011-03-11 07:16:11 135 10.0.0.14 TCP_MISS/200 561 GET http://www.thaibsd.com/webboard/pic/cam.gif - DIRECT/203.113.115.161 image/gif 2011-03-11 07:16:11 142 10.0.0.14 TCP_MISS/200 2655 GET http://www.thaibsd.com/webboard/pic/avartar/42.gif - DIRECT/203.113.115.161 image/gif 2011-03-11 07:16:12 663 10.0.0.14 TCP_MISS/200 668 GET http://www.thaibsd.com/webboard/pic/pin_topic.gif - DIRECT/203.113.115.161 image/gif

ตวอยางการใชเนตของเครองลกขาย

PortsProgrammer - PHPwifi 1.0 on ClearOS - 101

ตอไปเปนข นตอนส าคญสาหรบให PHPwifi ท างานกบ Squid Proxy Server เพอให Squid Proxy เขามาจดการ กลม Users ใน PHPwifi ได ในข นตอน หามขามเดดขาด ถาตองการใชงานใน โหมด การท างานน

PortsProgrammer - PHPwifi 1.0 on ClearOS - 102

ขนตอนตอไปใหท าการทดสอบไฟล phpwifisquidproxy.php วาสามารถใชงานได ใหคณลอกอนในโซนกลมไหนกได ในตวอยางของผมเปนโซน รายช วโมง

จากน นไปทหนาเวบในฐานะ admin แลวไปท BlockTimeGroupUsers

PortsProgrammer - PHPwifi 1.0 on ClearOS - 103

ในตวอยางเลอก กลมรายช วโมง เพราะเครองททดสอบน ลอกอน กลมรายชวโมงอย

จากนนกท าการคลกทป ม save!

ระบบกจะแจงขอมลให admin ทราบ เพอ Confirm หรอ Cancel

PortsProgrammer - PHPwifi 1.0 on ClearOS - 104

คลกทป ม Confirm ระบบจะแจงผลลพธกลบมา ระบบไดท าการบนทก กลมของยสเซอร เปนทเรยบรอยแลว!

ตอไปนเปนการทดสอบ sourcecode การท างานกบระบบ ท Terminal พมพค าส งรนไฟล php ดงน

# php /var/www/html/phpwifi/admin/phpwifisquidproxy.php

ถารนผานคณจะไดรบขอความแจงใหทราบใน terminal ดงน

----- PHPwifi 1.0 >> phpwifisquidproxy.php ?Process Users Success! -----

แสดงวาสวนนกผานไปได ...ไปท าข นตอนทตองทาเพมอก ..หามขามข นตอนนนะครบ

PortsProgrammer - PHPwifi 1.0 on ClearOS - 105

*เพมเตม ในการส งรนในหนาทแลว บางทอาจไดรบขอความแจงเต อนดงน PHP Notice: Trying to get property of non-object in /var/www/html/phpwifi/admin/phpwifisquidproxy.php on line 47 2011/04/26 23:54:43| aclParseAclLine: WARNING: empty ACL: acl webgroupusersip src "/etc/squid/phpwifi/blockweb_ipmac.txt" ----- PHPwifi 1.0 >> phpwifisquidproxy.php ?Process Users Success! -----[root@wifi ~]#

มนแคแจงเตอนเรอง non-object หมายถงบางทค าสงโคด SQL ทเราสงใหมนดกจบ Users ทตองการบลอก

และอาจจะไมพบ Users ทตองการ มนจงท าใหขอมลทจะใสในตวแปร ipaddr วางเปลา ตวแปรเลย

ไมมการน าขอมลเขา วาแตมนมค าวา

----- PHPwifi 1.0 >> phpwifisquidproxy.php ?Process Users Success! -----[root@wifi ~]#

มาแสดงกผานแลวครบ จากนนกลองไปทดสอบกบ BlockTime และ BlockWEB ไดเลย

PortsProgrammer - PHPwifi 1.0 on ClearOS - 106

ตอไปเปนการ Timer ให PHPwifi ท างานรวมกบ Squid Proxy ทกๆ 1 นาท ท Terminal

# nano /etc/crontab ใสเพมเขาไปทายไฟล

*/1 * * * * root php /var/www/html/phpwifi/admin/phpwifisquidproxy.php

จากน นกตอดวย

# crontab -e ใสเพมเขาไปทายไฟล

*/1 * * * * root php /var/www/html/phpwifi/admin/phpwifisquidproxy.php

จากน นกกดป ม Esc แลว :wq! เพอบนทกและออกจากการท างาน

PortsProgrammer - PHPwifi 1.0 on ClearOS - 107

จากน นไปหนาเวบในฐานะ admin และไปทโหมดเดม ดงรป

เรากจะเหน IPaddress ในชองทสอง ดานขาวมอ

..วาเปน IP บนเรองททดสอบในกลม รายช วโมง ทถกเลอก และก าลงใชงานอย

*เพมเตม

ถายงไมเหน ...กใหท าการ Refresh หนาเวบใหมอกรอบ เพราะตวจบเวลาการรนไฟล Shell Script ยงอาจหรอก าลง จะถง 1 นาท

เพราะโคดจะตรวจสอบสมาชกในกลมทถกเลอก แลวลอกอนเขามาใชงานอนเตอรเนต ระบบจะรอดกจบ Users ในกลมทเลอกเอาไว

พอถงเวลาทถกก าหนด Users กจะใชงานหนาเวบไมได ..ถงแมจะแอบเปลยน IP กตาม

ในตวอยางเวลา ยสเซอร ไดท าการลอกอนไปแลว ในกลมทโดนบลอก พอถงเวลา + พรอมกบตวโคด

ไดดกจบ ยสเซอร ในกลมน นเจอ แลวระบบกจะ list ไอพ ใสเขาไปในไฟล ในกลมทโดนบลอก

ดงรปตวอยาง

PortsProgrammer - PHPwifi 1.0 on ClearOS - 108

ตวอยางในรป ระบบไดท าการดกจบ ยสเซอร ในกลมทโดนบลอกเจอแลว พรอมกบน าไอพมาแสดง

*เมอ ยสเซอร ได logout ออกจากระบบ ไอพทระบบแสดง กจะหายไป เพอไมใหเครองอนทเขามาใชงานทหลง และไมไดโดนบลอก

แตไดรบ ไอพซากบไอพทโดนบลอก เพอเปนการปองกนไมใหเครองอนโดนบลอก

ไอพเกาทโดนบลอก ตองถกลบออก ....[ OK ]

PortsProgrammer - PHPwifi 1.0 on ClearOS - 109

ทดสอบการ block web ,block file

เปดหนา Web browser ในฐานะ Administrator

ไปท บลอกเวบ Squid รปแรกเลย

PortsProgrammer - PHPwifi 1.0 on ClearOS - 110

ตอไปลองเขาเวบตองหามดครบ

ในตวอยางท URL พมพ www.sex.com

กจะเจอหนา web แจงเตอนดงรป หนาเดม ไมไดปรบแตง Squid

หนาใหมทปรบเปน Message ของตวเอง

PortsProgrammer - PHPwifi 1.0 on ClearOS - 111

ตอไปลอง download ไฟล ทตองหามด ในตวอยางทไป download ไฟลนามสกล \.mp3 ในเวบตวอยาง

พมพไปท URL http://www.4shared.com/get/QwmunnRs/0052-__-__.html กจะเจอหนา web แจงเตอนดงรป

PortsProgrammer - PHPwifi 1.0 on ClearOS - 112

Chillispot กบความแรงขนไปอก *เพมความแรงใหระบบ ProcessID + Chillispot เพอ Balance กบ Proxy Server

# nano +173 /etc/chilli.conf แกเปน + พรอมเอาเครองหมาย # ออก

proxylisten 10.0.0.1 -> ใสหมายเลขตามคมอเลยครบ เพราะ 10.0.0.1 คอ gateway ของระบบ

# nano +179 /etc/chilli.conf แกเปน + พรอมเอาเครองหมาย # ออก

proxyport 3128 -> ใสตามนเลยครบ เพราะเปน port ของ squid proxy

# nano +184 /etc/chilli.conf แกเปน + พรอมเอาเครองหมาย # ออก

proxyclient 10.0.0.1/24 -> ใส IPsubnet ทแจกเนตใหเครองลกขายใชงาน # nano +190 /etc/chilli.conf แกเปน + พรอมเอาเครองหมาย # ออก

proxysecret testing123 -> ตองตรงกบ secret = testing123 ของไฟล /etc/raddb/clients.conf

ท าการ restart service chilli # /etc/rc.d/init.d/chilli restart Shutting down chilli: [ OK ] Starting chilli: [ OK ]

หามม Error! ถาเออเรอกวนลปกบไป config chillispot ใหม

PortsProgrammer - PHPwifi 1.0 on ClearOS - 113

LOG File ตาม พ.ร.บ. คอมพวเตอร 2550 การเกบ Logfile ขอมลการจราจรทางคอมพวเตอร

PortsProgrammer - PHPwifi 1.0 on ClearOS - 114

Lightsquid เกบประวตการใชงานของ Users login

# cd /tmp/temp คลกเพอโหลด http://www.mediafire.com/?8qd5ez9a3l56qzg # rpm -Uvh perl-GD-2.30-2.2.el5.rf.i386.rpm Preparing... ################################ [100%]

1: perl-GD ################################ [100%]

คลกเพอโหลด http://www.mediafire.com/?ity6682g4gpn3vo

# tar -xvf lightsquid.tar

# rm -rf /var/www/html/phpwifi/admin/lightsquid

# mv lightsquid /var/www/html/phpwifi/admin/

# chown -R root:apache /var/www/html/

# nano +570 /etc/httpd/conf/httpd.conf แก

<Directory "/var/www/cgi-bin"> เปน

<Directory "/var/www/html/phpwifi/admin/"> AllowOverride All

Options None Order allow,deny

Allow from all </Directory>

# /etc/rc.d/init.d/httpd restart

# cd /var/www/html/phpwifi/admin/lightsquid/

# chmod +x *.cgi

# chmod +x *.pl

PortsProgrammer - PHPwifi 1.0 on ClearOS - 115

# nano +15 lightsquid.cfg

ท าการแกไขไฟล ใหเปนทอยของ path Lightsquid ตามนเลยคบ # -------------------- GLOBAL VARIABLES ---------------------------

#path to additional `cfg` files

$cfgpath ="/var/www/html/phpwifi/admin/lightsquid";

#path to `tpl` folder $tplpath ="/var/www/html/phpwifi/admin/lightsquid/tpl";

#path to `lang` folder

$langpath ="/var/www/html/phpwifi/admin/lightsquid/lang";

#path to `report` folder $reportpath ="/var/www/html/phpwifi/admin/lightsquid/report";

#path to access.log

$logpath ="/var/log/squid/"; #path to `ip2name` folder $ip2namepath ="/var/www/html/phpwifi/admin/lightsquid/ip2name";

PortsProgrammer - PHPwifi 1.0 on ClearOS - 116

ไฟล realname.pl ส าหรบ lightsquid_log เพอแสดง username และ mac address # cd /tmp/temp/ คลกเพอโหลด แลวกอพโหลดขนไป http://www.mediafire.com/?y8ywfk0p8yqe282 Copy Pass ใสท /var/www/html/phpwifi/admin/lightsquid/ # cp realname.pl /var/www/html/phpwifi/admin/lightsquid/ # cd /var/www/html/phpwifi/admin/lightsquid/

# ./check-setup.pl LightSquid Config Checker, (c) 2005-9 Sergey Erokhin GNU GPL WARNING:Log format Look like CUSTOM log, Lightsquid can't parse this format! Please check documentation ! Invalid access.log format or can't check format type ...

ไมตองสนใจ Warning เพราะประวตยงไมถกอานเขามาใน lightsquid

ใหเครองลกขายเลนเนตไปสกพกเพอให log file มนเกบลง Harddisk เพอให lightsquid เกบประวตมาแสดงโชว

# ./lightparser.pl & [1] 13582

# nano /etc/rc.local ใสเพมเขาไปทายไฟล

#lightsquid log /var/www/html/phpwifi/admin/lightsquid/lightparser.pl start

PortsProgrammer - PHPwifi 1.0 on ClearOS - 117

ท าการสราง สครป ไฟลให ท าการ refresh ทกๆ 10 นาท ในแตละวน

# nano /etc/crontab ใสเพมเขาไปททายไฟล

*/15 * * * * root /var/www/html/phpwifi/admin/lightsquid/lightparser.pl today */15 * * * * root /var/www/html/phpwifi/admin/lightsquid/realname.pl today

# crontab -e ใสเพมเขาไปททายไฟล

*/15 * * * * root /var/www/html/phpwifi/admin/lightsquid/lightparser.pl today */15 * * * * root /var/www/html/phpwifi/admin/lightsquid/realname.pl today

กดป ม Esc บนแปนคยบอรด เพอพมพคาสงบนทกไฟล กดป ม Shift ป ม : ป ม w ป ม q ป ม ! -> อนนเหมาะกบมอใหม เลยตองละเอยด หรองายๆ กพมพตามนเลย :wq!

# /etc/rc.local

PortsProgrammer - PHPwifi 1.0 on ClearOS - 118

ท าการเปด Web browser เขาในหนาเวบในฐานะ Admin

ไปท Lightsquid Log

ป ม function Admin LOG สามารถใชงานรวมกบคมอ

คมอ การตดตงและใชงาน ป มฟงกชน Admin-LOG บน phpsyslogviewer+syslog-ng

.. ! User Enjoy.