EasyZone Mikrotik Billing : Hotspot สำเร็จรูป สำหรับรา้นกาแฟ, ร้านอาหาร, รีสอร์ท, โรงแรม

สินค้าแนะนำ


EasyZone Sky Box (Model L)  8,317 บาท (Unlimited Actived Users)

EasyZone Sky Box (Model L) 8,317 บาท (Unlimited Actived Users)

8,318 บาท (Exclude VAT)

(19,777)
EasyZone Sky Box (Model LLOG) 15,900 บาท จัดเก็บ LOG และ Billing บน Cloud (Unlimited users)

EasyZone Sky Box (Model LLOG) 15,900 บาท จัดเก็บ LOG และ Billing บน Cloud (Unlimited users)

15,900 บาท (Exclude VAT)

(51,279)
EasyZone Sky Box (Model LN)  18,900 บาท จัดเก็บ LOG ผ่าน NAS (Unlimited users)

EasyZone Sky Box (Model LN) 18,900 บาท จัดเก็บ LOG ผ่าน NAS (Unlimited users)

18,900 บาท (Exclude VAT)

(8,427)

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


 
การติดตั้ง proxy server ด้วยโปรแกรม squid (11-10-2548) พิมพ์ ส่งเมล์
User Rating: / 42
แย่ดีที่สุด 
Contributed by วิภัทร -   
อังคาร, 04 ตุลาคม 2005
DHCP server Made-EASY
วิภัทร ศรุติพรหม wipat.s@psu.ac.th

เวบไซต์ที่เกี่ยวข้อง http://rd.cc.psu.ac.th และ http://opensource.psu.ac.th
คำถามต่างๆ โปรดใช้กระดานความรู้้ที่
http://opensource.psu.ac.th/index.php?option=com_simpleboard&Itemid=40

ประวัติการปรับปรุง
ครั้งที่ 1.3   11-10-2548   โดย: วิภัทร

เป็นคำแนะนำติดตั้งโปรแกรม squid เพื่อเป็น proxy server
ต้นแบบทดสอบด้วย linux fedora core 4, 3 ใช้งานภายในมหาวิทยาลัยสงขลานครินทร์

วิธีติดตั้ง 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,443


  by: EasyZone       วันที่ 28/05/2551 - 21:52:15