Squid Block วิทยุ ทีวี

ไม่รู้ว่าถามแปลงหรือ แบบทึ่มๆ ไปหรือเปล่าเลยไม่มีใครเข้าใจเลย
ถ้า  block ตามนี้แล้วมันจะมีผลกับ service อื่น ๆหรือเปล่า

ตัวอย่างแรก  block port
------------------------
1. Microsoft Media Streaming ต้อง block protocal mms ที่ port 7070
2. Real Helix server ต้อง block rudp ที่ port 154
3. Shoutcase Server ต้อง block default port 8000
4. HTTP streaming block ที่ squid ด้วย access list *.mp3 ,*.wmv ,*.rm

อีกแบบครับ ลองแล้ว (ไม่ได้ครับ )
------------------------------------------------------------------------------------------
> ยกตัวอย่างนะ
> สร้างไฟล์ radio และเก็บไว้ที่ /usr/local/squidGuard/db/blacklist/
> ในไฟล์ radio จะมี . ของนามสกุลที่ต้องการ block ดังนี้
> (mov|au|avi|m3u|mp2|mp3|mpeg|mpg|ra|ram|rm|viv|vivo|vob|vqf|vbs|shs|pif)($|\?)
> หากต้องการ เพิ่มเติมนอกเหนือจากนี้ให้เพิ่มลงไปได้
>
> จากนั้นไปเพิ่มใน file /etc/squid/squid.conf
> acl RADIO url_regex "/usr/local/squidGuard/db/blacklist/radio"
> acl WORKTIME time M T W H F 9:00-18:00
>
> http_access deny RADIO WORKTIME
>
> ตรง WORKTIME เป็นการกำหนดช่วงเวลาที่ block
> แล้วสั่ง restart squid เป็นอันว่า ใช้งานได้แล้วครับ

มีวิธีอื่นไหมครับ เจ้านายเขา รอคำตอบนะครับ


ถามตอบของคุณหนอนน้อย จากนิตยสาร Quick Linux (Oct-Nov 2002)

การกำหนด bandwidth ในการ download โปรแกรมหรือการใช้ข้อมูลผ่าน squid นั้นจะใช้
Feature ที่ชื่อว่า Delay Pools ซึ่งตอนแรกที่เราได้ทำการ configure และ install ไปนั้น เราได้ทำไปแล้ว
ซึ่งจะแบ่งการกำหนดออกเป็น 3 ลักษณะดังนี้

แบบแรก : กำหนดการ download จาก ตัวอักษรหรือคำจาก website

acl magic_words url_regx -i .exe
delay_pools 1
delay_class 1 1
delay_parameters 1 4000/4000
delay_access 1 allow magic_words

อธิบายได้ดังนี้
magic_world เป็นตัวแปลบออกว่าถ้ามีนามสกุล .exe (ส่วน -i คือเป็นตัวบออกว่าเป็น
case-insensitive) ให้ download มาด้วยความเร็วไม่เกิน 32 Kbit/sec ก็ประมาณ 4 Kbyte/sec

แบบสอง : กำหนดให้ขนาด bandwidth ให้กับคนที่ใช้ภายใน network

acl a_ll src 0.0.0.0/0.0.0.0
delay_pool_count 1
delay_class 1 2
delay_parameters 1 12500/12500 2500/2500
delay_access 1 allow a_ll

อธิบายได้ดังนี้
จากตัวอย่างข้างต้นสมมติว่าคุณมี Lease Line ขนาด 128K และต้องการจะเหลือไว้สักนิด
สำหรับ SMTP server ซึ่งเป็น IP จริงไม่ได้ต่อผ่านกับ gateway ตัวนี้ และให้ใช้สำหรับ NAT ภายใน
องค์กร 100Kbit/sec เพื่อให้ทุกคน share กันใช้เท่าๆกัน และต้องการจะให้แต่ละคนใช้ Bandwidth
ได้ไม่เกิน 2.5 Kbyte/sec (สังเกตุดีๆ นะครับหน่วยไม่เหมือนกัน เพื่อง่ายต่อการเข้าใจ ควรตั้งใจอ่าน
ทุกตัวอักษรครับ)

แบบสาม : กำหนดขนาด bandwidth ให้กับ group network

acl a_ll src 0.0.0.0/0.0.0.0
delay_class 1 3
delay_parameters 1 56000/56000 18750/18750 500/500
delay_access 1 allow all

อธิบายได้ดังนี้
ถ้าคุณมี Lease Line ขนาด 512K และต้องการเหลือ Bandwidth สำหรับ SMTP ไว้
8Kbyte/sec ใช้ภายใน network ไม่เกิน 448 Kbit/sec และแบ่งให้แต่ละ class ไม่เกิน 150 Kbit/sec
และให้แต่ละ IP ไม่เกิน 4 Kbit/sec (หน่วยไม่ผิดนะครับ ถ้าเป็น Kbyte เอา 8 หารจะเป็น Kbit ครับ)


##########################################################################

บทความจากเว็บไซด์ "มหาวิทยาลัยราชภัฏบุรีรัมย์"

ชื่อเรื่อง: Squid (Delay pools)

เรียบเรียงโดย :
1. นางสาวรัตนา โพธิบัติ
2. นางสาวลลิตา ธงชัย
3. นางสาววาสนา ช่างถม
4. นางสาวสกาวรัตน์ เขาแก้ว
5. นางสาวอุมา ชัยสุวรรณ์

เผยแพร่เมื่อ: 26 กุมภาพันธ์ 2547


Proxy
ทำหน้าที่เป็นที่พักข้อมูลที่ถูกดึงมาจาก Server ภายนอก ไม่ว่าจะเป็นภาพ , เสียง , เอกสาร ,
html เป็นต้น การใช้ Proxy server โดยทั่วไปผู้บริหารระบบจะทำการกำหนดให้เครื่อง client ในเครึอข่าย
ค้นหาไฟล์หรือข้อมูลจาก proxy server ก่อนที่จะไปค้นหา server ภายนอก เพื่อเป็นการประหยัด ช่องทาง
การจารจร เพื่อให้การเล่นอินเทอร์เน็ตจัดการได้เร็วขึ้นโดยการทำงานของ proxy server จะถูกจัดการโดย
โปรแกรม squid

Squid
คือโปรแกรมที่ทำหน้าที่เป็น Proxyและ Cache เซิร์ฟเวอร์ที่มีประสิทธิภาพสูง เราสามารถค่า
configuration ต่าง ๆ ของ squid เพื่อทำเป็น Proxy server เช่น การกำหนดขนาดของพื้นที่ที่ใช้ในการ
เก็บข้อมูล ทั้งในดีสก์และในแรม นอกจากนี้แล้ว เรายังสามารถทำการบริหารช่องทางที่เรียกว่า Bandwidth
โดยใช้ squid ได้อีกด้วยโดยใช้ delay pools

Delay pools
Delay pools ทำหน้าที่ใช้เพื่อควบคุมปริมาณการใช้Traffic หรือการวิ่งของข้อมูลเพื่อไม่ให้
Bandwidth เต็มหรือพูดอีกอย่างหนึ่งได้ว่าเป็นการทำ Traffic Shaper

การกำหนดค่า Squid

ใช้คำสั่ง# vi /etc/squid/squid.conf

http_port 8080 #เป็นตัวกำหนด squid เพื่อฟังการร้องขอมากจาก client โดยกำหนดมาที่ port 8080

# หลีกเลี่ยงการเก็บ cgi scripts ลงในแคช
acl QUERY urlpath_regex cgi-bin
no_cache deny QUERY

#ส่วนนี้ใช้ทำ transparent proxy
httpd_accel_host virtual httpd_accel_port 0
httpd_accel_with_proxy on
httpd_accel_uses_host_header on

# ขนาดแรมที่มีอยู่จริงในเครื่องหาร 3
cache_mem 350 MB #กำหนดขนาดหรือการจองพื้นที่ใน Ram มาทำเป็น cache memory เพราะว่า CPU สามารถดึงข้อมูลใน Ram ได้เร็วกว่าใน Disk

# ที่เก็บ log files ถ้าไม่เก็บล็อกไฟล์ก็ /dev/null แทนไดเร็กทอรีนั้น ๆ
cache_dir diskd /cache 1000 16 256 Q1=72 Q2=64 #หมายเลข 1000 นี้เป็นขนาดดิสก์ที่ squid ที่จองไว้ใช้ทำดิสก์แคชมีขนาด 1000 เมกะไบต์
cache_access_log /var/log/squid/access.log #มีไว้เก็บข้อมูลการร้องขอ client สำหรับทุก ๆ http และ icpquery
cache_store_log /var/log/squid/store.log #แสดงถึง log-file ที่เก็บไว้ใน cache
cache_log /var/log/squid/cache.log #เก็บขนาดของ object ที่ถูกดาวโหลดเข้าใน server

# กำหนดวิธีการแทนที่ข้อมูลเดิมในแคช
cache_replacement_policy GDSF #เป็นวิธีการแทนที่ไฟล์ที่เก็บไว้ใน cache
dns_testnames 202.29.14.1
logfile_rotate 10 #กำหนดให้ logfile ทำงานแบบครบ 10 ไฟล์ค่อยแทนของเดิม

#acl = Access List เป็นการตั้งส่วนควบคุมการใช้งาน Proxy/cache เซิร์ฟเวอร์
acl all src 0.0.0.0/0.0.0.0 #all เป็นชื่อ ที่กำหนดให้ต้นทางคือทุกเครื่อง
acl manager proto cache_object
acl localhost src 127.0.0.1/255.255.255.255 # localhost เป็นชื่อคือต้นทางคือเครื่องตัวเอง
acl rinet src 202.29.14.0/255.255.255.0 # rinet เป็นชื่อ ที่ใช้กำหนดให้ต้นทางคือ ip ในเน็ตเวิร์คขององค์กร
acl SSL_ports port 443 563
acl Safe_ports port 80 # http
acl Safe_ports port 21 # ftp
acl Safe_ports port 443 563 # https, snews
acl Safe_ports port 70 # gopher
acl Safe_ports port 210 # wais
acl Safe_ports port 1025-65535 # unregistered ports
acl Safe_ports port 280 # http-mgmt
acl Safe_ports port 488 # gss-http
acl Safe_ports port 591 # filemaker
acl Safe_ports port 777 # multiling http
acl CONNECT method CONNECT

#อนุญาตหรือไม่อนุญาต acl ที่ตั้งไว้ http_access allow manager
http_access allow localhost
http_access allow rinet
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
http_access deny all

icp_access allow localhost
icp_access allow rinet
#ส่วน acl ก่อนการทำ Delay pools

acl magic_words1 url_regex -i 202.29.14.1
#กำหนด acl กลุ่มที่มีสิทธิ์ทุกอย่าง acl magic_words2 url_regex -i ftp .exe .mp3 .vqf .tar.gz .gz .rpm .zip .rar .avi .mpeg .mpe .mpg .qt .ram .rm .iso .raw .wav .mov #กำหนด acl กลุ่มที่ต้องควบคุม traffic คือไฟล์บางประเภทที่ใหญ่ ๆ

การกำหนดค่า Squid(Delay Pool)
# สำหรับ delay pool ที่คุณต้องการ --enable-delay-pools
delay_pools 2 #กำหนดให้มี 2 pool ที่ต้องใช้

#สมมุติมี link ขนาด 2Mbits ซึ่ง 2 mbits == 256 kbytes ต่อวินาที เราจะจำกัดให้ใช้ได้ไม่เกิน 5 KB/s ต่อโหนด
delay_class 1 2 #กำหนดให้ pool ที่ 1 เป็น class 2 ที่ถูกกำหนดค่าไว้ใน magic_word2 แบบจำกัด
delay_parameters 1 256000/256000 5000/256000
delay_access 1 allow magic_words2 #กลุ่มที่ดาวน์โหนดไฟล์ต่าง ๆ ที่กำนดไว้
delay_access 1 allow rinet #กลุ่มที่มี ip ต้นทางเป็นเครือข่ายภายใน

# -1/-1 หมายความว่าไม่มีการจำกัดขนาดของ traffic.
delay_class 2 2 #กำหนดให้ pool ที่ 2 เป็น class 2 ที่ถูกกำหนดค่าไว้ใน magic_word1 แบบไม่จำกัด
delay_parameters 2 -1/-1 -1/-1
delay_access 2 allow magic_words1

# ไม่จำกัดขนาด
reply_body_max_size 0 allow all


#ส่วน snmp เพื่อเอาไว้ใช้วัดการใช้งาน traffic
acl snmppublic snmp_community public
snmp_access allow snmppublic localhost
snmp_access deny all

# Change domain
cache_mgr noc@ribr.ac.th
cachemgr_passwd secret_password all
visible_hostname proxy1.ribr.ac.th
unique_hostname proxy1.ribr.ac.th
#******************************* End of squid.conf file *********************************

สร้าง Cache Directory

ใช้คำสั่ง#mkdir /cache

#cdmod 755 /cache/

#chown -R squid:squid /cache/

#mkdir /var/log/squid/

#chmod 755 /var/log/squid/

#chown -R squid:squid /cache/

#squid -z

#service squid start

ถ้าถูกต้องจะขึ้น[OK] ที่บรรทัด startting squid

ใช้คำสั่ง#tail -f/var/log/squid/access.log เพื่อติดตามการทำงานของ squid ูว่ามีการร้องขอใช้
proxy หรือยัง

ลองหาดาวน์โหลดไฟล์พวก .zip ดูว่าความเร็วในการดาวน์โหลดไม่เกิน 5 Kb จริงหรือไม่ ...
   

0 comments:

Post a Comment

 

Pfsense Thailand Copyright © 2011-2012 | Powered by Blogger