ทำ Proxy Server ไว้ใช้ส่วนตัวด้วย Raspberry-Pi

33
สืบเนื่องด้วยจาก Internet ที่ใช้งานอยู่ค่อนข้างช้าและประกอบด้วยช่วงนี้ยังไม่รู้จะทำอะไรกับ Raspberry-Pi ที่ได้มา ก็เลยปิ๊งไอเดียลองทำ Proxy Server + Cache ไว้ใช้ดีกว่า

Proxy server เมื่อได้รับคำสั่งติดต่อกับอินเตอร์เน็ตจากผู้ใช้ จะทำการกรองความต้องการโดยมองหาใน cache ที่มีการ Download เว็บเพจไว้ เมื่อพบแล้วจะส่งไปให้ผู้ใช้ โดยไม่ต้องติดต่อกับอินเตอร์เน็ต แต่ถ้าไม่พบ Proxy server จึงจะส่งต่อคำสั่งไปยังอินเตอร์เน็ต

แต่ RaspberryPi นั้นสเปคค่อนข้างน้อยดังนั้นเราต้องจูน Proxy ให้เหมาะสมกับ CPU และ Memory ด้วย อาจจะไม่เก็บ Cache 100% ซึ่งถ้าเปรียบมวยกับ PC หรือ Server นั้นคนละชั้นครับ (ได้แค่นี้ก็ดีแล้ว)

ซึ่งผมจะใช้ Squid Version 2 ที่มีอยู่ใน Raspbian Repository สามารถ apt-get install จากเน็ตได้เลย (ลองลง Squid3 ลงไม่ได้เพราะยังไม่มี)

และระบบ Network เล็กๆของผมที่่ใช้อยู่เป็นแบบดังรูปครับ (ให้ดูเป็นแนวทางครับ ของท่านอื่นคงเป้น 192.168.1.xx ว่ากันไปครับ)

Linksys_WRT54GL

Requirement
-Raspberry Pi Model B (Model A แรมคงไม่พอใช้ + ไมีมีช่อง LAN)
-SD Card > 4GB (เอาไว้ทำ cache บน disk)
-Fix IP RaspberryPi + Connected to Internet

มาเริ่มกันครับ

*Raspbery Pi ต้อง Fix IP ก่อนและต้องออกเน็ตได้ก่อนนะครับ

พิมพ์คำสั่งตามนี้เลย
1
2
*ตรงบรรทัด Nano ให้เอา Config ของผมก๊อบข้อความในนั้นทั้งหมดแล้วไปวางใน RaspberryPi แล้ว Save เลยครับ (CTRL+X) โหลด Config squid จิ้ม
*ผมตัด Log Squid ออกเพราะไม่จำเป็นครับ ทำให้เปลือง SDCard เปล่าๆ แต่ของผมจะทดสอบ Log ให้ดูว่า Squid สามารถทำงานได้จริง

เมื่อ RaspberryPi เสร็จแล้วก็มา Set Proxy ใน Browser บน Computer กันครับ (ตัวอย่างนะครับ)
3

ทดสอบ Proxy

จากการทดสอบเบื้องต้นสามารถช่วยให้เล่นเน็ตเร็วขึ้นนิดนึง แทบไม่รู้สึก แต่ผมตรวจสอบได้ว่าระบบ Cache จะถูกเรียกมาใช้จริง ดังภาพครับ
มีการเข้าเว็บ www.soravit.in.th หลายครั้งก็จะถูก Cache HIT ตาม Log เลยครับ (HIT คือระบบไปดังข้อมูลจากตัว Raspberry Pi ไม่ได้ดึงจาก Internet)

6

Proxy กินทรัพยากร RaspberryPi พอสมควรเลยครับ ทดสอบคำสั่ง top โดยการเปิดเว็บ www.youtube.com
5

จบแล้วครับสำหรับบทความนี้ เป็นแค่การทำ Proxy Server แบบง่ายๆถ้าจะใช้งานจริงๆโหลดหนักๆแนะนำทำ Proxy กับ PC จะเหมาะสมกว่าครับ
การ Config ไม่มีอะไรซับซ้อนไม่มีการเก็บ Log และตั้ง Cache Mem ไว้แค่ 128MB เพื่อจะได้ไม่กิน RAM RaspberryPi มาก ส่วนท่านที่ Config Squid เป็นแล้ว สามารถใส่เรื่อง BlockWeb,Delay Pool,User Authentication Proxy เข้าไปได้ตามใจชอบเลยครับ

Credit Squid Config ผมเอามาจาก Minihotspot มาแต่งอีกที

เรื่องนี้ถูกเขียนใน Raspberry-Pi และติดป้ายกำกับ , คั่นหน้า ลิงก์ถาวร

ใส่ความเห็น

อีเมลของคุณจะไม่แสดงให้คนอื่นเห็น ช่องที่ต้องการถูกทำเครื่องหมาย *