Giảm Băng Thông Mạng Xuống 80MB/s test không bị disk off nữa, bình thường sài bị liên tục:
nano /usr/local/sbin/
limit-network.sh
Dán:
#!/bin/sh
# Giới hạn 80 MB/s = 640 Mbit/s
RATE="640mbit"
DEV="eth0"
IFB="ifb0"
# Xóa cấu hình cũ
tc qdisc del dev "$DEV" root 2>/dev/null
tc qdisc del dev "$DEV" ingress 2>/dev/null
tc qdisc del dev "$IFB" root 2>/dev/null
# Tạo IFB
modprobe ifb numifbs=1
ip link set "$IFB" up
# Chiều OUT: L1 Pro -> PC
tc qdisc add dev "$DEV" root tbf \
rate "$RATE" \
burst 512kb \
latency 50ms
# Chiều IN: PC -> L1 Pro
tc qdisc add dev "$DEV" handle ffff: ingress
tc filter add dev "$DEV" parent ffff: protocol all \
u32 match u32 0 0 \
action mirred egress redirect dev "$IFB"
tc qdisc add dev "$IFB" root tbf \
rate "$RATE" \
burst 512kb \
latency 50ms
-----------------------------
Sau đó:
chmod +x /usr/local/sbin/
limit-network.sh
Chạy Thử:
/usr/local/sbin/
limit-network.sh
Kiểm Tra:
tc -s qdisc show dev eth0
tc -s qdisc show dev ifb0
Tự động chạy sau reboot:
nano /etc/systemd/system/limit-network.service
Nội Dung:
[Unit]
Description=Limit eth0 network to 80MB/s
After=network.target
[Service]
Type=oneshot
ExecStart=/usr/local/sbin/
limit-network.sh
RemainAfterExit=yes
[Install]
WantedBy=multi-user.target
Sau đó:
systemctl daemon-reload
systemctl enable limit-network.service
systemctl start limit-network.service
Kiểm Tra:
systemctl status limit-network.service
Sau này muốn thay đổi tốc độ băng thông thì sửa file này:
/usr/local/sbin/
limit-network.sh
đổi giá trị RATE="640mbit"
50 MB/s = 400mbit
60 MB/s = 480mbit
70 MB/s = 560mbit
80 MB/s = 640mbit