Quay lại danh sách
Tin tức công nghệ

Cấu hình Traffic Shaping & QoS (Quality of Service)

6 tháng 5, 2026
Cấu hình Traffic Shaping & QoS trên VPS

Cấu hình Traffic Shaping & QoS: Ưu tiên băng thông và kiểm soát lưu lượng trên VPS

Khi VPS chạy nhiều dịch vụ cùng lúc (web, API, database, backup, torrent…), băng thông dễ bị tranh chấp dẫn đến tình trạng nghẽn mạng, latency cao và ảnh hưởng đến trải nghiệm người dùng. Traffic Shaping và Quality of Service (QoS) giúp bạn chủ động ưu tiên lưu lượng cho các dịch vụ quan trọng, giới hạn băng thông cho các tác vụ ít quan trọng hơn. Bài viết này hướng dẫn chi tiết cách triển khai QoS trên VPS Linux bằng công cụ tc (traffic control) và wondershaper năm 2026.

1. Traffic Shaping & QoS là gì?

Traffic Shaping là kỹ thuật kiểm soát tốc độ và thứ tự gửi nhận dữ liệu. QoS cho phép phân loại gói tin và áp dụng chính sách khác nhau cho từng loại (ưu tiên, giới hạn, drop).

  • Ưu tiên (Priority): HTTP/HTTPS, VoIP, video call được xử lý trước.
  • Giới hạn (Limit): Backup, torrent, download lớn bị bóp băng thông.
  • Lợi ích: Đảm bảo ứng dụng kinh doanh luôn ổn định, tránh tình trạng một service “ăn hết” băng thông.

// Interface mô phỏng QoS Policy
interface QoSPolicy {
  serviceName: string;
  protocol: "tcp" | "udp" | "any";
  portRange: string;
  priority: number;        // 1 cao nhất, 10 thấp nhất
  maxBandwidthMbps: number;
  burstLimitKbps: number;
}

const policies: QoSPolicy[] = [
  { serviceName: "Web HTTPS", protocol: "tcp", portRange: "443", priority: 1, maxBandwidthMbps: 0, burstLimitKbps: 2048 },
  { serviceName: "API Backend", protocol: "tcp", portRange: "3000-4000", priority: 2, maxBandwidthMbps: 500, burstLimitKbps: 1024 },
  { serviceName: "Backup & Torrent", protocol: "tcp", portRange: "any", priority: 8, maxBandwidthMbps: 100, burstLimitKbps: 512 }
];

console.log(`Đã áp dụng ${policies.length} QoS policies`);
 

2. Công cụ chính: tc (iproute2) và wondershaper

`tc` là công cụ mạnh nhất của Linux để traffic control. Wondershaper là wrapper đơn giản giúp cấu hình nhanh.

3. Yêu cầu VPS và chuẩn bị

Yếu tố Khuyến nghị
Network Port 1Gbps trở lên
Kernel Hỗ trợ QoS (mặc định Ubuntu/Debian)
Công cụ iproute2, wondershaper, iptables

4. Cài đặt và cấu hình cơ bản


// Script cài đặt và cấu hình QoS (mô phỏng)
const setupQoSScript = `
sudo apt install -y iproute2 wondershaper
# Giới hạn interface eth0 xuống 800Mbps
sudo wondershaper eth0 800000 200000

# Xóa rule cũ
sudo wondershaper clear eth0
`;

console.log("Đã kích hoạt Traffic Shaping trên interface eth0");
 

5. Ưu tiên HTTP/HTTPS và bóp băng thông download

Ưu tiên traffic web và giới hạn các kết nối lớn.


// Advanced QoS Configuration using tc (logic minh họa)
interface TrafficClass {
  classId: string;
  rateMbps: number;
  priority: number;
  description: string;
}

function applyQoSRules(interfaceName: string = "eth0") {
  const classes: TrafficClass[] = [
    { classId: "1:10", rateMbps: 600, priority: 1, description: "Web & API - High Priority" },
    { classId: "1:20", rateMbps: 150, priority: 5, description: "Database & Internal" },
    { classId: "1:30", rateMbps: 50, priority: 8, description: "Download & Backup - Limited" }
  ];

  console.log(`[QoS] Áp dụng ${classes.length} traffic classes trên ${interfaceName}`);
  
  classes.forEach(cls => {
    console.log(`[${cls.classId}] ${cls.description} - Max ${cls.rateMbps} Mbps`);
  });
}

applyQoSRules();
 

6. Kết hợp iptables marking và tc

Sử dụng iptables để mark gói tin rồi tc phân loại theo mark.


// Example iptables + tc integration logic
function setupTrafficMarking() {
  console.log("[iptables] Marking HTTP/HTTPS traffic...");
  console.log("iptables -t mangle -A PREROUTING -p tcp --dport 80 -j MARK --set-mark 10");
  console.log("iptables -t mangle -A PREROUTING -p tcp --dport 443 -j MARK --set-mark 10");
  
  console.log("[tc] Classifying marked packets to high priority queue");
}

setupTrafficMarking();
 

7. Best Practices khi triển khai QoS

  • Ưu tiên theo business impact: API > Web > Database > Backup.
  • Luôn để burst cho traffic quan trọng.
  • Theo dõi hiệu quả qua iftop, nload hoặc Prometheus.
  • Không giới hạn quá chặt gây packet loss.
  • Sử dụng HTB (Hierarchical Token Bucket) cho kiểm soát linh hoạt.
  • Backup cấu hình QoS trước khi thay đổi.

8. Kết luận: Checklist cấu hình Traffic Shaping & QoS

Trước khi áp dụng production, hãy kiểm tra:

  1. Đã xác định rõ dịch vụ nào cần ưu tiên?
  2. Đã áp dụng wondershaper hoặc tc/htb đầy đủ?
  3. HTTP/HTTPS đã được ưu tiên cao nhất?
  4. Backup, torrent đã bị giới hạn băng thông?
  5. Có monitoring để đo lường hiệu quả QoS?
  6. Cấu hình có được tự động hóa qua script/systemd?

Việc triển khai Traffic Shaping & QoS giúp VPS của bạn sử dụng băng thông thông minh, đảm bảo các ứng dụng quan trọng luôn hoạt động ổn định ngay cả khi lưu lượng cao. Đây là kỹ năng quan trọng giúp hệ thống vận hành mượt mà và chuyên nghiệp hơn trong năm 2026.

Hy vọng hướng dẫn chi tiết này giúp bạn cấu hình QoS thành công và tối ưu hóa hiệu suất mạng trên VPS!