Trừ phi bạn mua bộ định tuyến (router) đắt tiền giá khoảng chục triệu, còn không, với các router giá vài triệu chạy Linux khó hy vọng có sẵn các tính năng quản lý băng thông. Tuy nhiên, bạn có thể làm được chuyện đó nhờ các phiên bản Linux tuỳ biến.
Trong bài, người viết sử dụng Linksys WRT54GL version 1.1 giá tầm 1,2 triệu đồng. Để mua đúng thiết bị chạy Tomato (nhân Linux) thì bạn nên biết về các loại router sử dụng chipset của Broadcom có đủ bộ nhớ flash (thường phải từ 4MB trở lên) và RAM (từ 16MB trở lên). Bạn có thể tìm mua những dòng router tương thích với Tomato được nhắc đến trên website của Tomato (http://www.polarcloud.com/tomato).
Routers that are known to work with Tomato:
- Linksys WRT54GL v1.x, WRT54G v1-v4, WRT54GS v1-v4, WRTSL54GS (no USB support)
- Buffalo WHR-G54S, WHR-HP-G54, WZR-G54, WBR2-G54, WBR-G54, WZR-HP-G54, WZR-RS-G54, WZR-RS-G54HP, WVR-G54-NF, WHR2-A54-G54, WHR3-AG54
- Asus WL520GU (no USB support), WL500G Premium (no USB support), WL500GE
- Sparklan WX6615GT, Fuji RT390W, Microsoft MN-700
Giới thiệu về Tomato
![]() |
Người viết tin chắc hầu hết các bạn sẽ thấy ấn tượng với giao diện theo dõi băng thông của nó. Bạn có thể tham khảo thêm đoạn video clip tại: http://www.polarcloud.com/v/scbwm.htm. Tomato còn rất nhiều tính năng khác. Hữu ích hay không… phải tùy theo nhu cầu của bạn. Nếu bạn muốn một danh sách các tính năng của Tomato, có thể xem ở: http://en.wikipedia.org/wiki/Tomato_(firmware)#Features
Cài đặt Tomato không khó. Trên website của Tomato có hướng dẫn khá đầy đủ hoặc trong file readme.htm đi kèm với firmware mà bạn tải về. Tuy nhiên Tomato sẽ sử dụng lại cấu hình có sẵn của router nên việc cài đặt sẽ giống như một lần nâng cấp, chỉ có điều sau đó thì bạn sẽ có một giao diện mới với nhiều tính năng hơn.
![]() |
Theo dõi băng thông theo từng địa chỉ IP
Tại sao bạn lại cần theo dõi băng thông sử dụng theo từng địa chỉ IP? Người viết nghĩ bạn tự trả lời được câu hỏi này.
![]() |
Bạn cần thiết lập một thư mục chia sẻ để chứa log và các file cần thiết cho gói IPTables Bandwidth Monitor. Bạn có thể sử dụng bộ nhớ flash, nhưng để đơn giản, bạn có thể bắt đầu với CIFS Client trước. Bạn hãy tạo một thư mục chia sẻ trên một máy tính trong mạng nội bộ, cấp quyền truy cập write cho một username trên máy tính. Sau đó sử dụng username và password để khai báo trong mục CIFS Client. Đường dẫn UNC nên sử dụng tên máy theo địa chỉ IP, dạng: \\xxx.xxx.xxx.xxx\sharedfolder. Nếu bạn làm đúng, sau khi nhấn Save và đợi Tomato khởi động lại các dịch vụ cần thiết, mục Total/Free Size sẽ hiện lên dung lượng tối đa và còn trống của thư mục chia sẻ nói trên.
Tiếp theo bạn cần tải về gói phần mềm IPTables Bandwidth Monitor từ địa chỉ: https://launchpad.net/ipt-parse và bung file ipt-parse.7z bằng 7-zip hay WinRAR để lấy thư mục tên là tomato_files. Chép nội dung của thư mục này vào thư mục chia sẻ nói trên.
![]() |
Nhấn Save và để cho Tomato khởi động lại dịch vụ cần thiết. Sau đó vào mục Scheduler, chọn phần Custom 1, nhấn lên Enable. Chọn Time là “Every 15 minutes” và đảm bảo là bạn chọn Everyday ở mục Days. Trong ô Command bạn gõ những dòng lệnh như sau:
cd /cifs1
./ipt-parse 2 BANDWIDTH "iptables -L traffic_all -vnx" "iptables -Z traffic_all"
./ipt-parse 4 today today BANDWIDTH flags=morehostinfo > dailybandwidthlive.html
./ipt-parse 4 today-7 today BANDWIDTH flags=morehostinfo > weeklybandwidthlive.html
(Bạn có thể vào trang wiki của Mark Vejvoda để copy and paste các dòng lệnh)
Nhấn Save và chờ Tomato khởi động lại dịch vụ. Nếu bạn làm đúng, và username để truy cập trong CIFS Client có đủ quyền, sau thời gian 15 phút trong thư mục chia sẻ sẽ xuất hiện 2 file có đuôi .html có các thông tin về băng thông sử dụng của từng địa chỉ IP mà bạn đã khai báo trong Static Lease của DHCP.
Nếu đã thành công và vẫn muốn tìm tòi thêm, trang wiki có hướng dẫn cách đưa 2 trang report ở trên lên router. Lúc đó bạn sẽ truy cập 2 trang đó theo địa chỉ của router với dạng như sau: http://xxx.xxx.xxx.xxx/ext/dailybandwidthlive.asp với các chữ x là địa chỉ IP của router. Hoặc bạn có thể đưa thẳng nội dung của thư mục tomato_files vào bộ nhớ flash, không cần phải sử dụng thư mục chia sẻ.
QoS
![]() |
Tuy nhiên, công cụ Script Generator của Robson cho bạn nhiều quyền lực hơn những tính năng sẵn có của Tomato. Thử nhìn vào hình sau:
Bạn có thể quy định đến từng địa chỉ IP, hay dãy địa chỉ IP, hay port, hay thậm chí một dãy port có băng thông riêng, bao nhiêu kết nối… Thậm chí ưu tiên cho một loại traffic nào đó.
Script Generator chỉ đơn giản là viết lệnh Linux thay cho bạn, sau khi bạn đã thiết lập các rule phục vụ nhu cầu của bạn, theo hướng dẫn của nó. Sau đó nó sẽ xuất ra thành các dòng lệnh. Bạn chỉ việc copy và paste chúng vào mục Scripts, trong tab Firewall. Save và nếu được nên khởi động lại router.