It is currently 24 May 2013 08:04

 

All times are UTC + 7 hours



Reply to topic  [ 5 posts ] 
Author Message
netsol
 Post subject: ทำ Wifi hotspot ด้วย Ubuntu 8.04 #2 Chillispot
PostPosted: 29 Oct 2009 18:10 
Offline
สมาชิก
User avatar

Joined: 14 Jan 2009 01:39
Posts: 141
Location: Bangkok
Thanks Give: 842
Thanks Recieve:
633 times in 274 posts
ชื่อเล่น: อ๊อด
จังหวัด: กรุงเทพมหานคร
Thanks 
อ้างถึงกระทู้ก่อนหน้านี้น่ะครับ viewtopic.php?f=70&t=177323&p=1809981#p1809981

เกริ่นเรื่อง Chillispot หลาย ๆ คนสงสัยว่ามันคืออะไร มันคือ Captive Portal Software ซึ่งผู้พัฒนา หยุดพัฒนาไปซะดื้อ ๆ แต่ยังใช้งานได้ดีน่ะครับ และมี Sourcecode กับสมัครพรรคพวกพัฒนามันต่อไป ดังนั้นท่านอาจใช้ตัวอื่นเช่น Coovachilli ซึ่งใช้แทน Chillispot ได้น่ะครับ

ติดตั้ง chillispot

เราต้องเป็น root ก่อนจำได้ไหมเอ่ยว่าทำอย่างไรด้วยคำสั่ง su root ไง และที่สำคัญท่านต้องต่อกับอินเตอร์เน็ทอยู่แล้ว โดยให้ eth0 ต่อกับ Router ของท่านน่ะครับ

ดาวน์โหลด chillispot 1.0

sudo apt-get update (ใช้คำสั่งนี้เพื่อให้แน่ใจว่าเราจะ get ตัวที่อัพเดทล่าสุดด้วยคำสั่งด้านล่างต่อไปนี้)

sudo apt-get install chillispot (อย่างเคยไม่ต้อง sudo ก็ได้ถ้าเป็น root อยู่แล้วน่ะครับ)

โปรแกรมเล็กนิดเดียวครับแป้บเดียวเท่านั้น ติดเสร็จแล้ว แต่อย่าพึ่งดีใจ ยังใช้ไม่ได้ครับ ต้อง config ก่อน


Last edited by netsol on 29 Oct 2009 18:45, edited 1 time in total.

Share on Facebook Share on Twitter Share on MySpace
Top
 Profile  
ขอขอบคุณ คุณ netsol สำหรับโพสนี้:
pompoprock, topid
netsol
 Post subject: Re: ทำ Wifi hotspot ด้วย Ubuntu 8.04 #2 Chillispot
PostPosted: 29 Oct 2009 18:25 
Offline
สมาชิก
User avatar

Joined: 14 Jan 2009 01:39
Posts: 141
Location: Bangkok
Thanks Give: 842
Thanks Recieve:
633 times in 274 posts
ชื่อเล่น: อ๊อด
จังหวัด: กรุงเทพมหานคร
Thanks 
อ้อ Chillispot จะทำตัวมันเองเป็น DHCP Server ดังนั้นท่านต้องไม่ใช้ dhcpd น่ะครับ ปิด DHCP Server ไปเลยยกให้เป็นหน้าที่ของ Chillispot เท่านั้น

เมื่อครั้งติดตั้ง chillispot มันจะให้เราใส่โน่นใส่นี่งั้นให้กรอกตามที่ผมแนะนำน่ะครับ

เนื่องจากเรานำทุกสิ่งทุกอย่างอยู่ในเครื่องเดียวกัน เราจึงกำหนด IP Address เป็น 127.0.0.1 ซึ่งคือ IP Address ที่ใช้ในการสื่อสารภายในเครื่องเดียวกันระหว่างโปรแกรม ส่วนการกำหนด IP Address ให้เป็น IP Address อื่นสามารถทำได้ครับเพียงแค่เปลี่ยนจาก 127.0.0.1 เป็น 192.168.1.254 ซึ่งเป็น Static IP Address ของ eth0 เป็นต้น หรือจะเป็น IP Address จริงก็ย่อมได้ครับ

radius server 1 & 2 :
127.0.0.1 (มันคือ localhost เราจะใช้ radius server ซึ่งอยู่ในเครื่องเดียวกันทั้งหมด เพราะ Chillispot นอกจากต้องทำงานร่วมกับ เวปเซอร์เวอร์นั่นคือ Apache2 แล้วยังต้องทำงานร่วมกันกับ Radius Server ซึ่งก็คือ freeradius 1.1.7 ด้วยครับ)

radius secret :
radiussecret (มันคือรหัสผ่านของ radius server ซึ่งเราใช้รหัสผ่านว่า radiussecret ก็แล้วกันน่ะครับจะได้ไม่งงและปะติดปะต่อโครงงานได้)

Ethernet interface for DHCP to Listen :

เลือกกรอก eth1 เพราะเราจะให้ eth1 ต่อกับ LAN หรือ WLAN ซึ่งจ่าย IP Adddress โดยทำตัวเป็น DHCP ของระบบในโครงงานของเรา อีกทั้งใช้สำหรับการ Authentication แบบ Captive Portal ผ่านอินเตอร์เฟซ eth1 ซึ่งตามตรรกะมันจะมีอินเตอร์เฟชซึ่งทำหน้าที่เป็น Switch เปิดปิดการใช้งานผ่าน tun0 อีกทีหนึ่งครับ

URL of UAM server :

https://192.168.9.1/cfg-bin/hotspotlogin.cgi ## เอาล่ะหวังว่าระบบ LAN ของเดิมที่รับ DHCP จาก eth0 จะไม่ใช่วง LAN เดียวกันกับที่ผมยกตัวอย่างน่ะครับ ผมเลือก LAN เป็นวง Class C 192.168.9.0/24 ครับซึ่งเราเตอร์ตามท้องตลาดน่าจะไม่ซ้ำกัน ส่วนในกรณีเราต่อด้วย PPPoE ได้ IP Address เป็น IP จริงก็หมดปัญหาโดยปริยายครับ

URL of UAM Homepage:

https://192.168.9.1/welcome.html ##ตัวไฟล์ HTML ธรรมดา welcome.html เราทำเองได้น่ะครับ แปะเอาไว้ก่อนไว้ค่อยมาบอกทีหลังไฟล์นี้เป็น optional ครับมันก็คือหน้าแรกสำหรับต้อนรับเข้าสู่ระบบเท่านั้นเองครับ

Shared password between chillispot and webserver :

uamsecret ###นี่คือรหัสผ่านซึ่งเจ้า cgi script ของ Chillispot นั้นมีคำสั่งเพื่อติดต่อกับ Apache Webserver ครับ ดังนั้นในรหัสผ่านนี้จะต้องตรงกับกับใน script cgi ที่ชื่อว่า hotspotlogin.cgi น่ะครับ จะตั้งเป็นอย่างอื่นก็ได้แต่ต้องตรงกันครับ ส่วน SCRIPT cgi แก้ไขได้ครับสำหรับคนที่เขียน cgi เป็นอยู่แล้วครับ ก็จะทำให้สวยงามขึ้นมีข้อความและรูปภาพที่เราต้องการ

ทำการเปิดระบบ Chillispot Captive Portal ด้วยการ edit config file ของ chillispot ดังนี้

nano -w /etc/default/chillispot

ENABLED=1 (ให้เป็น 1 น่ะครับ ถ้าเป็น 0 แสดงว่าปิดระบบอยู่)

ส่วน Config file ของ Chillispot ซึ่งเราได้กรอกตอนติดตั้งตัวโปรแกรมแล้วจัดเก็บอยู่ที่ /etc/chilli.conf น่ะครับ เข้าไปแก้ไขได้ภายหลังครับ แม้ว่าจะพิมพ์หรือใส่ตามด้านบนผิดก็ตามครับ


Last edited by netsol on 26 Dec 2009 22:24, edited 2 times in total.

Top
 Profile  
netsol
 Post subject: Re: ทำ Wifi hotspot ด้วย Ubuntu 8.04 #2 Chillispot
PostPosted: 29 Oct 2009 18:43 
Offline
สมาชิก
User avatar

Joined: 14 Jan 2009 01:39
Posts: 141
Location: Bangkok
Thanks Give: 842
Thanks Recieve:
633 times in 274 posts
ชื่อเล่น: อ๊อด
จังหวัด: กรุงเทพมหานคร
Thanks 
เมื่อกำหนด config ในระหว่างที่ติดตั้ง chillispot แล้ว กรอกผิดใส่ผิดไม่เป็นไรครับ เราสามารถแก้ไขได้ครับ ด้วยการแก้ไฟล์ /etc/chilli.conf ได้โดยตรงเลยครับ

nano /etc/chilli.conf

net 192.168.9.0/24 ### ซึ่งก็คือ IP Address วง LAN ของเราที่เจ้า Chillispot ทำหน้าที่เป็น DHCP Server จะจ่าย IP Address ให้แก่ Client ในระบบ Hotspot เอาแค่ Class C รองรับเครื่องลูกข่ายได้ถึง 253 เครื่องไม่รวมตัวมันเอง 192.168.9.1 ก็คงเพียงพอกับเครือข่ายภายในของเราน่ะครับ
#dns1 192.168.9.1
#dns2 192.168.9.1 ### ซึ่งก็คือค่า DNS Server เพราะว่าเจ้าตัว Chillispot จะเป็น DHCP Server ด้วยตัวมันเอง และจ่าย IP Address ให้แก่ Client ครับ เพราะตัวมันเองทำหน้าที่เป็น DHCP Server ไงล่ะครับ เราก็ใส่ค่า DNS ของ ISP ที่เราใช้ก็ได้ หรือจะใส่เป็น IP Address ของเครื่องนี้เลยก็ได้เช่นกันครับ
domain domain.org ### ใส่ค่า domain suffix ตามที่ต้องการซึ่งเป็นฟังก์ชั่นพื้นฐานของ DHCP Server ครับ
radiusserver1 127.0.0.1
radiusserver2 127.0.0.1 ### ก็คือ radius server ซึ่งอยู่เครื่องเดียวกันกับเจ้า hotspot server ให้กรอกซ้ำกันสองครั้งเหมือน ๆ กันน่ะครับ ส่วนการแยก freeradius ออกจาก Chillispot ก็ต้องกำหนด IP Address เป็น IP Address ของเครื่องซึ่งกำหนดแบบ Static เช่น 192.168.1.254 เป็นต้น
radiussecret radiussecret ### ตัวนี้คือรหัสผ่านที่ต้องตรงกันกับ Server Side Script CGI ในไฟล์เจ้า hotspotlogin.cgi น่ะครับ จะกำหนดเป็นอะไรก็ได้แต่ต้องตรงกันน่ะครับทำให้เจ้า chillispot คุยกับ radiusserver ได้ด้วยรหัสผ่านชุดนี้ล่ะครับ ซึ่งเราจะเอารหัสผ่านตัวนี้ไปใส่ในเราเตอร์ dd-wrt ได้ครับ
dhcpif eth1 ### เป็นการบอกว่าให้ DHCP Server ทำงานที่ LAN Card ฝั่ง LAN ที่กำหนดไว้สำหรับ Authenticate ด้วย Hotspot ซึ่งเรากำหนดเป็น eth1 ตามบทความในโครงการน่ะครับ
uamserver https://192.168.9.1/cfg-bin/hotspotlogin.cgi ### นี่คือตำแหน่งที่ script cgi ซึ่งคือหัวใจของ captive portal อย่าง chillispot จัดวางอยู่ครับ
uamhomepage https://192.168.9.1/welcome.html ###ไฟล์นี้ก็เป็น HMTL ธรรมดาครับไฟล์ต้อนรับเข้าสู่ระบบ ตัวอย่างเดี๋ยวจะโพ้สให้น่ะครับ ตบแต่งตามอัธยาศัยด้วยเครื่องมือสำหรับเขียน HTML จะทำด้วย MS Word ก็ยังได้เลยครับ
uamsecret ###รหัสผ่าน ตัวนี้ต้องตรงกันกับ hotspotlogin.cgi น่ะครับเอาไว้คุยกับ Apache2 ไงครับ และการเชื่อมต่อกับ web server ต้องเป็น protocol : https ซึ่งทำการเข้ารหัสทำให้ รหัสผ่านไม่รั่วไหลง่าย ๆ จากการทำ sniffer เครือข่าย
uamlisten 192.168.9.1 ### IP Address ของเจ้า hotspot server ของเรานั่นเอง
uamallow http://www.google.co.th,192.168.9.0/24 ### ตรงนี้คือ IP Addresss หรือ url ที่เรายกเว้นยอมให้ระบบ Chillispot ผ่านไฟเขียวโดยไม่ต้อง Authentication ดังตัวอย่างเวป http://www.google.co.th จะเข้าได้ทันทีโดยไม่ต้อง Authentication ใด ๆ และ IP Address 192.168.9.1 - 254 สามารถเข้าถึงได้โดยไม่ต้อง Authentication ครับ (IP ลงท้ายด้วย 0 แทน Network ID ส่วนลงท้ายด้วย 255 แทนการ Broadcast Packet ในวง LAN ) โดยปกติแล้วเราจะ comment ตัวเลือกนี้ไว้ครับ เพื่อความปลอดภัยครับ


Last edited by netsol on 26 Dec 2009 22:35, edited 2 times in total.

Top
 Profile  
netsol
 Post subject: Re: ทำ Wifi hotspot ด้วย Ubuntu 8.04 #2 Chillispot
PostPosted: 29 Oct 2009 18:54 
Offline
สมาชิก
User avatar

Joined: 14 Jan 2009 01:39
Posts: 141
Location: Bangkok
Thanks Give: 842
Thanks Recieve:
633 times in 274 posts
ชื่อเล่น: อ๊อด
จังหวัด: กรุงเทพมหานคร
Thanks 
สิ่งที่ต้องจดจำใน chillispot คือ รหัสผ่านสองชุดครับจะได้ปะติดปะต่อโครงงานของเราได้

ชุดแรก radiusserversecret ซึ่งก็คือ radiussecret เพื่อทำให้เจ้า chillispot สามารถคุยกับ radiusserver

ซึ่งใน Ubuntu 8.04 ที่เราใช้ก็คือ freeradius Version 1.1.7 น่ะครับ และแตกต่างกันอย่างสิ้นเชิงในการ config freeradius 2.1 ซึ่งมีอยู่ใน Ubuntu 8.10 และ 9.04 น่ะครับ ดังนั้นหากใครทำตามแล้วใช้คนละเวอร์ชั่นกันแล้วมันใช้ไม่ได้ก็ไม่ต้องแปลกใจน่ะครับ เพราะมันหนังคนละม้วนโปรแกรมคนละตัวกันครับ!

ชุดที่สอง uamsecret เราตั้งรหัสผ่านชุดนี้ว่า uamsecret ซึ่งรหัสผ่านตัวนี้อยู่ใน script hotspotlogin.cgi น่ะครับ รหัสนี้ถูกตั้งเมื่อตอนเราติดตั้งเจ้าตัว chillispot ดังนั้นหากเราแก้ไขทีหลังก็ต้องมาแก้ที่ script cgi ชื่อว่า hotspotlogin.cgi ให้ตรงกันด้วยน่ะครับ มันรหัสผ่านนี้เพื่อติดต่อกับเวปเซอร์เวอร์ Apache2 ครับ ซึ่งจะกล่าวถึงตอนที่เรา config เจ้าตัว apache2 น่ะครับ

ส่วน config มีอยู่สองไฟล์ให้แก้ไข
1. ไฟล์ /etc/default/chillispot และ
2. ไฟล์ /etc/chilli.conf

ส่วนใครที่ต้องการ Config โดยไม่ต้องการใช้ Chillispot บนเครื่อง เพราะมี Wirless Router อย่าง dd-wrt แล้ว และมี Interface เดียวคือ eth0 เท่านั้น เรายังคงติดเจ้า chillispot ลงไปเพียงเพราะเราต้องการไฟล์สคริป hotspotlogin.cgi เพื่อนำมารันบน Apache แต่เราปิดการทำงานเอาไว้ และไม่ใช้ไฟล์วอล์น่ะครับ


Last edited by netsol on 26 Dec 2009 22:29, edited 2 times in total.

Top
 Profile  
netsol
 Post subject: Re: ทำ Wifi hotspot ด้วย Ubuntu 8.04 #2 Chillispot
PostPosted: 29 Oct 2009 19:07 
Offline
สมาชิก
User avatar

Joined: 14 Jan 2009 01:39
Posts: 141
Location: Bangkok
Thanks Give: 842
Thanks Recieve:
633 times in 274 posts
ชื่อเล่น: อ๊อด
จังหวัด: กรุงเทพมหานคร
Thanks 
ติดตั้ง Firewall ให้กับระบบของเรา

ในกรณีที่เราต้องการแยก RADIUS server ออกจากระบบ เช่นการทำแยก เราไม่ต้องมี Lan จำนวน 2 การ์ด และไม่จำเป็นต้องใช้ Firewall ตัวนี้น่ะครับ เช่นการใช้เราเตอร์ Linksys WRT54GL ที่ลง Firmware dd-wrt แล้วเป็นต้น เพราะภาระของ Firewall และการ NAT รวมถึงฟังก์ชั่น Chillispot ถูกบรรจุไว้ใน Router แล้วครับ

ตัว Chillispot มีความสามารถนอกเหนือจาก dhcp server ในตัวแล้วก็ยังมี firewall script สำเร็จรูปแบบ Template แถมมาให้ฟรีด้วยครับ

sudo cp /usr/share/doc/chillispot/firewall.iptables /etc/init.d/chilli.iptables

ด้านบนก็คือการก้อปปี้ด้วยสิทธิ์ของ root นำไฟล์วอลสคริปซึ่งแถมมากับ chillispot นำมาใช้กับ ubuntu ได้น่ะครับ

sudo chmod a+x /etc/init.d/chilli.iptables

แล้วก็เปลี่ยนสิทธิของไฟล์ในระบบ unix ให้สามารถ run ได้ทุก ๆ User น่ะครับ

sudo ln -s /etc/init.d/chilli.iptables /etc/rcS.d/S41chilli.iptables

คำสั่งด้านบนคือการสร้าง link เจ้าไฟล์ firewall script โดย /etc/rcS.d/S41chilli.iptables จะอ้างอิงมาจากไฟล์ /etc/init.d/chilli.iptables น่ะครับ เวลาแก้ firewall script ให้มาแก้ที่ /etc/init.d/chilli.iptables น่ะครับ

เราได้กำหนดว่า eth0 เป็น Internet หรือ WAN แล้วเรากำหนด eth1 เป็น LAN น่ะครับ ดังนั้นใน script ที่ผมกล่าวให้แก้ไขให้ถูกต้องดังนี้

nano -w /etc/init.d/chilli.iptables

EXTIF=eth0 ### external interface ซึ่งคือฝั่ง Physical ที่ต่อกับอินเตอร์เน็ทอยู่แล้ว
INTIF=eth1 ### internal interface ซึ่งก็คือ LAN น่ะครับ

ถ้าตามด้านบนนี้ก็เรียบร้อย ส่วนใครชำนาญเรื่อง IPTABLES ซึ่งเป็น firewall บน Linux อยากแก้ไขอะไรก็ทำได้ตามอัธยาศัยครับ

เปิดการทำงาน firewall โดยเรียกไฟล์ script ตรง ๆ เลยครับ พิมพ์ดังนี้

sudo /etc/init.d/chilli.iptables

สำหรับ Chillispot คงจบแค่นี้ก่อนครับ มันจะสัมพันธ์กับเวปเซอร์เวอร์คือ apache2 และ radius server นั่นคือ freeradius 1.1.7 มีต่ออีก 3 หัวข้อครับ

ดูต่อไปที่ viewtopic.php?f=70&t=177337&p=1810050#p1810050 ซึ่งว่าต่อเรื่อง Radius Server : Freeradius 1.1.7 ครับ


Top
 Profile  
Display posts from previous:  Sort by  
Reply to topic  [ 5 posts ] 

All times are UTC + 7 hours


Who is online

Users browsing this forum: No registered users and 1 guest


Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum



Google
All Smart-Mobile.com

บทความ รีวิว หน้าจอส่วนหนึ่งส่วนใด กระทู้หรือโพสต่างๆ ของเวบเป็นลิขสิทธิ์ของผู้เขียน และเวบ Smart-Mobile.com หากต้องการนำไปเผยแพร่กรุณาติดต่อเจ้าของลิขสิทธิ์ก่อน
Notice:Nothing on this site is illegal. any applications or data obtained from this site should be considered useable for informational purposes only. any improper use of the information herein is the responsibility of the visitor and in no way can the operator of this site, nor the hosting company be held responsible... i always have, and always will, buy the applications that i use. supporting good developers is as important as discouraging the bad ones.
Copyright © 2003-2004 www.smart-mobile.com
Webmaster : วิโรจน์ เรืองแสงศิลป์


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group


Micro SIM เติมเงิน ออนไลน์ เติมเงิน ออนไลน์

PixThai