Thaiadmin

การทำ Transparent Proxy บน Squid and Cisco Setting Support

0 สมาชิก และ 1 บุคคลทั่วไป กำลังดูหัวข้อนี้

ออฟไลน์ :: นักโทษประหาร ::

  • *****
  • 1,158
  • 11
  • เพศ: ชาย
  • http://www.itmanage.info
การทำ Transparent Proxy บน Squid and Cisco Setting Support
« เมื่อ: 8 พฤศจิกายน 2004, 11:06:28 »
กรณีที่ Squid Server เป็น Gateway

1.ให้ทำการแก้ไขหรือเพิ่มเติมข้อมูลในไฟล์คอนฟิกของ squid (squid.conf) ให้มีบรรทัดต่อไปนี้ :

httpd_accel_host virtual
httpd_accel_port 80
httpd_accel_with_proxy  on
httpd_accel_uses_host_header  on

2. ตรวจสอบแพ็กเกตที่วิ่งผ่านเครื่อง Gateway  ว่าเป็นการเรียกใช้งาน Port 80 (การเรียกใช้งานเว็บ) หรือไม่  ถ้าเป็นการเรียกใช้งานที่ Port 80 ก็ให้บังคับให้ใช้งานผ่าน squid โดยใช้คำสั่ง ipchains หรือ iptables

กรณี ipchains ให้ใช้คำสั่งดังนี้ :
#ipchians -F
#ipchains -A input -p tcp -s 192.168.1.0/24 -d 0/0 80 -j REDIRECT 8080
หรืออาจจะเป็น
#ipchains -F
#ipchains -A input -p tcp -s 0/0 -d 0/0 80 REJECT 8080

 หมายเหตุ ในกรณีที่ squid ทำงานที่ port อื่น เช่น 3128 ก็ให้เปลี่ยน 8080 เป็น 3128
 

กรณี iptables

ใช้การ์ดแลน 1 การ์ด  ให้ใช้คำสั่งดังนี้ :
#echo 1 > /proc/sys/net/ipv4/ip_forward
#iptables -F
#iptables -t nat -F
#iptables -t nat -A  PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 8080

ใช้การ์ดแลน 2 การ์ด โดย eth0 เป็น public และ eth1 เป็น private ให้ใช้คำสั่งดังนี้ :
#echo 1 > /proc/sys/net/ipv4/ip_forward
#iptables -F
#iptables -t nat -F
#iptables -t nat -A  PREROUTING -i eth1 -p tcp --dport 80 -j REDIRECT --to-port 8080

ใช้การ์ดแลน 2 การ์ดและทำ Masquerade ด้วย โดย eth0 เป็น public และ eth1 เป็น private การทำ Masquerade ด้วยจะเป็นผลดี กล่าวคือผมเคยเจอว่าการเรียกเว็บของบางที่ซึ่งมีระบบ Secure ด้วย จะใช้งานไม่ได้ เลยต้องทำ Masquerade ด้วย ซึ่งให้ใช้คำสั่งดังนี้ :
#echo 1 > /proc/sys/net/ipv4/ip_forward
#iptables -F
#iptables -t nat -F
#iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
#iptables -t nat -A  PREROUTING -i eth1 -p tcp --dport 80 -j REDIRECT --to-port 8080

กรณีที่ใช้ Squid ร่วมกับ Cisco Router
ในกรณีที่ Gateway เป็น Cisco Router ก็สามารถทำ Transparent Proxy ร่วมกับ Squid เช่นเดียวกันครับ แต่การทำ ต้องทำทั้งบนเครื่องที่เป็น Squid และบน Cisco Router ซึ่งใช้ Web Cache Communication Protocol (wccp)

ในที่นี้ผมจะยกตัวอย่างแบบง่าย ๆ ที่ผมเคยทดลองใช้งานได้นะครับ (ออกตัวเสียก่อน เพราะจริง ๆ แล้วผมไม่เก่งเรื่อง router มากนัก) วิธีการทำการเป็นดังนี้ครับ

ขั้นที่ 1 ทำที่ Squid
ก็ทำเหมือนกับวิธีการทั่วไปครับ คือ ให้ทำการแก้ไขหรือเพิ่มเติมข้อมูลในไฟล์คอนฟิกของ squid (squid.conf) ให้มีบรรทัดต่อไปนี้ :

httpd_accel_host virtual
httpd_accel_port 80
httpd_accel_with_proxy  on
httpd_accel_uses_host_header  on

และในไฟล์ squid.conf จะมีคำว่า :

wccp_router 0.0.0.0

ซึ่งเป็นการกำหนด IP ของ home router โดยค่า default จะเป็น 0.0.0.0 หมายถึงเป็นการ disable wccp ดังนั้นก็ให้เปลี่ยน 0.0.0.0 เป็น IP ของ Router และถ้ามีเครื่องหมาย # นำหน้าก็ให้เอาออก 

ขั้นที่ 2 การใช้คำสั่งบน Cisco
ให้ใช้คำสั่งสั้น ๆ 4 คำสั่ง ดังนี้ :
Router(conf)#ip wccp version 1 # ผมลองใช้ Version 2 (ซึ่งเป็นค่า default ของ router รุ่นที่ผมใช้) ปรากฎว่ามองไม่เห็น Proxy (Cache Engine)
Router(conf)#ip wccp web-cache
Router(conf)#int e0/0
Router(conf-if)#ip wccp web-cache redirect out

หมายเหตุ ตรง e0/0 อาจจะเป็น e0 หรือ f0 ได้นะครับ ขึ้นอยู่กับรุ่นของ router

คำสั่งที่เกี่ยวข้อง
sh ip wccp
sh ip wccp web-cache detail
sh ip wccp web-cache view
clear ip wccp
clear ip wccp web-cache


รักที่จะเรียนรู้ คิดเมื่อมีสิ่งที่เรียกว่าอุปสรรค ฉลาดเมื่อเห็นว่าเหตุผลกับแนวทางตรงกัน เฉลียวเมื่อเห็นว่ามีสิ่งที่เราคิดว่าเกิดจากประสบการณ์  (ถามผู้มีประสบการ์มากกว่าถามผู้รู้)

ออฟไลน์ ทัชชี่น่ารัก

  • *****
  • 961
  • 39
  • เพศ: ชาย
  • The Friendship for You can Touch
    • ทัชชี่
Re: การทำ Transparent Proxy บน Squid and Cisco Setting Support
« ตอบกลับ #1 เมื่อ: 8 พฤศจิกายน 2004, 15:18:57 »
ใจคอจะลอกมาอย่างเดียวเลยเหรอครับ  >:( อย่างน้อยก็น่าจะให้เครดิตเจ้าของเว็บเค้าหน่อยนะครับ

ออฟไลน์ :: นักโทษประหาร ::

  • *****
  • 1,158
  • 11
  • เพศ: ชาย
  • http://www.itmanage.info
Re: การทำ Transparent Proxy บน Squid and Cisco Setting Support
« ตอบกลับ #2 เมื่อ: 8 พฤศจิกายน 2004, 23:41:19 »
ผม ทราบดีครับว่า ผม ทำเองตรงนี้ ผม เขียน ไม่ถูกหรอก ครับ ผม อ่าน แล้วสนใจ แล้ว ส่งมาให้อ่าน ครับ และเจ้าของ ที่คนเขียน เค้า ก้อมีเจตนาการเผยแร่ อยู่แล้วครับ  การ copy มาให้คนอื่นได้อ่าน ด้วยมาน ผิดเหรอครับ
รักที่จะเรียนรู้ คิดเมื่อมีสิ่งที่เรียกว่าอุปสรรค ฉลาดเมื่อเห็นว่าเหตุผลกับแนวทางตรงกัน เฉลียวเมื่อเห็นว่ามีสิ่งที่เราคิดว่าเกิดจากประสบการณ์  (ถามผู้มีประสบการ์มากกว่าถามผู้รู้)

ออฟไลน์ ทัชชี่น่ารัก

  • *****
  • 961
  • 39
  • เพศ: ชาย
  • The Friendship for You can Touch
    • ทัชชี่
Re: การทำ Transparent Proxy บน Squid and Cisco Setting Support
« ตอบกลับ #3 เมื่อ: 12 พฤศจิกายน 2004, 12:26:21 »
ผม ทราบดีครับว่า ผม ทำเองตรงนี้ ผม เขียน ไม่ถูกหรอก ครับ ผม อ่าน แล้วสนใจ แล้ว ส่งมาให้อ่าน ครับ และเจ้าของ ที่คนเขียน เค้า ก้อมีเจตนาการเผยแร่ อยู่แล้วครับ  การ copy มาให้คนอื่นได้อ่าน ด้วยมาน ผิดเหรอครับ

มันไม่ผิดครับ...แต่มันเป็นมารยาท เป็นการให้เกียรติเจ้าของบทความครับ

ออฟไลน์ :: นักโทษประหาร ::

  • *****
  • 1,158
  • 11
  • เพศ: ชาย
  • http://www.itmanage.info
Re: การทำ Transparent Proxy บน Squid and Cisco Setting Support
« ตอบกลับ #4 เมื่อ: 12 พฤศจิกายน 2004, 14:20:02 »
บท ความ ตรงนี้ มีคน สอน ผม ให้ หัดทำ เรื่อง กฏ การ บังคับ proxy ไม่ว่า ใน config Linux หรือ cisco ให้ support และ ผม ก้อ หัดทำ มานจน สำเร็จ ทำให้ องค์ กร ๆ นึง เค้าประทับใจ มากๆๆ และ เป็น สคิป หา กิน ของ ผม ตลอด มา จน ถึงทุกวันนี้

 คน ที่ สอน ผม มา เรื่อง policy คือ คุณ วรกิจ
รักที่จะเรียนรู้ คิดเมื่อมีสิ่งที่เรียกว่าอุปสรรค ฉลาดเมื่อเห็นว่าเหตุผลกับแนวทางตรงกัน เฉลียวเมื่อเห็นว่ามีสิ่งที่เราคิดว่าเกิดจากประสบการณ์  (ถามผู้มีประสบการ์มากกว่าถามผู้รู้)

LaZieR

Re: การทำ Transparent Proxy บน Squid and Cisco Setting Support
« ตอบกลับ #5 เมื่อ: 16 พฤศจิกายน 2004, 16:09:57 »
วรกิจ แสนกล้า MCSE ?

kichibear

Re: การทำ Transparent Proxy บน Squid and Cisco Setting Support
« ตอบกลับ #6 เมื่อ: 26 พฤษภาคม 2005, 03:23:41 »
ถูกแล้ว

wouravut

Re: การทำ Transparent Proxy บน Squid and Cisco Setting Support
« ตอบกลับ #7 เมื่อ: 4 กรกฎาคม 2005, 11:31:35 »
เสริมนิดนะครับ :)ที่ Cisco router เราใช้เป็น ip policy ก็ได้ครับ
มีวิธีการดังนี้นะครับ
ก่อนอื่นต้อง Config access-list ก่อนนะครับ ตัวอย่าง
access-list 10 permit 192.168.10.0 0.0.0.255        <---- คือชุด IP ที่ใช้นะครับ
access-list 102 deny   tcp host 192.168.10.5 any eq www   < --- คือ IP ของ Linux ที่ทำ Traparent Proxy นะครับ
access-list 102 permit tcp 192.168.10.0 0.0.0.255 any eq www    < --- คือ ข้อกำหนดในการอนุญาตชุด IP ที่ใช้นะครับ
จากนั้นต้องมาทำ route-map นะครับ ดังนี้
route-map proxy permit 10 <-- อ้างถึง access-list 10
 match ip address 102 <-- อ้างถึง access-list 102
 set ip next-hop 192.168.10.5 ไอพีของ Linux ที่ทำ Traparent Proxy ไว้นะครับ
จากนั้นต้องมา Config ที่ int lan ของ router นะครับ ตัวอย่างเป็น int eth0/0 นะครับ
1.conf t
2.int eth0/0
3.ip policy route-map proxy
4.Ctrl+z
5.wr
เรียบร้อยครับ..... อ้ออย่าลืมทำ Set IP Tranparent Proxy ให้เป็น 192.168.10.5 ด้วยนะครับ ;D

ออฟไลน์ :: นักโทษประหาร ::

  • *****
  • 1,158
  • 11
  • เพศ: ชาย
  • http://www.itmanage.info
Re: การทำ Transparent Proxy บน Squid and Cisco Setting Support
« ตอบกลับ #8 เมื่อ: 4 กรกฎาคม 2005, 17:38:56 »
 O0 อาจารย์บ้านนอก
รักที่จะเรียนรู้ คิดเมื่อมีสิ่งที่เรียกว่าอุปสรรค ฉลาดเมื่อเห็นว่าเหตุผลกับแนวทางตรงกัน เฉลียวเมื่อเห็นว่ามีสิ่งที่เราคิดว่าเกิดจากประสบการณ์  (ถามผู้มีประสบการ์มากกว่าถามผู้รู้)