phpwifi1 0 on clearos

118
PortsProgrammer - PHPwifi 1.0 on ClearOS - 1 คู ่มือ ClearOS 5.2 SP1 + PHPwifi 1.0 Authent!cation wifi hotspot login.

Upload: best-pukapon

Post on 21-Apr-2015

3.683 views

Category:

Documents


8 download

TRANSCRIPT

Page 1: Phpwifi1 0 on ClearOS

PortsProgrammer - PHPwifi 1.0 on ClearOS - 1

คมอ ClearOS 5.2 SP1 + PHPwifi 1.0

Authent!cation wifi hotspot login.

Page 2: Phpwifi1 0 on ClearOS

PortsProgrammer - PHPwifi 1.0 on ClearOS - 2

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

Page 3: Phpwifi1 0 on ClearOS

PortsProgrammer - PHPwifi 1.0 on ClearOS - 3

Page 4: Phpwifi1 0 on ClearOS

PortsProgrammer - PHPwifi 1.0 on ClearOS - 4

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

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

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

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

Page 5: Phpwifi1 0 on ClearOS

PortsProgrammer - PHPwifi 1.0 on ClearOS - 5

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

Page 6: Phpwifi1 0 on ClearOS

PortsProgrammer - PHPwifi 1.0 on ClearOS - 6

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

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

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

User = root

Pass = rootadmin

Page 7: Phpwifi1 0 on ClearOS

PortsProgrammer - PHPwifi 1.0 on ClearOS - 7

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

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

Page 8: Phpwifi1 0 on ClearOS

PortsProgrammer - PHPwifi 1.0 on ClearOS - 8

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

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

Page 9: Phpwifi1 0 on ClearOS

PortsProgrammer - PHPwifi 1.0 on ClearOS - 9

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

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

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

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

Page 10: Phpwifi1 0 on ClearOS

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 นะคบ

Page 11: Phpwifi1 0 on ClearOS

PortsProgrammer - PHPwifi 1.0 on ClearOS - 11

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

Page 12: Phpwifi1 0 on ClearOS

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

Page 13: Phpwifi1 0 on ClearOS

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

Page 14: Phpwifi1 0 on ClearOS

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

Page 15: Phpwifi1 0 on ClearOS

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 ]

Page 16: Phpwifi1 0 on ClearOS

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

Page 17: Phpwifi1 0 on ClearOS

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)

Page 18: Phpwifi1 0 on ClearOS

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

Page 19: Phpwifi1 0 on ClearOS

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

Page 20: Phpwifi1 0 on ClearOS

PortsProgrammer - PHPwifi 1.0 on ClearOS - 20

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

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

Page 21: Phpwifi1 0 on ClearOS

PortsProgrammer - PHPwifi 1.0 on ClearOS - 21

Page 22: Phpwifi1 0 on ClearOS

PortsProgrammer - PHPwifi 1.0 on ClearOS - 22

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

Page 23: Phpwifi1 0 on ClearOS

PortsProgrammer - PHPwifi 1.0 on ClearOS - 23

Open web browser

http://ip-server/phpinfo.php

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

#cat /etc/php.ini

Page 24: Phpwifi1 0 on ClearOS

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

Page 25: Phpwifi1 0 on ClearOS

PortsProgrammer - PHPwifi 1.0 on ClearOS - 25

Open web browser

http://ip-server/phpmyadmin/

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

Page 26: Phpwifi1 0 on ClearOS

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 ท าตวเปนเราเตอรได

Page 27: Phpwifi1 0 on ClearOS

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

Page 28: Phpwifi1 0 on ClearOS

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

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

Page 29: Phpwifi1 0 on ClearOS

PortsProgrammer - PHPwifi 1.0 on ClearOS - 29

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

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

คลกปม สราง

Page 30: Phpwifi1 0 on ClearOS

PortsProgrammer - PHPwifi 1.0 on ClearOS - 30

จะไดดงรป

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

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

Page 31: Phpwifi1 0 on ClearOS

PortsProgrammer - PHPwifi 1.0 on ClearOS - 31

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

Page 32: Phpwifi1 0 on ClearOS

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

Page 33: Phpwifi1 0 on ClearOS

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(); ?>

Page 34: Phpwifi1 0 on ClearOS

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

Page 35: Phpwifi1 0 on ClearOS

PortsProgrammer - PHPwifi 1.0 on ClearOS - 35

Page 36: Phpwifi1 0 on ClearOS

PortsProgrammer - PHPwifi 1.0 on ClearOS - 36

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

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

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

Page 37: Phpwifi1 0 on ClearOS

PortsProgrammer - PHPwifi 1.0 on ClearOS - 37

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

กดป ม เพม

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

Page 38: Phpwifi1 0 on ClearOS

PortsProgrammer - PHPwifi 1.0 on ClearOS - 38

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

Page 39: Phpwifi1 0 on ClearOS

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 เพอกนบคคลอนเขามาโดยตรง

Page 40: Phpwifi1 0 on ClearOS

PortsProgrammer - PHPwifi 1.0 on ClearOS - 40

MySQL +

FreeRadius

Page 41: Phpwifi1 0 on ClearOS

PortsProgrammer - PHPwifi 1.0 on ClearOS - 41

# yum -y install freeradius

Page 42: Phpwifi1 0 on ClearOS

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

Page 43: Phpwifi1 0 on ClearOS

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

Page 44: Phpwifi1 0 on ClearOS

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 {

…..

}

Page 45: Phpwifi1 0 on ClearOS

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 กไมมความหมาย!

Page 46: Phpwifi1 0 on ClearOS

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 ]

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

Page 47: Phpwifi1 0 on ClearOS

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

Page 48: Phpwifi1 0 on ClearOS

PortsProgrammer - PHPwifi 1.0 on ClearOS - 48

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

คลก Perform Test

Page 49: Phpwifi1 0 on ClearOS

PortsProgrammer - PHPwifi 1.0 on ClearOS - 49

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

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

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

Page 50: Phpwifi1 0 on ClearOS

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

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

Page 51: Phpwifi1 0 on ClearOS

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

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

Page 52: Phpwifi1 0 on ClearOS

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

Page 53: Phpwifi1 0 on ClearOS

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

Page 54: Phpwifi1 0 on ClearOS

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

Page 55: Phpwifi1 0 on ClearOS

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

Page 56: Phpwifi1 0 on ClearOS

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

Page 57: Phpwifi1 0 on ClearOS

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 ทไดรบไป

Page 58: Phpwifi1 0 on ClearOS

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)

Page 59: Phpwifi1 0 on ClearOS

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/

Page 60: Phpwifi1 0 on ClearOS

PortsProgrammer - PHPwifi 1.0 on ClearOS - 60

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

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

Page 61: Phpwifi1 0 on ClearOS

PortsProgrammer - PHPwifi 1.0 on ClearOS - 61

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

Page 62: Phpwifi1 0 on ClearOS

PortsProgrammer - PHPwifi 1.0 on ClearOS - 62

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

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

Page 63: Phpwifi1 0 on ClearOS

PortsProgrammer - PHPwifi 1.0 on ClearOS - 63

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

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

Page 64: Phpwifi1 0 on ClearOS

PortsProgrammer - PHPwifi 1.0 on ClearOS - 64

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

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

Page 65: Phpwifi1 0 on ClearOS

PortsProgrammer - PHPwifi 1.0 on ClearOS - 65

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

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

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

Page 66: Phpwifi1 0 on ClearOS

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

Page 67: Phpwifi1 0 on ClearOS

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 ใหม

Page 68: Phpwifi1 0 on ClearOS

PortsProgrammer - PHPwifi 1.0 on ClearOS - 68

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

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

Page 69: Phpwifi1 0 on ClearOS

PortsProgrammer - PHPwifi 1.0 on ClearOS - 69

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

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

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

Page 70: Phpwifi1 0 on ClearOS

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> แตจะใชงานไดเมอไดรบอนญาตจากผดแลระบบฯ

Page 71: Phpwifi1 0 on ClearOS

PortsProgrammer - PHPwifi 1.0 on ClearOS - 71

ตามรปเลยครบ

Page 72: Phpwifi1 0 on ClearOS

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

Page 73: Phpwifi1 0 on ClearOS

PortsProgrammer - PHPwifi 1.0 on ClearOS - 73

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

ทดสอบ

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

Page 74: Phpwifi1 0 on ClearOS

PortsProgrammer - PHPwifi 1.0 on ClearOS - 74

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

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

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

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

Page 75: Phpwifi1 0 on ClearOS

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

Page 76: Phpwifi1 0 on ClearOS

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 ไดเลยครบ

Page 77: Phpwifi1 0 on ClearOS

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

Page 78: Phpwifi1 0 on ClearOS

PortsProgrammer - PHPwifi 1.0 on ClearOS - 78

ตอดวย SSL Encryption

Page 79: Phpwifi1 0 on ClearOS

PortsProgrammer - PHPwifi 1.0 on ClearOS - 79

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

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

Page 80: Phpwifi1 0 on ClearOS

PortsProgrammer - PHPwifi 1.0 on ClearOS - 80

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

Page 81: Phpwifi1 0 on ClearOS

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

Page 82: Phpwifi1 0 on ClearOS

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

Page 83: Phpwifi1 0 on ClearOS

PortsProgrammer - PHPwifi 1.0 on ClearOS - 83

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

Page 84: Phpwifi1 0 on ClearOS

PortsProgrammer - PHPwifi 1.0 on ClearOS - 84

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

คลกป ม Reboot System

Page 85: Phpwifi1 0 on ClearOS

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

Page 86: Phpwifi1 0 on ClearOS

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

Page 87: Phpwifi1 0 on ClearOS

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

Page 88: Phpwifi1 0 on ClearOS

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"

Page 89: Phpwifi1 0 on ClearOS

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"

Page 90: Phpwifi1 0 on ClearOS

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

Page 91: Phpwifi1 0 on ClearOS

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

Page 92: Phpwifi1 0 on ClearOS

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

Page 93: Phpwifi1 0 on ClearOS

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

Page 94: Phpwifi1 0 on ClearOS

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

Page 95: Phpwifi1 0 on ClearOS

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

Page 96: Phpwifi1 0 on ClearOS

PortsProgrammer - PHPwifi 1.0 on ClearOS - 96

รปภาพตวอยาง

Page 97: Phpwifi1 0 on ClearOS

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

Page 98: Phpwifi1 0 on ClearOS

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 ]

Page 99: Phpwifi1 0 on ClearOS

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

Page 100: Phpwifi1 0 on ClearOS

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

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

Page 101: Phpwifi1 0 on ClearOS

PortsProgrammer - PHPwifi 1.0 on ClearOS - 101

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

Page 102: Phpwifi1 0 on ClearOS

PortsProgrammer - PHPwifi 1.0 on ClearOS - 102

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

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

Page 103: Phpwifi1 0 on ClearOS

PortsProgrammer - PHPwifi 1.0 on ClearOS - 103

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

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

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

Page 104: Phpwifi1 0 on ClearOS

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

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

Page 105: Phpwifi1 0 on ClearOS

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 ไดเลย

Page 106: Phpwifi1 0 on ClearOS

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! เพอบนทกและออกจากการท างาน

Page 107: Phpwifi1 0 on ClearOS

PortsProgrammer - PHPwifi 1.0 on ClearOS - 107

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

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

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

*เพมเตม

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

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

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

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

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

ดงรปตวอยาง

Page 108: Phpwifi1 0 on ClearOS

PortsProgrammer - PHPwifi 1.0 on ClearOS - 108

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

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

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

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

Page 109: Phpwifi1 0 on ClearOS

PortsProgrammer - PHPwifi 1.0 on ClearOS - 109

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

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

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

Page 110: Phpwifi1 0 on ClearOS

PortsProgrammer - PHPwifi 1.0 on ClearOS - 110

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

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

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

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

Page 111: Phpwifi1 0 on ClearOS

PortsProgrammer - PHPwifi 1.0 on ClearOS - 111

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

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

Page 112: Phpwifi1 0 on ClearOS

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 ใหม

Page 113: Phpwifi1 0 on ClearOS

PortsProgrammer - PHPwifi 1.0 on ClearOS - 113

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

Page 114: Phpwifi1 0 on ClearOS

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

Page 115: Phpwifi1 0 on ClearOS

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";

Page 116: Phpwifi1 0 on ClearOS

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

Page 117: Phpwifi1 0 on ClearOS

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

Page 118: Phpwifi1 0 on ClearOS

PortsProgrammer - PHPwifi 1.0 on ClearOS - 118

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

ไปท Lightsquid Log

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

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

.. ! User Enjoy.