ตัวอย่างบทที่3โปรแกรม filter บน linux

2,311 views

Published on

ตัวอย่างบทที่3โปรแกรม filter บน linux

Published in: Education
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
2,311
On SlideShare
0
From Embeds
0
Number of Embeds
18
Actions
Shares
0
Downloads
0
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

ตัวอย่างบทที่3โปรแกรม filter บน linux

  1. 1. บทที่ 3 ทฤษฎีและอัลกอริทม ึ ในบทต่ อ ไปนี้ จะกล่ า วถึ ง ทฤษฎี แ ละอัล กอริ ทึ ม ที่ จ า เป็ นต้อ งใช้ใ นงานวิ จ ัย ตามลํา ดับ ํขั้นตอนการวิจย ดังนี้ ั3.1 อัลกอริทมสํ าหรับการกรองเว็บไซต์ ไม่ เหมาะสม ึ การจัดแบ่งประเภทของกลุ่มเว็บไซต์ประกอบด้วยกลไกในการจัดแบ่งโดยใช้ขอความกับ ้กลไกในการจัดแบ่งโดยใช้รูปภาพ ในงานวิจยนี้ จะใช้เฉพาะกลไกในการจัดแบ่งโดยใช้ขอความ ั ้เนื่ อ งจากเป็ นวิ ธี ที่ง่ า ยไม่ ซับซ้อน จากการค้น คว้า พบว่ามี ผูไ ด้คิ ด ค้น กลไกในการจัด แบ่ ง ้ประเภทของกลุ่มเว็บไซต์โดยการใช้ขอความ (Tex Classification) ด้วยกันหลายราย ดังมี ้รายละเอียดดังนี้ 3.1.1 Naïve Bayes เป็ นวิธีท่ีง่าย มีประสิ ทธิ ภาพ จึงมีการใช้กนอย่างแพร่ หลาย โดยวิธีน้ ีจะใช้อตรา ั ัความถี่ของความสัมพันธ์ระหว่างคําในข้อความของเว็บไซต์กบกลุ่มคําตัวอย่าง เพื่อแบ่งประเภท ัของเว็บไซต์ โดยใช้ค่าความแตกต่างของความน่าจะเป็ นมาเป็ นเครื่ องแบ่งประเภท (Yirong andJing 2005) 3.1.2 K-Nearest Neighbor เป็ นวิธีที่ใช้การเลือกกลุ่มเว็บไซต์ที่มีความคล้ายกันเพื่อเป็ นกลุ่มตัวอย่างในการจัดแบ่งประเภทกลุ่มเว็บไซต์ ถ้าเว็บไซต์ที่ตองการตรวจสอบมีความเหมือนกันกลุ่มเว็บไซต์ตวอย่าง ้ ัโดยใช้ vector ของกลุ่มคําในเว็บไซต์เป็ นตัวแทนในการเปรี ยบเทียบ (David and Marc 2005)
  2. 2. 10 3.1.3 Decision Tree เป็ นวิธีที่ใช้ตนไม้ (tree) เป็ นเครื่ องมือในการจัดการแบ่งประเภทของเว็บไซต์โดย ้เริ่ มต้นทําการทดสอบความสัมพันธ์ที่เกี่ยวข้องกันของกลุ่มข้อมูลตัวอย่าง เพื่อตัดสิ นใจในการท่องไปในกิ่ งของต้นไม้แต่ละด้าน (node) จนกว่าจะถึงใบของต้นไม้ (leaf) จึงจะได้ประเภทของเว็บไซต์ (Rajeev and Kyuseok 2005) 3.1.4 Support Vector Machines ใช้ก ารตัดสิ นใจโดยใช้ลกษณะภายนอกของเว็บไซต์ โดยแบ่งเป้ าหมายหลัก ของ ัเว็บไซต์ออกเป็ นกลุ่ม ๆ และได้ถูกประยุกต์มาใช้ในการจัดแบ่งประเภทของเว็บไซต์โดยใช้การเปรี ยบเทียบกับ vectors ซึ่ งเป็ นตัวแทนของเว็บไซต์กบกลุ่มของเว็บไซต์ตวอย่าง เพื่อแบ่งแยก ั ัความแตกต่างกันของเว็บไซต์ ว่าอยูในกลุ่มของเว็บไซต์ประเภทใด ่ 3.1.5 Classification of hypertext data ใช้ชุดคําสั่งของ hyperlink, content of linked และ meta data ที่มีอยูในเว็บไซต์ ่มาใช้ในการจัดการแบ่งประเภทของเว็บไซต์ ซึ่ งให้ความถูกต้องและแม่นยําในการจัดแบ่งประเภทของเว็บไซต์(Rayid, sean and Yiming 2006) 3.1.6 Text Classification for hypertext filtering เป็ นการนํา artificial neural network มาใช้ในการกรองหน้าเว็บไซต์ที่มีภาพโป๊ เปลือยโดยใช้การรวบรวมหน้าเว็บไซต์ที่มีภาพโป๊ เปลือยและไม่มีภาพโป๊ เปลือยมาเป็ นเครื่ องมือในการ Train ระบบ artificial neural network เพื่อจัดการแบ่งประเภทของเว็บไซต์ วิธีการนี้จําเป็ นต้องใช้เครื่ องคอมพิวเตอร์ที่มีประสิ ทธิภาพสู งและไม่สามารถสร้างระบบที่ทางานแบบ real- ํtime ได้ (Pui, Siu and Alvis 2006) 3.1.7 Web Filtering Using Text Classification ใช้ Vector ซึ่ งเป็ นตัวแทนของคําที่ปรากฏในเว็บไซต์ มาเปรี ยบเทียบหาค่าสัมประสิ ทธิ์ความเหมือนกับกลุ่มตัวอย่างของเว็บไซต์ ถ้ามีค่าสัมประสิ ทธิ์ ความเหมือนสู งกว่า50 % จะถือว่าเป็ นประเภทเดียวกับกลุ่มตัวอย่างของเว็บไซต์ที่ใช้เปรี ยบเทียบ (Rongbo andother 2003 : 327-328)3.2 คุณสมบัติของโปรแกรม Squid Squid เป็ นโปรแกรมที่ทาหน้าที่ Proxy Cache Server ออกแบบมาให้ใช้งานกับระบบ ํUnix มีลกษณะเป็ น open-source software ระบบปฏิบติการ CentOS 5.2 จะมี Squid Version ั ั2.6 TABLE มาให้ มีคุณสมบัติ ดังนี้
  3. 3. 11 3.2.1 Web Filtering Using Text Classification ใช้การทํางานของโปรแกรม Squid จะคอยรับ /Request จากเครื่ อง Client ที่เข้าไปเรี ยกดูเว็บไซต์ต่าง ๆ Squid จะทําหน้าที่ส่งผ่านคําร้องขอไปยังเว็บไซต์ ในขณะเดียวกัน ่ข้อมูลที่มีการผ่านเข้ามาจะถูกสําเนาเก็บไว้ในหน่วยความจํา Cache ซึ่งอยูใน Disk เมื่อมีการร้องขอข้อมูลซํ้าอีกในครั้งต่อไป Squid จะนําข้อมูลที่ถูกเก็บไว้ในหน่วยความจํา Cache ไปให้เครื่ อง Client ได้ทนที ทําให้สามารถให้บริ การได้รวดเร็ วกว่าการติดต่อไปยัง Server ของ ัเว็บไซต์โดยตรง มีรายละเอียดในการใช้งานดังต่อไปนี้ 1) proxying and caching of HTTP, FTP, and other URLs 2) proxying for SSL (Secure Socker Layer) 3) cache hierarchies 4) ICP, HTCP, CARP, Cache Digest 5) transparent caching 6) Web Cache Coorrdination Protocol (WCCP) 7) extensive access controls 8) HTTP server acceleration 9) SNMP 10) caching of DNS lookups โปรแกรม Squid จะสร้างหน่วยความจํา Cache ไว้เก็บข้อมูลที่ /var/spool/squidมีลกษณะโครงสร้างเป็ น Hierachies มี Directory ซ้อนกัน 2 ชั้น สามารถกําหนดปริ มาณของ ัSubdirectory ทั้งสองชั้นได้ การกําหนดค่าสภาวะแวดล้อมในการทํางานของโปรแกรม Squid จะใช้ไฟล์ชื่อ ่Squid.conf อยูในไดเรกทอรี /etc/squid และ จะมีบนทึกการใช้งานของเครื่ อง client ในไฟล์ชื่อ ั ่access.log อยูที่ /var/log/squid 3.2.2 การ Block เว็บไซต์โดยการสร้าง Blacklist สําหรับการ Block เว็บไซต์ดวยโปรแกรม Squid โดยใช้ลกษณะการสร้างรายชื่อ ้ ัเว็บไซต์ตองห้ามเอาไว้ สามารถทําได้โดยพิมพ์รายชื่ อต้องห้ามเอาไว้ในไฟล์ที่มีลกษณะเป็ น ้ ัเท็กซ์ไฟล์ แล้วกําหนดคําสั่งการ Block ไว้ในไฟล์ /ect/squid/squid.conf โดยใช้แทก (TAG)acl และ HTTP_ access ซึ่งมีรูปแบบการใช้งานดังนี้
  4. 4. 12 TAG : acl acl aclname url_regex [-i] “file” … #regex matching on whole URL acl (Access List) เป็ นการกําหนดบัญชีรายชื่อการใช้งานเพื่อควบคุมการใช้งานต่างๆ ตามความเหมาะสม มีการกําหนดได้หลายประเภทเป็ น url_regex (Uniform Resource ่Locator Regular expressions) หมายถึงชนิดของ acl ที่เป็ นบัญชีรายชื่อของที่อยูของเว็บไซต์ TAG : HTTP_ access HTTP_access allow[deny [!]aclname HTTP_access (Access to the HTTP port) เป็ นการกําหนดการอนุญาต (allow)หรื อไม่อนุญาต (deny) ให้ใช้งานพอร์ต HTTP ซึ่งก็คือพอร์ตที่ใช้งานติดต่อกับ Server ของเว็บไซต์ 3.2.3 การ Block เว็บไซต์โดยใช้ Keyword ํ เป็ นการ Block เว็บไซต์ ที่มีช่ือบางส่ วนเป็ น keyword ที่กาหนดไว้ โดยใช้ TAG: acl และ TAG : HTTP_ access เช่นเดียวกับการ block เว็บไซต์โดยการสร้าง Blacklists ํต่างกันตรงที่การกําหนด acl ใช้วิธีกาหนด Keyword ลงไปแทนชื่อไฟล์ มีรูปแบบการใช้งานดังนี้ acl aclname url_regex [i] Keyword, Keyword2, … สามารถกําหนด Keyword ได้หลายค่า สําหรับ HTTP_access ใช้งานเหมือนกับการ Block เว็บไซต์โดยการสร้าง Blacklist 3.2.4 การทํา Transparency เพื่อให้ Client วิ่งเข้าใช้ Proxy อัตโนมัติ การทํา Transparency คือ การสร้างระบบตรวจจับการใช้งานพอร์ต HTTP ซึ่งใช้พอร์ตหมายเลข 80 บนโปรโตคอล TCP/IP ให้เปลี่ยนทิศทางไปใช้งานพอร์ตที่เป็ น Proxy ซึ่งใช้พอร์ต 8080 โดยอัตโนมัติ โดยที่เครื่ อง Client ไม่จาเป็ นต้องมีการกําหนดค่าการใช้งาน ํProxyและไม่สามารถหลีกเลี่ยงการใช้งานโดยไม่ใช้ Proxy ได้ การสร้างระบบ Transparency มีแนวทางในการสร้าง 3 แนวทางด้วยกันคือ แนวทางแรกกําหนดเงื่อนไขที่ router แนวทางที่สองใช้ smart switching และแนวทางที่สาม กําหนดค่าในเครื่ องที่ใช้ Squid ทํา Proxy วางไว้ในตําแหน่งที่เป็ น Gateway ของ
  5. 5. 13ระบบแนวทางแรกและแนวทางที่สองนั้นต้องอาศัยอุปกรณ์ที่มีราคาแพง ส่ วนแนวทางที่สามเพียงแค่ใช้วิธีการกําหนดค่าบางอย่างในเครื่ องที่ใช้ Squid ทําหน้าที่เป็ น Proxy และต้องวางขวางเส้นทางออกอินเทอร์เน็ตของเครื่ อง Client โดยต้องใช้ส่วนประกอบในการกําหนดค่าสองส่ วนด้วยกันคือ ส่ วนที่ 1 ใช้ iptables ทําหน้าที่เปลี่ยนทิศทางของ package ที่ใช้งานพอร์ต HTTP ให้ไปใช้พอร์ตของ Proxy แทนโดยใช้คาสัง ํ ่ iptables – t nat – A PREROUTING – p tcp – I eth1 -- dport 80 – j REDIRECT – to - port 8080 ซึ่งเป็ นคําสังที่ทาให้มีการเปลี่ยนทิศทาง package ที่มีตนทางมาจากเครื่ อง Client ่ ํ ้และมีปลายทางไปที่พอร์ต HTTP(80) ให้ไปที่พอร์ต (8080) ส่ วนที่ 2 ใช้ Squid ซึ่งทําหน้าที่เป็ น Proxy รับ package ที่ถูกเปลี่ยนทิศทางมาเพื่อให้บริ การ ซึ่งต้องกําหนดค่าใน Squid.conf เพือทํางานในโหมด Transparency ดังนี้ ่ httpd_accel_host virtual httpd_accel_port 80 httpd_accel with_proxy on httpd_accel_uses_host_header on 3.2.5 ไฟล์บนทึกการใช้งาน access.log ั ่ ประวัติการใช้งานของเครื่ อง Client จะถูกบันทึกไว้ที่ไฟล์ access.log อยูที่/var/log/squid มีขอมูลทั้งหมด 10 ฟิ ลด์ แต่ละฟิ ลด์ประกอบด้วยข้อมูลดังนี้ ้ 905144426.435 289 127.0.01 TCP_MISS/200 20868 GETHTTP://www.squid-cache.com/ - SINGLE_PARENT/cache1.squid-cashe.com text/HTML Timestamp เวลาที่การติดต่อสิ้ นสุ ดลง ในรู ปแบบของ UNIX Elapsed Time ช่วงเวลาที่ใช้ในการติดต่อ Client Address หมายเลข IP address ของเครื่ อง Client Log Tag/HTTP Code รายละเอียดของผลของคําร้องขอ/รหัส HTTP ที่ตอบกลับ Size ขนาดของข้อมูลที่ส่งให้ Client
  6. 6. 14 Request Method คําสังของคําร้องขอ ่ URL ่ ที่อยูของเว็บไซต์ที่ร้องขอข้อมูล Ident ชื่อผูใช้ที่ได้รับการอนุญาตให้ใช้งานผ่าน Client ้ Hierarchy Data/ Hostname ได้ขอมูลตามคําร้องขอมาอย่างไร / จากที่ไหน ้ Content Type ชนิดของข้อมูลที่ร้องขอ3.3 การติดต่ อกับ Web Server รู ปแบบที่ใช้ในการสื่ อสารระหว่าง Browser กับเว็บไซต์เป็ นการสื่ อสารในรู ปแบบของ ่Request - Response นันคือ Browser ซึ่งอยูฝั่งของ Client ส่ งคําร้องขอหรื อ Request ไปยัง ่ ่เว็บไซต์ซ่ ึงอยูฝั่งของ Server เมื่อ Server ได้รับคําร้องขอแล้ว Server จะส่ ง response ซึ่งก็คือคําตอบพร้อมกับข้อมูลที่ Client ต้องการกลับไปให้โดยมีการทํางานดังภาพที่ 3.1 ภาพที่ 3.1 การติดต่อสื่ อสารระหว่าง Browser กับเว็บไซต์ 3.3.1 การส่ ง Request ไปยัง Web server และการรับข้อมูลจาก Web server การติดต่อสื่ อสารระหว่าง Client และ Server เพื่อส่ ง Request ไปร้องขอข้อมูลหน้าเว็บเพจของเครื่ อง Client ประกอบไปด้วยขั้นตอนดังต่อไปนี้ 3.3.1.1 เปิ ด socket สําหรบติดต่อผ่านระบบ network 3.3.1.2 สร้าง connection กับ Web Server 3.3.1.3 ส่ ง Request คําร้องขอไปยัง Web Server 3.3.1.4 รอรับ Response และข้อมูลจาก Web Server 3.3.1.5 ปิ ด socker ที่ใช้ในการติดต่อสรุ ปเป็ นขั้นตอนการติดต่อสื่ อสารระหว่าง Client และ Server ในรู ปของการใช้คาสังของการ ํ ่เขียนโปรแกรมคอมพิวเตอร์เป็ นดังภาพที่ 3.2
  7. 7. 15 ภาพที่ 3.2 ชุดคําสังการติดต่อสื่ อสารระหว่าง Client และ Server ่ 3.3.2 HTTP Return Code ในการติดต่อสื่ อสารระหว่าง Client และ Server เพื่อส่ ง Request ขอข้อมูลHTTP จะมีรหัสตอบกลับมาจากฝั่ง Server เรี ยกว่า HTTP Return Code ซึ่งจะมีความหมายต่างๆกันไปดังนี้ 1xx information - การรับคําร้องขอ และรอทํางานต่อไป 2xx successful - ได้รับข้อมูลแล้ว, เข้าใจ และ ยอมรับ 3xx redirection–มีการส่ งต่อการทํางานเพื่อให้ได้ขอมูลตามคําร้องขอ ้ 4xx client error – คําร้องขอผิดรู ปแบบ หรื อไม่สมบูรณ์ 5xx internal server error – เกิดข้อผิดพลาดในเครื่ องแม่ข่าย ไม่ สามารถปฏิบติตามคําร้องขอได้ ั
  8. 8. 163.4 การติดตั้งโปรแกรม squid ่ Squid เป็ นโปรแกรม Proxy caching server ที่อยูในระบบปฏิบติการ Linux การให้บริ การของ ัSquid ซึ่ งเป็ น Web caching server นั้นคือ จะคอยรับคําร้องขอบริ การจากเครื่ องลูกข่าย และส่ งผ่าน ่ไปยังเซิร์ฟเวอร์ ปลายทางที่เหมาะสม ข้อมูลต่าง ๆ ที่ผานเข้ามาจะถูกสําเนาเก็บไว้ในหน่วยความจําแคช และดิสก์ ดังนั้นเมื่อมีการร้องขอข้อมูลซํ้าอีกในครั้ งต่อมาจะสามารถนําข้อมูลในแคชมาให้บริ การได้รวดเร็ วกว่าการติดต่อไปยังเซิ ร์ฟเวอร์โดยตรง ช่วยให้ลดการใช้ช่องทางสื่ อสารข้อมูลลงได้ นอกจากนี้ Squid ยังมีคุณสมบัติเป็ น Firewall Proxy อีกด้วย อย่างไรก็ตาม Squid เป็ นเพียง Web Only Cache หมายถึง จะทํางานกับโปรโตคอล HTTPโดยเฉพาะเท่านั้น จะไม่สามารถแคชข้อมูลจากโปรโตคอลอื่น ๆ เช่น RealAudio หรื อ FTP ได้ยกเว้นกรณี ที่ FTP นั้นทํางานโดยโปรโตคอล HTTP ซึ่งมีเพียงส่ วนน้อย และสําหรับโปรโตคอลSSL แล้ว Squid สามารถทําการแคชการบริ การได้ การใช้งานที่ตองเข้าสู่ เว็บไซต์ที่ใช้ SSL เช่น ้เว็บไซต์บริ การอีเมล์ฟรี ต่าง ๆ จึงไม่มีปัญหาแต่อย่างใด ภาพที่ 3.3 Squid proxy serverการติดตั้ง Squid แบ่งได้ 2 แบบ 3.4.1 การติดตั้งประเภท RPM ถ้าในขณะติดตั้ง Linux ครั้งแรกนั้นได้เลือก service squid ไว้แล้วก็ไม่ตองทําการ ้ติดตั้งใหม่ แต่ถายังไม่ได้เลือกติดตั้งตั้งแต่ตอนแรกก็ให้ทาการติดตั้งโดย ้ ํ 3.4.1.1 แบบ GUI System setting ---> Add/Remove Aplication Server ---> Web server ---> detail ---> squid
  9. 9. 17update แล้วใส่ แผ่นเพื่อ install squid 3.4.1.2 แบบ Command line 1. ใส่ แผ่นดิสก์แผ่นที่ 1 2. mount ซีดีรอมด้วยคําสัง่ #mount /mnt/cdrom 3. เข้าไปยัง directory ของ RPM ด้วยคําสัง ่ #cd /mnt/cdrom/RedHat/RPMS 4. ติดตั้งด้วยคําสัง ่ #rpm -ivh squid.rpmการติดตั้งจากไฟล์ ประเภท tar.gz 1. ดาวน์โหลดโปรแกรม Squid จาก http://www.squid-cache.org ซึ่งควรเลือกเวอร์ ชน stable ัที่ล่าสุ ด 2. ในที่น้ ีดาวน์โหลดมาไว้ที่ /root ชื่อไฟล์เป็ น /root/squid.tar.gz ่ 3. ให้เปลี่ยนไดเร็ คทอรี่ ไปอยูที่ /root 4. แตกไฟล์ออกมาด้วยคําสัง : ่ #tar xvfx squid.tar.gz 5. จากข้อ 3 จะมีการสร้าง directory ชื่อ squid ขึ้นมา ก็ให้เปลี่ยนตําแหน่งเข้าไปอยูใน ่ตําแหน่งดังกล่าวด้วยคําสัง : ่ #cd squid 6. การ build และติดตั้งโปรแกรมให้ทาดังนี้ : ํ #./configure --prefix=/usr/local/squid #make all #make installหลังจากที่ได้ทาการติดตั้ง Squid เสร็ จแล้ว จะได้ไฟล์ squid.conf ถ้าติดตั้งแบบ GUI ไฟล์จะอยูใน ํ ่ ่/etc/squid/squi.conf แต่ถา ติดตั้งแบบใช้ command line ไฟล์จะอยูที่ /usr/local/etc/squid/squid.conf ้การ config สํ าหรับการติดตั้งแบบ RPM 1. เข้าไปที่ /etc/squid/squid.conf แล้ว config จากไฟล์ text editor ด้วยคําสัง ่ 2. ในที่น้ ีดาวน์โหลดมาไว้ที่ /root ชื่อไฟล์เป็ น /root/squid.tar.gz
  10. 10. 18 #sudo vi /etc/squid/squid.conf เพื่อให้เครื่ องลูกข่ายสามารถใช้งาน proxy server ได้โดยเปลี่ยนแปลงในบรรทัดที่ #acl our_networks src 192.168.1.0/24 192.168.2.0/24 #http_access allow our_networksให้ทาการใส่ ค่า (หรื อแก้ไข) ค่า network ที่ใช้งานในบรรทัด acl ซึ่งค่า default เป็ น 192.168.1.0/24 ํ192.168.2.0/24 ให้เป็ นค่า network ของตัวเองซึ่งถ้ามีหลาย network ก็ให้ใช้ space แยกระหว่างกันจากนั้นก็ให้เอาเครื่ องหมาย # ของทั้งสองบรรทัดออกซึ่งอาจจะเป็ นดังนี้ acl our_networks src 192.168.1.0/24 192.168.2.0/24 http_access allow our_networksจากนั้นเปิ ด seervice squid ด้วยคําสัง ่ #service squid startหรื อถ้า service มีการ start แล้วก็ให้ใช้คาสัง ํ ่ #squid -k reconfigureเพื่อให้การคอนฟิ กที่ทาใหม่มีผล ํการ config สํ าหรับการติดตั้งจากไฟล์ประเภท tar.gzให้เอาเครื่ องหมาย # ออกจากหน้าข้อความต่อไปนี้cache_peer, never_direct/always_directcache_dir /usr/local/squid/var/cache 100 16 256acl, http_access, icp_accesscache_mgrvisible_hostnameหลังจากนั้นให้ทาการแก้ไขข้อความต่อไปนี้ โดยการใส่ หมายเลข IP address ใหม่ของเครื อข่ายลง ํไปแทน หรื อ ถ้าต้องการให้ใช้งานได้ทนทีก็ไม่ตองแก้ไขก็ได้แต่ระบบจะตั้งเป็ นค่า defualt ที่ ั ้ทํางานเฉพาะในเครื่ องที่ไม่ได้เป็ นเครื อข่ายเท่านั้น#acl our_networks src 192.168.1.0/24 192.168.2.0/24#http_access allow our_networksแต่ตองเปลี่ยนค่า network ในบรรทัด acl ให้ตรงกับ network ของตัวเอง ซึ่งถ้ามีหลาย network ก็ให้ ้คันด้วย space เมื่อแก้ไขไฟล์ squid.conf เสร็ จแล้วก็ให้ทาการสร้าง cache และตําแหน่งของ cache ่ ํ
  11. 11. 19 ่โดยตําแหน่งของ cache จะอยูท่ี /usr/local/squid/var/cache โดยไดเร็ คทอรี่ cache ในตอนนี้จะยังไม่มี แต่จะถูกสร้างขึ้นเมื่อเรารันคําสังต่อไป ่#/usr/local/squid/sbin/squid-zเนื่ องจากคําสัง squid -z จะมีการสร้าง cache ภายใต้ /etc/local/squid/var ดังจะสามารถสร้างได้ก็ ่ต่อเมื่อตําแหน่งนี้มี permission ที่สามารถให้ทาหาร write ได้ ฉะนั้นก่อนที่จะใช้คาสั่ง squid -z ก็ ํ ํต้องทําการเปลี่ยน permision ของ /etc/usr/squid/var ให้สามารถ write ได้เสี ยก่อน ซึ่ งถ้ากําหนดpermission ไม่ถูกต้องก็อาจจะมีการฟ้ องว่าFATAL: Failed to make swap directory /usr/local/squid/var/cache: (13) Perssion deniedหรื อบางที อาจจะมี ปัญหาเรื่ องของ visible_hostname ก็ตองให้เข้าไปแก้คอนฟิ กในส่ วนของ ้visible_hostname ด้วยการใส่ ช่ือ hostname เข้าไป สําหรับการกําหนด permission ก็อาจใช้คาสั่ง ํดังนี้ #chmod 777 /etc/usr/local/varแล้วทําการสร้าง cache ด้วยคําสัง : ่#/usr/local/squid/sbin/squid -zให้ลองเข้าไปดูที่ตาแหน่งของ /usr/local/squid/var ดูจะเห็นว่าจะเกิดไดเร็ คทอรี่ cache (และมี ํdirectoty ย่อยภายใต้ cache อีกมากมาย)start service squid ด้วยคําสัง : ่#/usr/local/squid/sbin/squidการใช้ งาน squid หลังจากการติดตั้งแล้ วconfig file /etc/squid/squid.conf#http_port 3128 แก้เป็ น http_port 31283128 เป็ น port ที่ตองการ อาจเปลี่ยน เป็ น port อะไรก็ได้ ้#icp_port 3130 แก้เป็ น icp_port 3130#cache_mem 8 MB แก้เป็ น cache_mem 256 MB # RAM หาร 3#cache_dir ufs /var/spool/squid 100 16 256 แก้เป็ น cache_dir ufs /var/spool/squid 1000 16 256#cache_access_log /var/log/squid/access.log แก้เป็ น cache_access_log /var/log/squid/access.log#cache_access_log /var/log/squid/cache.log แก้เป็ น cache_access_log /var/log/squid/cache.log
  12. 12. 20#cache_access_log /var/log/squid/store.log แก้เป็ น cache_access_log /var/log/squid/store.logเพิ่ม บรรทัดนี้ต่อท้าย acl ที่ default มากับ โปรแกรม acl my_networks src 192.168.0.0/24#network ของเรา เพิ่ม บรรทัดนี้ไว้ก่อนหน้า http_access ที่ default มากับ โปรแกรมhttp_access allow my_networkshttp_access deny all #บรรทัดนี้ที่ตองแก้ แก้เป็ น http_access allow all จากนั้นทําการ save file ้สร้างไฟล์ 3 ไฟล์ คือ access.log , cache.log , store.log เข้าไปที่ directory /var/log/squid/ ใช้คาสัง ํ ่#touch access.log#touch store.log#touch cache.logเปลี่ยนสิ ทธิ์และเจ้าของ#chmod 755 /var/log/squid/*#chown squid.squid /var/log/squid/*สร้าง cache#squid -zกําหนดให้ squid start ทุกครั้งเมื่อเปิ ดเครื่ อง#squid chkconfig onสังให้ squid ทํางาน ่ ั# service squid restart จากนั้นก็ทดลอง ใส่ proxy ให้กบลูกข่าย

×