การติดตั้ง proxy server ด้วยโปรแกรม squid


การติดตั้ง proxy server ด้วยโปรแกรม squid

การติดตั้ง proxy server ด้วยโปรแกรม squid

วิธีติดตั้ง proxy server ด้วยโปรแกรม squid
*** แหล่งข้อมูลต้นฉบับ squid คือ http://www.squid-cache.org

  1. ติดตั้งโปรแกรม squid ด้วยคำสั่ง
    apt-get install squid

    ในกรณีที่ใช้ yum ให้เปลี่ยนคำว่า apt-get เป็น yum ดังตัวอย่าง
    yum install squid

  2. แก้ไขให้ทำงานทุกครั้งที่บูทเครื่อง
    chkconfig squid on

  3. ตัวอย่างข้อกำหนดของระบบ proxy server
    • ติดตั้งบน server หมายเลข IP คือ 10.0.0.5
    • cache http port คือ 3128

    ให้แก้ไขแฟ้ม /etc/squid/squid.conf กำหนดค่าตัวอย่างดังนี้

    • ค้นหาตัวแปร http_port เพื่อตั้งค่าใหม่
      ตัวอย่างต้นฉบับเดิมคือ # http_port 3128
      ค่า default คือ http_port เป็น  3128 อยู่แล้ว ไม่ต้องทำอะไรอีก
      หากใช้ port อื่นเช่น 8080 ก็เปลี่ยนให้เป็น http_port 8080 0
      *** อย่าลืมเอาเครื่องหมาย # ด้านหน้า ออกด้วย

    • ค้นหาตัวแปร http_access เพื่อตั้งค่าใหม่
      ตัวอย่างต้นฉบับเดิมคือ # http_access deny all
      ค่า default คือปิดไม่อนุญาติให้ใช้เลย
      แก้ไขใหม่อนุญาติให้ใช้ได้ทั้งหมดเป็น http_access allow all
      *** อย่าลืมเอาเครื่องหมาย # ด้านหน้า ออกด้วย

  4. สั่งให้ทำงานด้วยคำสั่งว่า
    /etc/init.d/squid start
    Starting dhcpd:                                             [  OK  ]

  5. เฉพาะกรณีการทำ proxy server ในมหาวิทยาลัยสงขลานครินทร์
    ที่กำหนดต้องผ่าน cache.psu.ac.th:8080 อยู่แล้วจึงต้องแก้ไข
    ข้อมูลในแฟ้ม /etc/squid/squid.conf

    • ค้นหาตัวแปร cache_peer เพื่อตั้งค่าใหม่
      ตัวอย่างต้นฉบับเดิม ไม่ได้กำหนดค่านี้ไว้
      ให้เพิ่มเข้าไปใหม่เองด้วยบรรทัดว่า
      cache_peer cache.psu.ac.th parent 8080

    • สั่งทำงานใหม่ด้วยคำสั่งว่า
      /etc/init.d/squid reload

  6. ตัวอย่างทดสอบใช้งาน โดยตั้งค่าใน browser ให้ชี้ไปที่
    proxy server 10.0.0.5 port 3128

  7. การตั้งค่าให้ squid อนุญาติให้ไปเอาข้อมูลโดยตรงจากบาง site
    แก้ไขแฟ้ม /etc/squid/squid.conf
    ตัวอย่างอนุญาติให้ site ภายใต้โดเมน psu.ac.th คือ

    acl psu dstdomain .psu.ac.th
    always_direct allow psu

  8. ถ้าต้องการให้มีการตรวจสอบชื่อและรหัสผ่านผู้ใช้งาน ระบบ proxy
    โดยมีฐานข้อมูลบัญชีผู้ใช้และรหัสผ่านจากแฟ้มระบบ /etc/passwd
    สามารถทำได้โดยแก้ไขแฟ้ม /etc/squid/squid.conf ดังนี้

    • จากเดิมที่บรรทัดว่า http_access allow all
      ให้เปลี่ยนเป็น http_access allow password all

    • จากเดิมที่บรรทัด #acl password proxy_auth REQUIRED
      ให้ลบเครื่องหมาย # ออก กลายเป็น acl password proxy_auth REQUIRED

    • ให้แทรกเพิ่มบรรทัดว่า
      auth_param basic program /usr/lib/squid/pam_auth

      ก่อนหน้าบรรทัดเหล่านี้คือ
      auth_param basic children 5
      auth_param basic realm Squid proxy-caching web server
      auth_param basic credentialsttl 2 hours
      auth_param basic casesensitive off

    • กำหนดสิทธิ์ของแฟ้มด้วยคำสั่ง
      chmod  u+s  /usr/lib/squid/pam_auth

    • เสร็จแล้วก็ให้ reload squid ด้วยคำสั่ง
      /etc/init.d/squid reload

  9. หากไม่ต้องการใช้แฟ้ม /etc/passwd แต่ต้องการใช้ฐานข้อมูลของ IMAP server
    ให้ดำเนินการทำนองเดียวกับการจัดการเชื่อมกับ /etc/passwd
    แต่ต้องดาวน์โหลดโปรแกรมจัดการเพิ่มเติมและปรับแต่งดังนี้

    • ดาวน์โหลดโปรแกรมจาก ftp://ftp.psu.ac.th/pub/squid/squid-imap.py
      มาเก็บไว้ที่ /usr/lib/squid

    • กำหนดสิทธิ์ของแฟ้มด้วยคำสั่ง
      chmod  +x  /usr/lib/squid/squid-imap.py

    • แก้ไขแฟ้ม /usr/lib/squid/squid-imap.py
      ที่บรรทัดเดิมคือ server="127.0.0.1"
      ให้แก้ไขเป็น IMAP server ที่ตัองการตัวอย่างคือ
      server="myserver.domain"

    • ตรวจสอบแก้ไข locale อย่าให้เป็น UTF-8
      โดยการแก้ไขแฟ้ม /etc/sysconfig/i18n
      จากบรรทัดข้อความเดิม LANG="en_US.UTF-8"
      ให้ลบ .UTF-8 ออกเหลือเพียงข้อความว่า LANG="en_US"

    • แก้ไขแฟ้ม /etc/squid/squid.conf เปลี่ยนแปลงบรรทัดจากเดิม
      auth_param basic program /usr/lib/squid/pam_auth
      ให้เป็นดังนี้
      auth_param basic program /usr/lib/squid/squid-imap.py

    • เสร็จแล้วก็ให้ reload squid ด้วยคำสั่ง
      /etc/init.d/squid reload

  10. การตั้งค่าให้ squid ทำตัวเป็น transparent proxy
    ต้องมีการตั้งค่าของ router ด้วย
    เฉพาะในส่วนของ squid ให้แก้ไขแฟ้ม /etc/squid/squid.conf

    httpd_accel_host virtual
    httpd_accel_port 80
    httpd_accel_with_proxy on
    httpd_accel_uses_host_header on

    *** ไม่สามารถใช้ squid ทำ transparent proxy กับ port https (443)
         ทำได้เฉพาะ port http (80) เท่านั้น เนื่องจากข้อจำกัดทางเทคนิค

  11. ตัวอย่างการปรับแก้ไข shorewall ให้ใช้คู่กับ squid เป็น transparent proxy
    แก้ไขแฟ้ม /etc/shorewall/rules

    # Squid
    REDIRECT  loc                   3128     tcp      80,44
หมายเลขบันทึก: 107658เขียนเมื่อ 30 มิถุนายน 2007 18:35 น. ()แก้ไขเมื่อ 22 มิถุนายน 2012 09:35 น. ()สัญญาอนุญาต: จำนวนที่อ่านจำนวนที่อ่าน:


ความเห็น (0)

ไม่มีความเห็น

พบปัญหาการใช้งานกรุณาแจ้ง LINE ID @gotoknow
ClassStart
ระบบจัดการการเรียนการสอนผ่านอินเทอร์เน็ต
ทั้งเว็บทั้งแอปใช้งานฟรี
ClassStart Books
โครงการหนังสือจากคลาสสตาร์ท