phpwifi1 0 on clearos
TRANSCRIPT
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.