Proxy Server คืออะไร
ในการเรียกใช้ข้อมูลผ่านระบบ World Wide Web (WWW) โดยปกติ ข้อมูลจะถูกเรียกมาจากเครื่องแม่ข่ายที่ให้บริการโดยตรง ซึ่งจะพบว่า เมื่อมีผู้ใช้หลายๆ ราย เรียกใช้ข้อมูลเดียวกัน ข้อมูลจะถูกส่งผ่านเครือข่ายอินเทอร์เน็ตมาให้กับผู้ใช้แต่ละราย โดยเป็นข้อมูลที่ซ้ำๆ กัน อันจะทำให้สิ้นเปลืองทั้งเวลาที่ผู้ใช้ทุกคนจะต้องรอคอยการเรียกข้อมูลดังกล่าวเป็นเวลานาน และยังเป็นการใช้งานช่องสื่อสาร (bandwidth) ซึ่งมีอยู่อย่างจำกัด และมีราคาแพงมาก ไปโดยเปล่าประโยชน์
Proxy Server คือ การนำเครื่องคอมพิวเตอร์มาตั้งเพื่อให้บริการแก่กลุ่มผู้ใช้ที่อยู่ในกลุ่มเดียวกัน และกำหนดให้ผู้ใช้ทุกคนเรียกใช้ข้อมูล WWW ผ่านเครื่องคอมพิวเตอร์นี้ โดยเครื่องดังกล่าวจะมีการติดตั้งโปรแกรมเพื่อทำหน้าที่เรียกข้อมูล WWW มาให้บริการแก่ผู้ใช้ และจัดเก็บข้อมูลที่เคยถูกเรียกนั้นไว้ ในเครื่อง เพื่อให้บริการแก่ผู้ใช้ข้อมูลนั้นซ้ำ ได้ทันที โดยไม่ต้องเสียเวลาไปเรียกข้อมูลมาจากแหล่งข้อมูลภายนอกมาใหม่ ซึ่งเทคนิคดังกล่าว จะทำให้ผู้ใช้สามารถเรียกใช้ข้อมูลที่ (ส่วนใหญ่) เคยมีผู้เรียกใช้มาก่อนได้รวดเร็วขึ้นเป็นอย่างมาก เนื่องจากไม่ต้องเสียเวลาไปเรียกข้อมูลจากแหล่งข้อมูลภายนอกมาใหม่ อันจะทำให้ประสิทธิภาพในการใช้งานระบบเครือข่ายอินเทอร์เน็ต เพิ่มขึ้นเป็นอย่างมาก
ขั้นตอนการทำงานของ Proxy Server เมื่อผู้ใช้ติดต่อ WWW ผ่าน Proxy Server เครื่องจะทำการตรวจสอบก่อน ว่ามีข้อมูลที่ผู้ใช้ต้องการอยู่ในเครื่องอยู่แล้วหรือไม่ ถ้ายังไม่มีก็จะไปเรียกข้อมูลมาให้ใหม่ และจัดเก็บไว้ในเครื่องเพื่อคอยให้บริการแก่ผู้ใช้ครั้งต่อไป ถ้าพบว่ามี จะทำการตรวจสอบว่าข้อมูลที่มีอยู่กับแหล่งข้อมูลที่ต้องการ ว่ามีความทันสมัยตรงกันหรือไม่ ถ้าตรงกันจะทำการส่งข้อมูลที่มีอยู่ในเครื่องไปให้ผู้ใช้ทันที แต่ถ้าไม่ตรงกัน Proxy จะไปดึงข้อมูลจากแหล่งข้อมูลมาให้ใหม่
เรามาลองติดตั้งกันเลยดีกว่าครับในที่นี้เราจะติดตั้ง Squid เป็น Proxy Server นะครับ
yum install squid
ตั้งค่าหน่อยครับ
nano /etc/squid/squid.conf
เพิ่มบรรทัด
acl our_networks src all
http_access allow our_networks
visible_hostname 192.168.2.1 (ip หรือชื่อ)
save แล้วก็ปิดไปเลยครับ
chkconfig squid on
/etc/init.d/squid start
ตรวจสอบว่า port เปิดแล้ว *3128 คือ defult
netstat -tulpn | grep 3128
tcp 0 0 0.0.0.0:3128 0.0.0.0:* LISTEN 20653/(squid)
เสร็จแล้วครับ อย่าลืม เปิด firewall สำหรับ port ที่ ทำ proxy ด้วยนะครับ เพื่อป้องกัน คนอื่นมาแอบใช้ proxy ของเรา เราก็ต้องใส่รหัสผ่านไปด้วยครับ
ขั้นตอนการเซ็ต
1. สร้างไฟล์ทีใช้เก็บ username พร้อมกับเพิ่ม username ด้วยคำสั่ง
htpasswd -c /etc/squid/squid_passwd username
และถ้าต้องการเพิ่ม username คนอื่นเข้าไปอีก ก็ใช้คำสั่งเดิมโดยไม่ต้องใส่ -c ดังนี้ :
htpasswd /etc/squid/squid_passwd user2
2. กำหนด permission ของไฟล์ username ที่สร้างขึ้นดังนี้
chmod o+r /etc/squid/squid_passwd
3. ค้นห้าโปรแกรมที่ใช้ในการตรวจสอบ username ที่ชื่อว่า ncsa_auth ด้วยคำสั่งต่อไปนี้ :
rpm -ql squid | grep ncsa
/usr/lib/squid/ncsa_auth
4. แก้ไขคอนฟิกของ squid ในไฟล์ /etc/squid/squid.conf โดยให้หาหัวข้อ #TAG : auth_param และหาข้อความย่อยของหัวข้อนี้ที่ว่า
#Recommended minimum configuration:
แล้วให้เพิ่มข้อความสำหรับสั่งให้มีการตรวจสอบ username ไว้ข้างล่างสุดของชุดคำสั่ง auth_param ดังนี้
auth_param basic program /usr/lib/squid/ncsa_auth /etc/squid/squid_passwd
5. ในไฟล์ /etc/squid/squid.conf ให้ค้นหาคำว่า acl our_networks src และ ใต้ บรรทัดนี้ (ติดกัน) ให้แทรกคำสั่ง acl หนึ่งบรรทัดดังนี้ :
acl ncsa_users proxy_auth REQUIRED
6. ในไฟล์ /etc/squid/squid.conf ให้ค้นหาคำว่า http_access allow our_networks และข้างบนบรรทัดนี้ให้ป้อนข้อความว่า
http_access allow ncsa_users
7. ทำการ restart service ของ squid
service squid restart