2/05/2013

Ubuntu : ติดตั้ง Proxy สำหรับให้บริการ Internet and web block

1. ติดตั้ง Squid3 และ apache2
  1. apt-get install squid3

  1. apt-get install apache2


2. ติดตั้ง lightsquid ไว้ดู log
doload http://sourceforge.net/projects/lightsquid/files/ เอาไปไว้ใน var/www/ เพื่อจะ wget เอา
  1.    wget http://sourceforge.net/projects/lightsq ... lightsquid-1.8.tgz  หรือ wget http://192.168.0.244/...ชื่อไฟล์
  2.     tar xvzf lightsquid-1.8.tgz
  3.     mv lightsquid-1.8 /usr/local/lightsquid


4. ตั้งค่า lightsquid
  1. nano /usr/local/lightsquid/lightsquid.cfg

แก้ Code ตรง #path to tpl folder ตามนี้
  1.    #path to tpl folder
  2.     $tplpath             ="/usr/local/lightsquid/tpl";
  3.     #path to lang folder
  4.     $langpath            ="/usr/local/lightsquid/lang";
  5.     #path to report folder
  6.     $reportpath          ="/usr/local/lightsquid/report";
  7.     #path to access.log
  8.     $logpath             ="/var/log/squid3"; ## log Files
  9.     #path to `ip2name` folder
  10.     $ip2namepath         ="/usr/local/lightsquid/ip2name";


ตรวจสอบ config ด้วยคำสั่ง ที่แก้ว่าถูกหรือปล่าว
  1. /usr/local/lightsquid/check-setup.pl


5. คำสั่งที่เกี่ยวข้องใน squid3 มี  /etc/ini.d/squid3 status, start, stop, reload, force-reload, restart
6. ตั้งค่า config ของไฟล์ squid.conf เป็นการกำหนดสิทธิ์ว่าจะให้ทำอะไร ให้เอา User จากไหน ให้ผ่าน ออกเน็ต ยังไง
edit by fine word HERE TO ALLOW ACCESS FROM YOUR CLIENTS.
เช่น
ให้ออกเน็ตได้หมด เพิ่ม
  1. acl localnet src 192.168.0.0/24
  2. http_access allow localnet
  3. http_access allow localhost
  4.  

หรือถ้าจะใช้ user ใน AD ของ SERVER ก็เพิ่ม
  1.    auth_param basic program /usr/lib/squid3/squid_ldap_auth -R -b "dc=sci,dc=com" -D "cn=Administrator,cn=Users,dc=sci,dc=com" -w "password" -f "sAMAccountName=%s" -h 192.168.0.254
  2.         auth_param basic children 5
  3.         auth_param basic realm Squid proxy-caching web server
  4.         auth_param basic credentialsttl 5 minutes
  5.      
  6.     #acl localnet proxy_auth REQUIRED src 192.168.0.0/24
  7.     #http_access allow localnet
  8.      
  9.     external_acl_type InetGroup %LOGIN /usr/lib/squid3/squid_ldap_group -R -b "dc=sci,dc=com" -D "cn=Administrator,cn=Users,dc=sci,dc=com" -w "password" -f "(&(objectclass=person)(sAMAccountName=%v)(memberof=cn=%a,ou=InternetUser,dc=sci,dc=com))" -h 192.168.0.254
  10.     acl InetAccess external InetGroup InetAllow
  11.     http_access allow InetAccess

///ยังไม่ค่อยเข้าใจ Code ดูต่อ
แล้ว Reload apache2
  1. /etc/init.d/apache2 reload


7. ทดลองใช้งาน set porxy ของเครื่อง 192.168.0.9 Port  3218 แล้วลองเข้า Internet ดู
8. ดู log เข้าไปที่http://192.168.0.9/lightsquid/ ลองเข้าดู
9.สั่งให้ generate report ทุกวัน ด้วยแก้ไฟล์

แล้วเพิ่ม
  1. 0 0 * * * /usr/local/lightsquid/lightparser.pl
หรือ
  1. @daily /usr/local/lightsquid/lightparser.pl


Block Web

1. Edit file squid.conf. use command
  1. /etc/squid3/squid.conf

2. เพิ่มเงื่อนไขในการ Block ใช้ ALC เหมือนข้างบน เช่น
ส่วนไฟล์ทำขึ้นเอง เป็น .txt แล้วพิมพ์ชื่อ web ลงไป  เช่น facebook.com ......
หรือ จะ copy เอาจาก SERVER2 ก็ได้อยู่ใน /var/www/cc/sci/ มี2ไฟล์ คือ webblocked_tmp.txt (Block เป็นเวลา), webblocked.txt (Block ตลอด)
แล้วเอามาไว้ที่เราต้องการของ เครื่อง SERVER เช่นในที่นี้เอาไว้ใน /var/log/squid3/
  1. acl webblocked url_regex '/var/log/squid3/webblocked.txt' # ที่อยู่ของไฟล์ log
  2.  acl day_am time 08:00-12:00
  3.  acl day_pm time 13:00-17:40
  4.  http_access deny webblocked day_am
  5.  http_access deny webblocked day_pm

No comments:

Post a Comment