ipmasq กับการทำ transparent proxy
ตามที่ติดค้างไว้ใน ตอนที่แล้ว เกี่ยวกับการทำ internet gateway ด้วย ipmasq ว่าจะพูดถึงการทำ transparent proxy นะครับ ซึ่งก็ไม่ยากอย่างที่คิด
หลักการคือ ให้ส่งต่อแพ็กเก็ตจากเครื่องภายในที่ติดต่อไปยังพอร์ต 80 ให้ไปที่พอร์ตของ HTTP proxy (เช่น 3128 หรือพอร์ตอื่นตามแต่กำหนดขณะติดตั้งพร็อกซี) เพื่อที่การติดต่อเว็บจากเครื่องในเครือข่ายภายใน จะได้ผ่านพร็อกซีเสมอ โดยไม่ต้องตั้งค่าพร็อกซีอีก
เริ่มจากติดตั้ง squid proxy ก่อน
# aptitude install squid
แล้วตั้งค่า squid ตามปกติ อาจจะทดสอบการทำงานของพร็อกซี โดยเปิดเว็บเบราว์เซอร์ในเครื่องลูก แล้วตั้งค่าพร็อกซีก่อนเปิดเว็บต่าง ๆ ดูก่อน แล้วดู access log ของ squid ที่ /var/log/squid/access.log
ว่ามี request เข้ามา
จากนั้น ตั้งค่า squid ที่ /etc/squid/squid.conf
ให้เป็น transparent proxy (สำหรับ squid 2.6 ขึ้นไป):
http_port 3128 transparent
แล้วก็คัดลอกตัวอย่าง transparent proxy ของ ipmasq มา:
# cp /usr/share/doc/ipmasq/examples/basics/I89tproxy.rul \ /etc/ipmasq/rules/
แล้วแก้หมายเลขพอร์ตของพร็อกซีใน /etc/ipmasq/rules/I89tproxy.rul
ซึ่งค่าปกติเป็น 8081 ให้เป็นหมายเลขพอร์ตที่เรากำหนดไว้ใน /etc/squid/squid.conf
เช่น ในที่นี้เราใช้พอร์ต 3128 ก็ค้นหาและแทนที่ 8081 ด้วย 3128 ทั้งแฟ้ม
จากนั้น เมื่อสั่ง ipmasq
เพื่อคำนวณ iptables ใหม่อีกครั้ง ก็จะได้ transparent proxy เรียบร้อย
- thep's blog
- Log in to post comments
![]() |
ลิขสิทธิ์ของบทความเป็นของเจ้าของบทความแต่ละชิ้น ผลงานนี้ ใช้สัญญาอนุญาตของครีเอทีฟคอมมอนส์แบบ แสดงที่มา-อนุญาตแบบเดียวกัน 3.0 ที่ยังไม่ได้ปรับแก้ |
Comments
Re: ipmasq กับการทำ transparent proxy
on 20 February, 2009 - 06:13 Permalink
great article guys.
Re: ipmasq กับการทำ transparent proxy
on 28 July, 2009 - 23:00 Permalink
don't forget change # http_access deny all ... to http_access allow all in /etc/squid/squid.conf