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).
Giới thiệu về Tomato
![]() |
Đây là phiên bản firmware nhỏ gọn và đơn giản với giao diện web dễ sử dụng - một lợi thế của Tomato vì khi nghe nhắc đến router chạy Linux thì nhiều người e ngại sự phức tạp của việc dùng dòng lệnh để thiết lập cấu hình. Dĩ nhiên với các bạn đã biết qua OpenWRT với phiên bản X-WRT kèm theo hay với DD-WRT thì giao diện web không phải là mới. Nhưng Tomato có giao diện theo người viết là thân thiện hơn vì sử dụng AJAX và mô tả băng thông với tính năng đồ họa. Tomato không yêu cầu bạn phải khởi động lại router mỗi lần thay đổi cấu hình.
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
Tomato cung cấp các giao diện như sau để bạn quản lý chất lượng dịch của lưu lượng băng thông trên mạng. Như ở trên đã đề cập, phần View Details rất hữu ích để bạn nắm được ai-đang-làm-gì-ở-đâu trên mạng của mình. Từ đó bạn có thể điều chỉnh, hoặc thậm chí hạn chế với các rule trong phần Access Restriction.
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.