OPNsense nổi tiếng là một firmware tường lửa mạnh mẽ, cung cấp nhiều tính năng vượt trội mà các router do nhà cung cấp dịch vụ Internet (ISP) cung cấp thường không có. Một trong những tính năng đáng giá đó chính là Traffic Shaping – định hình lưu lượng mạng. Nghe có vẻ lạ, nhưng đây lại là công cụ cực kỳ hữu ích để cải thiện hiệu suất mạng gia đình, đảm bảo mạng hoạt động ổn định và tối ưu, đặc biệt khi bạn sở hữu đường truyền tốc độ cao. Với những kết nối có thể vượt quá 1Gbps, việc cấu hình Traffic Shaping có thể nâng cao đáng kể trải nghiệm tổng thể, ngay cả trên phía mạng nội bộ của bạn. Điều tuyệt vời nhất là quá trình cấu hình trong OPNense lại vô cùng đơn giản.
Traffic Shaping là gì và tại sao nó quan trọng với mạng của bạn?
Cơ chế hoạt động và lợi ích của Traffic Shaping
Hãy tưởng tượng bạn có hai máy tính trong cùng một mạng LAN. Một máy đang phát trực tuyến video YouTube ở chất lượng cao, trong khi máy còn lại đang thực hiện một cuộc gọi video quan trọng. Lúc này, cả hai thiết bị sẽ cùng chia sẻ băng thông có sẵn, cả trong mạng nội bộ (LAN) lẫn băng thông ra Internet qua tường lửa. Điều mà nhiều người dùng có thể không nhận ra là sự cạnh tranh băng thông này có thể gây ra các vấn đề về hiệu suất, đặc biệt là độ trễ, ngay trong mạng nội bộ của bạn. Đây chính là lúc Traffic Shaping phát huy tác dụng thông qua một tập hợp các quy tắc và cơ chế quản lý lưu lượng đặc biệt.
Traffic Shaping, hay còn được biết đến với tên gọi Quản lý Hàng đợi Thông minh (Smart Queue Management) trên một số router, bao gồm ba thành phần chính:
- Pipes (Đường ống): Đây là phần đầu tiên và có lẽ quan trọng nhất của Traffic Shaping. Các đường ống này được cấu hình với giới hạn băng thông tối đa, ví dụ 50 Mbps. Chúng được sử dụng để điều hướng lưu lượng đến và đi từ các thiết bị.
- Queues (Hàng đợi): Các hàng đợi cho phép bạn ưu tiên lưu lượng truy cập trong một đường ống cụ thể. Chẳng hạn, bạn có thể thiết lập ưu tiên cho các gói tin game hơn là các cuộc gọi video.
- Rules (Quy tắc): Các quy tắc sẽ điều chỉnh ứng dụng, dịch vụ và thiết bị nào được ưu tiên hoặc bị hạn chế.
Bằng cách sử dụng đồng bộ cả ba thành phần này, chúng ta có thể tạo ra một giải pháp Traffic Shaping mạnh mẽ và hiệu quả.
Cơ chế hoạt động của Traffic Shaping là chủ động trì hoãn các gói tin có mức độ ưu tiên thấp để xử lý các gói tin đã được chỉ định là ưu tiên cao hơn thông qua các quy tắc. Các gói tin này được đặt vào một hàng đợi để xử lý trong phạm vi băng thông của đường ống (Pipe) đã định. Bạn có thể hình dung giống như việc xếp hàng trong một công viên giải trí: chúng ta có hàng đợi thông thường và hàng đợi “fast pass”. Mọi gói tin đều được xử lý kịp thời, nhưng các thiết bị và cổng được ưu tiên sẽ được xử lý trước. Nếu bạn là một game thủ, bạn có thể cấu hình OPNsense để xử lý các gói tin liên quan đến game trước tiên.
Phương pháp này mang lại tác động tích cực đáng kể đến độ trễ (latency), vì nó giúp chúng ta tránh được tình trạng Bufferbloat càng nhiều càng tốt.
Người cầm router TP-Link, biểu tượng cho thiết bị mạng gia đình
Bufferbloat là gì và tác động của nó đến trải nghiệm mạng?
Hiểu về chỉ số Bufferbloat và cách cải thiện
Bufferbloat là tình trạng khi thiết bị mạng, điển hình là tường lửa hoặc router, đệm quá nhiều dữ liệu. Điều này dẫn đến độ trễ không mong muốn, ảnh hưởng tiêu cực đến hiệu suất mạng. Nó có thể không gây khó chịu cho người dùng chỉ đơn thuần lướt web, nhưng lại là thảm họa đối với việc chơi game online và các tác vụ nhạy cảm về mạng khác. Ngay cả khi chưa áp dụng bất kỳ cài đặt nào trên OPNsense, cấu hình mạng LAN và kết nối ISP của tác giả đã cho kết quả Waveform Bufferbloat rating là A, một chỉ số khá tốt.
Có nhiều công cụ có thể được sử dụng để đo độ trễ, bao gồm Speedtest của Ookla và bài kiểm tra tốc độ của Waveform. Trong bài viết này, chúng tôi sử dụng Waveform vì nó cung cấp một điểm số cụ thể, giúp dễ dàng xác định mức độ cải thiện sau khi điều chỉnh cài đặt OPNsense. Đây là những gì chúng tôi gọi là Bufferbloat rating. Mục tiêu của bạn nên là đạt được A+, nhưng nhìn chung, chữ cái tương ứng với điểm số càng gần đầu bảng chữ cái (ví dụ: A, B), Bufferbloat của bạn càng tốt.
Việc không giải quyết các điểm số thấp có thể khiến cuộc gọi video bị giật lag, các cuộc gọi VoIP (bao gồm cả trên Discord) bị ngắt kết nối hoặc treo, và trải nghiệm chơi game nhiều người chơi thời gian thực sẽ trở nên cực kỳ khó khăn. Bạn đã bao giờ thử chơi Liên Minh Huyền Thoại với độ trễ cao chưa? Đó chắc chắn không phải là một trải nghiệm thú vị. May mắn thay, với OPNsense, việc thực hiện một vài thay đổi trong bảng điều khiển web admin có thể tạo ra sự khác biệt đáng kể.
Chỉ số Bufferbloat hiển thị kết quả kiểm tra trước khi áp dụng Traffic Shaping trên OPNsense
Hướng dẫn cấu hình Traffic Shaping trong OPNsense từng bước
Thiết lập Pipes (Đường ống) cho Download và Upload
Để cấu hình Traffic Shaping trên tường lửa OPNsense của bạn, hãy làm theo các bước dưới đây:
- Truy cập vào Firewall > Shaper > Pipes.
Giao diện cài đặt Pipes (Đường ống) trong Traffic Shaper của OPNsense
- Nhấp vào nút +.
- Chuyển sang chế độ advanced mode.
- Đặt Bandwidth thành tốc độ tải xuống (download) của mạng bạn. Ví dụ: Nếu đường truyền của bạn là 1Gbps, hãy nhập “1000M” hoặc “1024M”.
- Đặt Queue thành “2”.
- Thay đổi Scheduler type thành “FlowQueue-CoDel”.
- Nhập một giá trị vào trường FQ-CoDel quantum. (Để tính toán, bạn nhân 300 cho mỗi 100 MB/s băng thông. Với 1Gb/s, tương đương 1000 Mbps, giá trị này sẽ là 3.000 (300 * 10)).
- Nhập “Download” vào trường mô tả (description field).
Màn hình thêm Pipe mới cho Traffic Shaping trong OPNsense, cấu hình Download
- Nhấp vào Save.
- Bây giờ, đến lượt tạo đường ống cho tải lên (upload). Nhấp vào nút +.
- Chuyển sang chế độ advanced mode.
- Đặt Bandwidth thành tốc độ tải lên (upload) của mạng bạn.
- Thay đổi Scheduler type thành “FlowQueue-CoDel”.
- Nhập “Upload” vào trường mô tả.
- Giữ nguyên các cài đặt còn lại và nhấp vào Save.
Các đường ống Traffic Shaping Download và Upload đã được thêm thành công vào cấu hình Traffic Shaping của OPNsense
- Nhấp vào Apply để lưu các thay đổi.
Cấu hình Queues (Hàng đợi) cho Download và Upload
- Nhấp vào tab Queues.
- Nhấp vào nút +.
- Đặt Pipe thành “Download”.
- Thay đổi mask thành “destination”.
- Kích hoạt CoDel (bằng cách đánh dấu chọn).
- Nhập “Download Queue” vào trường mô tả.
Màn hình thêm Download Queue cho Traffic Shaping trong OPNsense
- Nhấp vào Save.
- Nhấp vào nút + một lần nữa để thêm hàng đợi upload.
- Đặt Pipe thành “Upload”.
- Thay đổi mask thành “source”.
- Kích hoạt CoDel.
- Nhập “Upload Queue” vào trường mô tả.
Màn hình thêm Upload Queue cho Traffic Shaping trong OPNsense
- Nhấp vào Save.
- Nhấp vào Apply để lưu các hàng đợi đã tạo.
Các hàng đợi Traffic Shaping Download và Upload đã được thêm thành công vào cấu hình Traffic Shaping của OPNsense
Tạo Rules (Quy tắc) áp dụng Traffic Shaping
- Cuối cùng, nhấp vào tab Rules.
- Nhấp vào nút +.
- Thay đổi Direction thành “in” (lưu lượng vào).
- Đặt Target thành “Download Queue”.
- Nhập “Download Rule” vào trường mô tả.
Màn hình thêm Rule Download cho Traffic Shaping trong OPNsense
- Nhấp vào Save.
- Nhấp vào nút + một lần nữa để thêm quy tắc upload.
- Thay đổi Direction thành “out” (lưu lượng ra).
- Đặt Target thành “Upload Queue”.
- Nhập “Upload Rule” vào trường mô tả.
- Nhấp vào Save.
Kết luận
Sau khi hoàn tất các bước trên, OPNsense của bạn sẽ bắt đầu áp dụng tính năng Traffic Shaping. Bạn có thể chạy lại công cụ kiểm tra Bufferbloat để xem những cải thiện đã được tạo ra. Trong trường hợp của tác giả, có thể nhận thấy sự cải thiện rõ rệt về độ trễ ngay lập tức khi có các tác vụ truyền dữ liệu đang hoạt động, giúp giảm các giá trị trên toàn hệ thống. Mặc dù chưa đạt được xếp hạng A+, nhưng mạng đã trở nên cực kỳ ổn định cho việc chơi game, xem truyền thông đa phương tiện và mọi nhu cầu sử dụng Internet khác trong gia đình. Phương pháp này cung cấp một giải pháp tổng thể hiệu quả.
Chỉ số Bufferbloat hiển thị kết quả kiểm tra sau khi áp dụng Traffic Shaping trên OPNsense
Ngay cả khi chúng ta chưa cấu hình bất kỳ quy tắc ưu tiên cụ thể nào, việc sử dụng cơ chế hàng đợi FQ_CoDel đã mang lại những cải thiện đáng kể. Với các đường ống (pipes) và hàng đợi (queues) đã được thiết lập, bạn hoàn toàn có thể sử dụng các quy tắc (rules) để đặt ưu tiên cho các địa chỉ IP cụ thể, có thể được gán cho các thiết bị hoặc thậm chí là các dịch vụ lưu trữ. Hãy nhớ rằng, nếu bạn sử dụng VLAN hoặc mạng khách, chúng sẽ cần được xử lý riêng biệt trong cùng một giao diện.
Hãy thử cấu hình Traffic Shaping cho hệ thống OPNsense của bạn ngay hôm nay và chia sẻ kết quả trong phần bình luận bên dưới!