วันพุธที่ 23 พฤษภาคม พ.ศ. 2550
vmware
<< มารู้จักโปรแกรม Vmware Workstation กันดีกว่า พร้อมขั้นตอนการติดตั้งและใช้งาน >>เขียนโดย คุณ หลวงแขล็ก / Com-th.net
สำหรับท่านที่ชอบทดลองการลง OS เวอร์ชั่นต่างๆ ไม่ว่าจะเป็น MS-DOS, Windows 3.1, 95, 98, ME, 2000, XP, 2003, Linux, Netware, Solaris และอีกมากมายก่ายกองวันนี้ผมจะมาแนะนำโปรแกรมที่จะมาช่วยคุณๆท่านๆให้ทำงานได้สะดวกขึ้น ไม่ต้อง Format เพื่อจะลง OS ตัวใหม่ ไม่ต้องแบ่ง Parttion ให้ยุ่งยาก ไม่ต้องสร้าง Multiboot เราจะรวมทุกอย่างไว้ที่นี่ที่เดียว มารู้จักกับ Vmware Workstation กันเถอะ ที่ผมนำมาให้ดูในที่นี่เป็น version 5.0 โหลดได้จากที่นี่ครับ http://www.vmware.com/ มาเริ่มกันเลยดีกว่าครับเริ่มติดตั้งโปรแกรมกันก่อนดีกว่าครับ ดูรูปประกอบได้เลยครับทำตามรูปได้เลยนะครับ ผมอธิบายไม่ค่อยจะเก่ง ปกติเป็นคนพูดน้อย ถึง น้อยมากติดตั้งไม่ยากครับ เหมือนโปรแกรมทั่วๆไปนั่นแหล่ะครับขั้นตอนติดตั้งก็เสร็จไปเรียบร้อยแล้ว ต่อไปเราจะจะมาเริ่มใช้งานกันเปิดโปรแกรมมาครั้งแรกเราก็จะเจอกับหน้าตาแบบนี้ครับเห็นหน้าตากันแล้วนะครับ ต่อไปเราจะมาเริ่มติดตั้ง OS กันครับ ในตัวอย่างนี้ผมลง windows 2000 server ครับ ให้คลิกที่ New Virtual Machine หรือ ไปที่ File แล้ว New แล้วเลือก Virtual Machine ครับ ทำขั้นตอนตามรูปได้เลยครับถึงตรงนี้จะเห็นได้ว่ามีระบบปฏิบัติการให้เราเลือกเยอะแยะเลย แบ่งเป็นประเภทไว้ให้เสร็จเรียบร้อยให้เราเลือกให้ตรงกับ OS ที่เราต้องการจะติดตั้งลงไป เมื่อเลือกแล้วไปขั้นตอนต่อไปกันเลย จะให้เราเลือกว่าจะเก็บ ระบบปฏิบัติที่เราติดตั้งไว้ที่ใดจะให้เราเลือกใช้รูปแบบของ Network ให้ใช้ค่า default ได้เลย คือเลือกอันแรก Use bridged networkingจะให้กำหนดว่าจะให้ OS ของเรามีพื้นที่ฮาร์ดดิส ขนาดเท่าไหร่ ค่า default จะอยู่ที่ 4.0 GB แค่นี้ก็เพียงพอแล้วเมื่อกำหนดค่าต่างๆของระบบเพื่อเตรียมความพร้อมที่จะติดตั้ง OS เรียบร้อยแล้ว ก็จะได้หน้าตาแบบนี้OS ที่ติดตั้งลงไป เปรียบได้เป็นคอมพิวเตอร์เครื่องหนึ่งเลยครับ ต่อไปก็มาตั้งค่ากันนิดหน่อย เราสามารถปรับตั้งค่าว่าจะให้เครื่องคอมพิวเตอร์ของเราใช้แรมสักเท่าไหร่ดี ดูรูปประกอบครับอ้อ ลืมบอกไปว่า สำหรับท่านที่จะใช้โปรแกรมตัวนี้ต้องมีแรมเยอะๆหน่อยครับ แรมยิ่งเยอะยิ่งดี สามารถรัน OS ได้พร้อมๆกันหลายๆตัว (ของผม 1 GB เปิดพร้อมกันได้ 3 - 4 OS) รูปนี้จะให้ดูการปรับความจุของแรมต่อไปก็เป็นการปรับเกี่ยวกับ CD-ROM ในที่นี้ ถ้าเราติดตั้ง OS โดยติดตั้งจากแผ่นก็ให้ใช้ค่า default ได้เลย โดยจะอยู่ที่ Auto detect ตามรูป แต่ถ้าใครมีเก็บเป็นไฟล์ .iso ไว้ ก็สามารถติดตั้งจากไฟล์ได้เช่นกันครับ โดยเลือกไปที่ Use ISO image แล้วก็เลือกไฟล์ที่ท่านเก็บไว้ ตามรูปครับเมื่อทุกอย่างพร้อมแล้ว ก็เริ่มสตาร์ทเครื่องกันเลยครับ คลิกที่ปุ่ม Power on (ปุ่มสีเขียว) หรือ Start this virtual machine ไปกันเลยครับเหมือนกันกับเวลาที่เราเปิดเครื่องคอมทั่วๆไปครับ แต่ในที่นี้จะเป็นโลโก้ของ Vmware แทน การปรับค่าใน Bios ก็ให้กด F2 ครับนี่เป็นภาพบางตอนของการติดตั้ง OS ในที่นี้ผมติดตั้ง Windows 2000 serverขอข้ามขั้นตอนไปบ้างนะครับ สำหรับการติดตั้ง OS เพราะทุกคนทำเป็นกันอยู่แล้วครั้งแรกที่เราติดตั้ง OS เสร็จ หน้าตา windows จะดูไม่สวยงาม สีจะแตก นั่นเพราะว่ายังไม่ได้ลง Driver เหมือนในรูปครับ ส่วนรูปด้านล่างจะเป็นรูปที่เราได้ติดตั้ง Vmware tools ลงไปเรียบร้อยแล้วครับคราวนี้มาดูขั้นตอนการติดตั้ง Vmware tools กันครับ ง่ายๆ ในหน้าต่างโปรแกรม Vmware workstation ให้รัน OS ที่ต้องการขึ้นมาก่อน เสร็จแล้วไปที่ VM บนเมนูบาร์ ของโปรแกรม Vmwareให้เลือกไปที่ Install Vmware Tools (ดังรูป) แล้วก็ทำตามขั้นตอนไปจนเสร็จลองเอาไปใช้งานกันดูนะครับ มีข้อสงสัยตรงไหนก็ PM หรือเมล์มาได้เลยครับ baowxp@hotmail.comอ้อ!!! ลืมอีกแล้ว สังเกตเห็นได้ว่า ก่อนติดตั้ง Vmware tools เวลาที่เราคลิกเมาส์ลงไปใน Vmware แล้ว ไม่สามารถเอาเมาส์มาที่ windows ปกติได้ให้กด Ctrl+Alt ครับ สังเกตว่าเขาจะมีบอกไว้ที่มุมด้านล่าง-ซ้ายของโปรแกรมแล้วครับ แต่ถ้าลง Vmware tools แล้วก็สามารถลากเมาส์ผ่านมายัง windows ปกติได้เลยโดยอัตโนมัติ แต่ในหน้า Bios หรือ ตอนติดตั้ง OS หรือก่อนติดตั้ง vmware tools ก็ยังจำเป็นจะต้องใช้ Ctrl+Alt ครับ ขออภัยลืมบอกไว้ตอนต้น ขอให้สนุกนะครับ สำหรับผมแล้ว โปรแกรมนี้ช่วยผมได้เยอะมาก เราจะปู้ยี่ปู้ยำกับ OS ที่อยู่ในนั้นยังไงก็ได้ ผิดพลาดก็ลบทิ้งแล้วลงใหม่ได้เรื่อยๆ รูปสุดท้ายนี้เป็น OS ต่างๆที่ผมลงไว้ครับ
4 สิงหาคม 2548
Contact Us JustUsers.net Team © 2004-2005
ติดตั้ง Chillispot server สำหรับ WIFI แบบ web login
ติดตั้ง Chillispot server สำหรับ WIFI แบบ web login
เนื่องจาก chillispot จะเป็น dhcp server เอง ดังนี้นจะต้องเช็คว่าในเครื่องไม่มี dhcp server รันอยู่ ถ้ามีอยู่ก็หยุดดังนี้service dhcpd stop
แก้ไขแฟ้ม /etc/sysctl.conf ให้มีค่าดังตัวอย่างนี้บรรทัดที่ 7 เดิม net.ipv4.ip_forward = 0แก้ไขเป็น net.ipv4.ip_forward = 1
รันคำสั่ง echo "1" > /proc/sys/net/ipv4/ip_forwardเพื่อให้มีผลทันที ให้ forward packet ทำตัวเป็นเราเตอร์ได้
แก้ไขแฟ้ม /etc/sysconfig/network-scripts/ifcfg-eth1 ให้มีค่าดังตัวอย่างนี้DEVICE=eth1BOOTPROTO=noneONBOOT=yesTYPE=EthernetDHCP_HOSTNAME=kthakon.radius.com
แก้ไขแฟ้ม /etc/raddb/clients.conf ของโปรแกรม freeradius ให้มีค่าดังตัวอย่างนี้client 10.114.0.0/24 {...บรรทัดที่ 35 เดิม secret = testing123แก้ไขเป็น secret = testing...}
รีสตาร์ท radiusd ใหม่ ด้วยคำสั่งservice radiusd restar
ดาวน์โหลดโปรแกรม chillispot และติดตั้งผ่าน browser ด้วยการคลิกที่ลิงค์นี้ftp://ftp.psu.ac.th/pub/chillispot/chillispot-1.1.0.i386.rpmหรือดาวน์โหลดด้วยคำสั่ง wget ดังนี้wget ftp://ftp.psu.ac.th/pub/chillispot/chillispot-1.1.0.i386.rpmแล้วติดตั้ง package rpm ด้วยคำสั่งดังนี้rpm -Uvh chillispot-1.1.0.i386.rpm
แฟ้มที่เกี่ยวข้อง
/etc/chilli.conf
/var/www/cgi-bin/hotspotlogin.cgi
/var/www/html/welcome.html
/etc/firewall.iptables
แก้ไขแฟ้ม /etc/chilli.conf ให้มีค่าดังตัวอย่างนี้[หัวข้อ TUN parameters]บรรทัดที่ 38 เดิม net 192.168.182.0/24แก้ไขเป็น net 10.114.0.0/24[หัวข้อ Radius parameters]บรรทัดที่ 113 เดิม radiusserver1 rad01.chillispot.orgแก้ไขเป็น radiusserver1 10.114.0.2บรรทัดที่ 120 เดิม radiusserver2 rad02.chillispot.orgแก้ไขเป็น radiusserver2 10.114.0.2บรรทัดที่ 139 เดิม #radiussecret testing123แก้ไขเป็น radiussecret testing(ตรงกับ radius secret ในแฟ้ม /etc/raddb/clients.conf ของ freeradius)[หัวข้อ Universal access method (UAM) parameters]บรรทัดที่ 237 เดิม #uamserver https://radius.chillispot.org/hotspotloginแก้ไขเป็น uamserver https://10.114.0.1/cgi-bin/hotspotlogin.cgiบรรทัดที่ 244 เดิม #uamhomepage http://192.168.182.1/welcome.htmlแก้ไขเป็น uamhomepage http://10.114.0.1/welcome.htmlบรรทัดที่ 248 เดิม #uamsecret ht2eb8ej6s4et3rg1ulpแก้ไขโดยให้เอาเครื่องหมาย# ออก เป็น uamsecret secretshilli(หรือแก้ไขเป็นรหัสใหม่ แต่ต้องเหมือนกับในแฟ้ม hotspotlogin.cgi ในข้อถัดไป)บรรทัดที่ 253 เดิม #uamlisten 192.168.182.1แก้ไขเป็น uamlisten 10.114.0.1
ให้คัดลอกแฟ้ม firewall.iptables ด้วยคำสั่งcp /usr/share/doc/chillispot-1.1.0/firewall.iptables /etc
ให้คัดลอกแฟ้ม hotspotlogin.cgi ด้วยคำสั่งcp /usr/share/doc/chillispot-1.1.0/hotspotlogin.cgi /var/www/cgi-bin/
แก้ไขแฟ้ม /var/www/cgi-bin/hotspotlogin.cgi ให้มีค่าดังตัวอย่างนี้บรรทัดที่ 27 เดิม #$uamsecret = "ht2eb8ej6s4et3rg1ulp";แก้ไขโดยให้เอาเครื่องหมาย# ออก เป็น $uamsecret = "secretchilli";บรรทัดที่ 31 เดิม #$userpassword=1;แก้ไขโดยให้เอาเครื่องหมาย# ออก เป็น $userpassword=1;
สร้างแฟ้ม /var/www/html/welcome.html ให้มีค่าดังตัวอย่างนีsave เป็น code html นะครับอย่าลืม !
TESTING ONLY
Welcome to Our Hotspot, Wireless Network.
You are connected to an authentication and restricted network access point.
Click here to login
Enjoy.ถ้าต้องการรูป chillispot.png ให้ดาวน์โหลดได้จาก ที่นี่ แล้วคัดลอกแฟ้มนี้ไปไว้ใน /var/www/html ด้วยคำสั่งดังนี้wget http://mamboeasy.psu.ac.th/~wiboon.w/images/stories/chillispot/chillispot.pngcp chillispot.png /var/www/html
ก่อนที่จะสตาร์ท chillispot ให้ไปทำการคอนฟิกแอคเซสพอยน์/ไวร์เลสเราเตอร์ ให้พร้อมใช้งาน โดยทำตามเอกสารของแต่ละรุ่น ความต้องการคือ ให้ทำ factory defaults แล้วกำหนดให้มันจะต้องรับ dhcp ip จาก chillispot และตัวมันเองจะต้องไม่ทำหน้าที่แจก ip รวมทั้งแก้ไข ESSID ตั้งชื่อใหม่ด้วย ตามเอกสารของพี่ wiboon
สั่งให้ firewall.iptables ทำงานด้วยคำสั่งว่าsh /etc/firewall.iptables
สั่งให้ chillispot ทำงานด้วยคำสั่งว่าservice chilli startStarting chilli: [ OK ]
ดุ IP [root@kthakon src]# ifconfigeth0 Link encap:Ethernet HWaddr 00:0D:61:E1:FB:28inet addr:10.114.0.2 Bcast:10.114.255.255 Mask:255.255.0.0inet6 addr: fe80::20d:61ff:fee1:fb28/64 Scope:LinkUP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1RX packets:12804 errors:0 dropped:0 overruns:0 frame:0TX packets:3548 errors:0 dropped:0 overruns:0 carrier:0collisions:0 txqueuelen:1000RX bytes:4090246 (3.9 MiB) TX bytes:459774 (448.9 KiB)Interrupt:11 Base address:0xe000eth1 Link encap:Ethernet HWaddr 00:04:E2:D3:23:01inet6 addr: fe80::204:e2ff:fed3:2301/64 Scope:LinkUP BROADCAST MTU:1500 Metric:1RX packets:0 errors:0 dropped:0 overruns:0 frame:0TX packets:0 errors:5 dropped:0 overruns:0 carrier:10collisions:0 txqueuelen:1000RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)Interrupt:10 Base address:0x4000lo Link encap:Local Loopbackinet addr:127.0.0.1 Mask:255.0.0.0inet6 addr: ::1/128 Scope:HostUP LOOPBACK RUNNING MTU:16436 Metric:1RX packets:3223 errors:0 dropped:0 overruns:0 frame:0TX packets:3223 errors:0 dropped:0 overruns:0 carrier:0collisions:0 txqueuelen:0RX bytes:3202251 (3.0 MiB) TX bytes:3202251 (3.0 MiB)tun0 Link encap:UNSPEC HWaddr E9-FE-3B-13-18-00-F4-3F-00-00-00-00-00-00-00-00inet addr:10.114.0.1 P-t-P:10.114.0.1 Mask:255.255.255.0UP POINTOPOINT RUNNING MTU:1500 Metric:1RX packets:0 errors:0 dropped:0 overruns:0 frame:0TX packets:3 errors:0 dropped:0 overruns:0 carrier:0collisions:0 txqueuelen:10RX bytes:0 (0.0 b) TX bytes:517 (517.0 b)[root@kthakon src]#
เ นื่องจาก chillispot ต้องใช้พอร์ท 1812 และ 1813 ในการหน้าที่เป็น proxy radius จึงต้องแก้ให้ radius server คอยรับ request ที่พอร์ทหมายเลข 1645 และ 1646 แทนให้แก้ไขแฟ้ม /etc/raddb/radiusd.confบรรทัดที่ 207 แก้ port = 0 เป็น port = 1645
เมื่อแก้ไขเสร็จแล้วให้รีสตาร์ทใหม่ด้วยคำสั่งservice radiusd restartลองทดสอบด้วยคำสั่งตัวอย่างradtest user1 wunca16 10.0.1.1:1645 0 mytestkeyจะมีการแจ้งว่า Access-Accept ถูกต้องตามต้องการ
แก้ไขแฟ้ม /etc/chilli.conf ให้มีค่าดังตัวอย่างนี้[หัวข้อ Radius parameters]บรรทัดที่ 127 เดิม #radiusauthport 1812แก้ไขเป็น radiusauthport 1645บรรทัดที่ 134 เดิม #radiusacctport 1813แก้ไขเป็น radiusacctport 1646บรรทัดที่ 139 ตรวจสอบว่าเป็น radiussecret mytestkey(ตรงกับ radius secret ในแฟ้ม /etc/raddb/clients.conf ของ freeradius)[หัวข้อ Radius proxy parameters]บรรทัดที่ 174 เดิม #proxylisten 10.0.0.1แก้ไขเป็น proxylisten 10.114.0.1บรรทัดที่ 180 เดิม #proxyport 1645แก้ไขเป็น proxyport 1812บรรทัดที่ 185 เดิม #proxyclient 10.114.0.0/24แก้ไขเป็น proxyclient 10.0.1.0/24บรรทัดที่ 191 เดิม #proxysecret testing123แก้ไขเป็น proxysecret testing
แก้ไขแฟ้ม /etc/firewall.iptablesไปที่บรรทัดที่ 33 จะมีบรรทัดเดิมคือ$IPTABLES -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPTเพิ่มใต้บรรทัดที่ 33 ดังตัวอย่างนี้$IPTABLES -A INPUT -i tun0 -p udp -m udp --dport 1812 -j ACCEPTและสั่งรันไฟร์วอลล์ใหม่sh /etc/firewall.iptables
สั่งให้ chillispot อ่านแฟ้มคอนฟิกใหม่ด้วยคำสั่งว่าservice chilli reload
แก้ไข file /etc/firewall.iptables ดังนี้้
#!/bin/sh## Firewall script for ChilliSpot# A Wireless LAN Access Point Controller## Uses $EXTIF (eth0) as the external interface (Internet or intranet) and# $INTIF (eth1) as the internal interface (access points).### SUMMARY# * All connections originating from chilli are allowed.# * Only ssh is allowed in on external interface.# * Nothing is allowed in on internal interface.# * Forwarding is allowed to and from the external interface, but disallowed# to and from the internal interface.# * NAT is enabled on the external interface.IPTABLES="/sbin/iptables"EXTIF="ppp0"INTIF="eth1"#Flush all rules$IPTABLES -F$IPTABLES -F -t nat$IPTABLES -F -t mangle#Set default behaviour$IPTABLES -P INPUT DROP$IPTABLES -P FORWARD ACCEPT$IPTABLES -P OUTPUT ACCEPT#Allow related and established on all interfaces (input)$IPTABLES -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT#Allow releated, established and ssh on $EXTIF. Reject everything else.$IPTABLES -A INPUT -i $EXTIF -p tcp -m tcp --dport 22 --syn -j ACCEPT$IPTABLES -A INPUT -i $EXTIF -j REJECT#Allow related and established from $INTIF. Drop everything else.$IPTABLES -A INPUT -i $INTIF -j DROP#Allow http and https on other interfaces (input).#This is only needed if authentication server is on same server as chilli$IPTABLES -A INPUT -p tcp -m tcp --dport 80 --syn -j ACCEPT$IPTABLES -A INPUT -p tcp -m tcp --dport 443 --syn -j ACCEPT$IPTABLES -A INPUT -i tun0 -p udp -m udp --dport 1812 -j ACCEPT#Allow 3990 on other interfaces (input).$IPTABLES -A INPUT -p tcp -m tcp --dport 3990 --syn -j ACCEPT#Allow ICMP echo on other interfaces (input).$IPTABLES -A INPUT -p icmp --icmp-type echo-request -j ACCEPT#Allow everything on loopback interface.$IPTABLES -A INPUT -i lo -j ACCEPT# Drop everything to and from $INTIF (forward)# This means that access points can only be managed from ChilliSpot$IPTABLES -A FORWARD -i $INTIF -j DROP$IPTABLES -A FORWARD -o $INTIF -j DROP#Enable NAT on output device$IPTABLES -t nat -A POSTROUTING -o $EXTIF -j MASQUERADE$IPTABLES -t nat -A PREROUTING -s 10.114.0.0/24 -p udp --dport 53 -j DNAT --to 10.114.0.1********* THE END *************************
เนื่องจาก chillispot จะเป็น dhcp server เอง ดังนี้นจะต้องเช็คว่าในเครื่องไม่มี dhcp server รันอยู่ ถ้ามีอยู่ก็หยุดดังนี้service dhcpd stop
แก้ไขแฟ้ม /etc/sysctl.conf ให้มีค่าดังตัวอย่างนี้บรรทัดที่ 7 เดิม net.ipv4.ip_forward = 0แก้ไขเป็น net.ipv4.ip_forward = 1
รันคำสั่ง echo "1" > /proc/sys/net/ipv4/ip_forwardเพื่อให้มีผลทันที ให้ forward packet ทำตัวเป็นเราเตอร์ได้
แก้ไขแฟ้ม /etc/sysconfig/network-scripts/ifcfg-eth1 ให้มีค่าดังตัวอย่างนี้DEVICE=eth1BOOTPROTO=noneONBOOT=yesTYPE=EthernetDHCP_HOSTNAME=kthakon.radius.com
แก้ไขแฟ้ม /etc/raddb/clients.conf ของโปรแกรม freeradius ให้มีค่าดังตัวอย่างนี้client 10.114.0.0/24 {...บรรทัดที่ 35 เดิม secret = testing123แก้ไขเป็น secret = testing...}
รีสตาร์ท radiusd ใหม่ ด้วยคำสั่งservice radiusd restar
ดาวน์โหลดโปรแกรม chillispot และติดตั้งผ่าน browser ด้วยการคลิกที่ลิงค์นี้ftp://ftp.psu.ac.th/pub/chillispot/chillispot-1.1.0.i386.rpmหรือดาวน์โหลดด้วยคำสั่ง wget ดังนี้wget ftp://ftp.psu.ac.th/pub/chillispot/chillispot-1.1.0.i386.rpmแล้วติดตั้ง package rpm ด้วยคำสั่งดังนี้rpm -Uvh chillispot-1.1.0.i386.rpm
แฟ้มที่เกี่ยวข้อง
/etc/chilli.conf
/var/www/cgi-bin/hotspotlogin.cgi
/var/www/html/welcome.html
/etc/firewall.iptables
แก้ไขแฟ้ม /etc/chilli.conf ให้มีค่าดังตัวอย่างนี้[หัวข้อ TUN parameters]บรรทัดที่ 38 เดิม net 192.168.182.0/24แก้ไขเป็น net 10.114.0.0/24[หัวข้อ Radius parameters]บรรทัดที่ 113 เดิม radiusserver1 rad01.chillispot.orgแก้ไขเป็น radiusserver1 10.114.0.2บรรทัดที่ 120 เดิม radiusserver2 rad02.chillispot.orgแก้ไขเป็น radiusserver2 10.114.0.2บรรทัดที่ 139 เดิม #radiussecret testing123แก้ไขเป็น radiussecret testing(ตรงกับ radius secret ในแฟ้ม /etc/raddb/clients.conf ของ freeradius)[หัวข้อ Universal access method (UAM) parameters]บรรทัดที่ 237 เดิม #uamserver https://radius.chillispot.org/hotspotloginแก้ไขเป็น uamserver https://10.114.0.1/cgi-bin/hotspotlogin.cgiบรรทัดที่ 244 เดิม #uamhomepage http://192.168.182.1/welcome.htmlแก้ไขเป็น uamhomepage http://10.114.0.1/welcome.htmlบรรทัดที่ 248 เดิม #uamsecret ht2eb8ej6s4et3rg1ulpแก้ไขโดยให้เอาเครื่องหมาย# ออก เป็น uamsecret secretshilli(หรือแก้ไขเป็นรหัสใหม่ แต่ต้องเหมือนกับในแฟ้ม hotspotlogin.cgi ในข้อถัดไป)บรรทัดที่ 253 เดิม #uamlisten 192.168.182.1แก้ไขเป็น uamlisten 10.114.0.1
ให้คัดลอกแฟ้ม firewall.iptables ด้วยคำสั่งcp /usr/share/doc/chillispot-1.1.0/firewall.iptables /etc
ให้คัดลอกแฟ้ม hotspotlogin.cgi ด้วยคำสั่งcp /usr/share/doc/chillispot-1.1.0/hotspotlogin.cgi /var/www/cgi-bin/
แก้ไขแฟ้ม /var/www/cgi-bin/hotspotlogin.cgi ให้มีค่าดังตัวอย่างนี้บรรทัดที่ 27 เดิม #$uamsecret = "ht2eb8ej6s4et3rg1ulp";แก้ไขโดยให้เอาเครื่องหมาย# ออก เป็น $uamsecret = "secretchilli";บรรทัดที่ 31 เดิม #$userpassword=1;แก้ไขโดยให้เอาเครื่องหมาย# ออก เป็น $userpassword=1;
สร้างแฟ้ม /var/www/html/welcome.html ให้มีค่าดังตัวอย่างนีsave เป็น code html นะครับอย่าลืม !
TESTING ONLY
Welcome to Our Hotspot, Wireless Network.
You are connected to an authentication and restricted network access point.
Click here to login
Enjoy.ถ้าต้องการรูป chillispot.png ให้ดาวน์โหลดได้จาก ที่นี่ แล้วคัดลอกแฟ้มนี้ไปไว้ใน /var/www/html ด้วยคำสั่งดังนี้wget http://mamboeasy.psu.ac.th/~wiboon.w/images/stories/chillispot/chillispot.pngcp chillispot.png /var/www/html
ก่อนที่จะสตาร์ท chillispot ให้ไปทำการคอนฟิกแอคเซสพอยน์/ไวร์เลสเราเตอร์ ให้พร้อมใช้งาน โดยทำตามเอกสารของแต่ละรุ่น ความต้องการคือ ให้ทำ factory defaults แล้วกำหนดให้มันจะต้องรับ dhcp ip จาก chillispot และตัวมันเองจะต้องไม่ทำหน้าที่แจก ip รวมทั้งแก้ไข ESSID ตั้งชื่อใหม่ด้วย ตามเอกสารของพี่ wiboon
สั่งให้ firewall.iptables ทำงานด้วยคำสั่งว่าsh /etc/firewall.iptables
สั่งให้ chillispot ทำงานด้วยคำสั่งว่าservice chilli startStarting chilli: [ OK ]
ดุ IP [root@kthakon src]# ifconfigeth0 Link encap:Ethernet HWaddr 00:0D:61:E1:FB:28inet addr:10.114.0.2 Bcast:10.114.255.255 Mask:255.255.0.0inet6 addr: fe80::20d:61ff:fee1:fb28/64 Scope:LinkUP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1RX packets:12804 errors:0 dropped:0 overruns:0 frame:0TX packets:3548 errors:0 dropped:0 overruns:0 carrier:0collisions:0 txqueuelen:1000RX bytes:4090246 (3.9 MiB) TX bytes:459774 (448.9 KiB)Interrupt:11 Base address:0xe000eth1 Link encap:Ethernet HWaddr 00:04:E2:D3:23:01inet6 addr: fe80::204:e2ff:fed3:2301/64 Scope:LinkUP BROADCAST MTU:1500 Metric:1RX packets:0 errors:0 dropped:0 overruns:0 frame:0TX packets:0 errors:5 dropped:0 overruns:0 carrier:10collisions:0 txqueuelen:1000RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)Interrupt:10 Base address:0x4000lo Link encap:Local Loopbackinet addr:127.0.0.1 Mask:255.0.0.0inet6 addr: ::1/128 Scope:HostUP LOOPBACK RUNNING MTU:16436 Metric:1RX packets:3223 errors:0 dropped:0 overruns:0 frame:0TX packets:3223 errors:0 dropped:0 overruns:0 carrier:0collisions:0 txqueuelen:0RX bytes:3202251 (3.0 MiB) TX bytes:3202251 (3.0 MiB)tun0 Link encap:UNSPEC HWaddr E9-FE-3B-13-18-00-F4-3F-00-00-00-00-00-00-00-00inet addr:10.114.0.1 P-t-P:10.114.0.1 Mask:255.255.255.0UP POINTOPOINT RUNNING MTU:1500 Metric:1RX packets:0 errors:0 dropped:0 overruns:0 frame:0TX packets:3 errors:0 dropped:0 overruns:0 carrier:0collisions:0 txqueuelen:10RX bytes:0 (0.0 b) TX bytes:517 (517.0 b)[root@kthakon src]#
เ นื่องจาก chillispot ต้องใช้พอร์ท 1812 และ 1813 ในการหน้าที่เป็น proxy radius จึงต้องแก้ให้ radius server คอยรับ request ที่พอร์ทหมายเลข 1645 และ 1646 แทนให้แก้ไขแฟ้ม /etc/raddb/radiusd.confบรรทัดที่ 207 แก้ port = 0 เป็น port = 1645
เมื่อแก้ไขเสร็จแล้วให้รีสตาร์ทใหม่ด้วยคำสั่งservice radiusd restartลองทดสอบด้วยคำสั่งตัวอย่างradtest user1 wunca16 10.0.1.1:1645 0 mytestkeyจะมีการแจ้งว่า Access-Accept ถูกต้องตามต้องการ
แก้ไขแฟ้ม /etc/chilli.conf ให้มีค่าดังตัวอย่างนี้[หัวข้อ Radius parameters]บรรทัดที่ 127 เดิม #radiusauthport 1812แก้ไขเป็น radiusauthport 1645บรรทัดที่ 134 เดิม #radiusacctport 1813แก้ไขเป็น radiusacctport 1646บรรทัดที่ 139 ตรวจสอบว่าเป็น radiussecret mytestkey(ตรงกับ radius secret ในแฟ้ม /etc/raddb/clients.conf ของ freeradius)[หัวข้อ Radius proxy parameters]บรรทัดที่ 174 เดิม #proxylisten 10.0.0.1แก้ไขเป็น proxylisten 10.114.0.1บรรทัดที่ 180 เดิม #proxyport 1645แก้ไขเป็น proxyport 1812บรรทัดที่ 185 เดิม #proxyclient 10.114.0.0/24แก้ไขเป็น proxyclient 10.0.1.0/24บรรทัดที่ 191 เดิม #proxysecret testing123แก้ไขเป็น proxysecret testing
แก้ไขแฟ้ม /etc/firewall.iptablesไปที่บรรทัดที่ 33 จะมีบรรทัดเดิมคือ$IPTABLES -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPTเพิ่มใต้บรรทัดที่ 33 ดังตัวอย่างนี้$IPTABLES -A INPUT -i tun0 -p udp -m udp --dport 1812 -j ACCEPTและสั่งรันไฟร์วอลล์ใหม่sh /etc/firewall.iptables
สั่งให้ chillispot อ่านแฟ้มคอนฟิกใหม่ด้วยคำสั่งว่าservice chilli reload
แก้ไข file /etc/firewall.iptables ดังนี้้
#!/bin/sh## Firewall script for ChilliSpot# A Wireless LAN Access Point Controller## Uses $EXTIF (eth0) as the external interface (Internet or intranet) and# $INTIF (eth1) as the internal interface (access points).### SUMMARY# * All connections originating from chilli are allowed.# * Only ssh is allowed in on external interface.# * Nothing is allowed in on internal interface.# * Forwarding is allowed to and from the external interface, but disallowed# to and from the internal interface.# * NAT is enabled on the external interface.IPTABLES="/sbin/iptables"EXTIF="ppp0"INTIF="eth1"#Flush all rules$IPTABLES -F$IPTABLES -F -t nat$IPTABLES -F -t mangle#Set default behaviour$IPTABLES -P INPUT DROP$IPTABLES -P FORWARD ACCEPT$IPTABLES -P OUTPUT ACCEPT#Allow related and established on all interfaces (input)$IPTABLES -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT#Allow releated, established and ssh on $EXTIF. Reject everything else.$IPTABLES -A INPUT -i $EXTIF -p tcp -m tcp --dport 22 --syn -j ACCEPT$IPTABLES -A INPUT -i $EXTIF -j REJECT#Allow related and established from $INTIF. Drop everything else.$IPTABLES -A INPUT -i $INTIF -j DROP#Allow http and https on other interfaces (input).#This is only needed if authentication server is on same server as chilli$IPTABLES -A INPUT -p tcp -m tcp --dport 80 --syn -j ACCEPT$IPTABLES -A INPUT -p tcp -m tcp --dport 443 --syn -j ACCEPT$IPTABLES -A INPUT -i tun0 -p udp -m udp --dport 1812 -j ACCEPT#Allow 3990 on other interfaces (input).$IPTABLES -A INPUT -p tcp -m tcp --dport 3990 --syn -j ACCEPT#Allow ICMP echo on other interfaces (input).$IPTABLES -A INPUT -p icmp --icmp-type echo-request -j ACCEPT#Allow everything on loopback interface.$IPTABLES -A INPUT -i lo -j ACCEPT# Drop everything to and from $INTIF (forward)# This means that access points can only be managed from ChilliSpot$IPTABLES -A FORWARD -i $INTIF -j DROP$IPTABLES -A FORWARD -o $INTIF -j DROP#Enable NAT on output device$IPTABLES -t nat -A POSTROUTING -o $EXTIF -j MASQUERADE$IPTABLES -t nat -A PREROUTING -s 10.114.0.0/24 -p udp --dport 53 -j DNAT --to 10.114.0.1********* THE END *************************
สมัครสมาชิก:
บทความ (Atom)