ทีนี้ถ้าทิศทางตรงกันข้าม ในกรณีที่เป็น Upload ก็น่าจะทำเหมือนๆกันรึเปล่านะ?
สำหรับคนที่เดาว่าทำเหมือนกันก็คงถูกแค่บางส่วน เพราะใน config ส่วนของ RULE ดูเผินๆแล้วเหมือนจะสามารถเอา IP สลับข้างและคุม upload ได้ แต่จริงๆแล้วไม่ง่ายแบบนั้นครับ เพราะการ upload จะต้องควบคุมการออกของข้อมูลที่ขา WAN จึงจะคุมความเร็วขาออกได้
แต่อย่างไรก็ดี ถ้าใครรู้วิธี config ที่สามารถ implement ได้สะดวกขึ้นในแนวทางของการใช้ cbq กรณีการ Upload นั้นสามารถฝากมาได้เลย จะ Link ไปหาทันทีเพื่อเป็นทางเลือกกับผู้อ่านต่อไปครับ
เพื่อไม่ให้เสียเวลาอ่าน ตาม Step ต่อไปนี้เลย
1. ต้องมี Linux ที่เป็น firewall เรียบร้อย เหมือนเดิม
2. เราต้องเป็น root
3. ตรวจสอบว่าเครื่องมือ cbq เรียบร้อย
4. ต้องใช้ ipatables ซึ่งเป็นการควบคุมให้ Linux ทำงานเป็น firewall
5. สร้าง bandwidth profile โดยเป็นรูปแบบตาม format ของ cbq เริ่มที่ชื่อไฟล์ก่อน
ชื่อต้องสร้างในรูปแบบ cbq-hhhh.name ข้อสรุปการตั้งชื่อคือ
- นำด้วยคำว่า "cbq-" พร้อมกับขีด dash 1 ตัว
- เลข class ความยาว 4 หลัก เป็นเลขฐานสิบหก hexagonal
- และสุดท้าย เป็นชื่ออะไรก็ได้ โดยใช้ . เป็นตัวคั่น
ตัวอย่างเช่น cbq-0010.myprofile หรือ cbq-01ff.mycbq หรือ cbq-0001.jingjunpc
6. Template เพื่อการคุม bandwidth กรณี Upload ผมเสนอ Template นี้
DEVICE=eth0,100Mbit,10Mbitซึ่ง eth0 เป็นขา WAN ของระบบ สังเกตุเทียบจากบทความตอนแรก เราไม่ใช้ RULE แล้ว แต่เปลี่ยนเป็น MARK แทน ซึ่งแทนด้วยตัวเลขจำนวนเต็ม สามารถรองรับได้ 65535 marks
RATE=768Kbit
WEIGHT=76Kbit
PRIO=5
LEAF=none
ISOLATED=yes
MARK=100
7. กำหนด iptables เพื่อระบุ mark
#> iptables -t mangle -A PREROUTING -s 192.168.1.10 -i eth1 -j MARK --set-xmark 100
Traffic Direction โดย cbq ชุดนี้อธิบายการ Shape bandwidth กับ client ในขา Upload |
8. ทำการ start cbq ด้วยคำสั่ง
cbq start
ถ้าไม่มี error ใดแสดงขึ้นมา แสดงว่าน่าจะไม่มีปัญหา
ทำนองเดียวกัน ถ้าเราต้องการทำหลาย IP ก็เพียงแค่เขียน shell script ขึ้นมาเพื่อสร้าง bandwidth profile และทำการ run คำสั่ง iptables แบบเยอะๆได้
ปัญหาที่พบจะเกิดกับการใช้ Transparent Proxy, หรือโปรแกรมที่เกี่ยวข้องกับการทำ Socket ต่างๆ ซึ่งมีทั้ง squid, socks5, FTP Proxy จนไปถึงพวก caching ทั้ง TCP หรือ UDP ต่างๆ เพราะการที่ข้อมูลผ่านเข้า Proxy ไปแล้ว จะเหมือนกับเครื่อง Server ทำการส่งข้อมูลออกไป Internet เสียเอง ดังนั้นการควบคุม bandwidth ด้วย Mark จะไม่มีผลเฉพาะกับบาง Protocol ที่วิ่งผ่าน Proxy พวกนี้ครับ
สำหรับการคุม Bandwidth ด้วย cbq ทั้งสองตอน น่าจะช่วยเป็นทางลัดให้ System Admin บางท่านจบปัญหาได้เร็วขึ้นครับ
Written by Tiwakorn Laophulsuk
No comments:
Post a Comment
Give a comment ...