溫馨提示×

Linux防火墻如何限制網絡帶寬使用

小樊
55
2025-08-25 16:40:22
欄目: 智能運維

在Linux系統中,可以使用tc(Traffic Control)工具來限制網絡帶寬使用。以下是一個簡單的示例,展示如何使用tc限制網絡接口的上傳和下載速度。

  1. 首先,確保已經安裝了iproute2軟件包,它包含了tc命令。在Debian和Ubuntu系統上,可以使用以下命令安裝:
sudo apt-get update
sudo apt-get install iproute2

在CentOS和RHEL系統上,可以使用以下命令安裝:

sudo yum update
sudo yum install iproute
  1. 創建一個名為limit_bandwidth.sh的腳本文件,并使用文本編輯器打開它:
nano limit_bandwidth.sh
  1. 將以下內容粘貼到腳本文件中,根據需要修改INTERFACE(網絡接口名稱)、UPLOAD_LIMIT(上傳速度限制)和DOWNLOAD_LIMIT(下載速度限制):
#!/bin/bash

# 設置網絡接口名稱、上傳速度限制和下載速度限制
INTERFACE="eth0"
UPLOAD_LIMIT="1mbit"
DOWNLOAD_LIMIT="1mbit"

# 刪除已存在的qdisc規則
tc qdisc del dev $INTERFACE root 2>/dev/null

# 添加根隊列規則
tc qdisc add dev $INTERFACE root handle 1: htb default 30

# 添加類規則
tc class add dev $INTERFACE parent 1: classid 1:1 htb rate $DOWNLOAD_LIMIT ceil $DOWNLOAD_LIMIT
tc class add dev $INTERFACE parent 1:1 classid 1:30 htb rate $UPLOAD_LIMIT ceil $UPLOAD_LIMIT

# 添加過濾器規則
tc filter add dev $INTERFACE protocol ip parent 1:0 prio 1 u32 match ip dst 0.0.0.0/0 flowid 1:1
tc filter add dev $INTERFACE protocol ip parent 1:0 prio 1 u32 match ip src 0.0.0.0/0 flowid 1:30
  1. 保存并關閉文件。然后,為腳本添加可執行權限:
chmod +x limit_bandwidth.sh
  1. 運行腳本以限制網絡帶寬:
sudo ./limit_bandwidth.sh

現在,指定的網絡接口的上傳和下載速度應該受到限制。要刪除限制,可以再次運行limit_bandwidth.sh腳本,或者手動刪除tc規則:

sudo tc qdisc del dev eth0 root

請注意,這個示例僅適用于單個網絡接口。如果要限制多個接口的帶寬,需要為每個接口重復上述步驟。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女