Linux
多個使用者之間的公平頻寬重新分配
我在家裡有一個 debian 伺服器,使用我的個人網際網路連接(50 mbps 以上)。我已經使用 OpenSSH 設置了一個簡單的 SFTP 服務,以便與多個使用者共享大文件 (10 Gb+)。
這是我的問題:關於頻寬重新分配,這是叢林。我有使用者使用標準 ADSL 連接,其他使用者使用光纖連接等。每個使用者都有不同的下載速度,通常最大的下載頻寬獲勝。
我想知道是否可以在使用者之間“幾乎平均”分配我的上傳頻寬。
理想情況下,每個使用者能夠以高達 50/n mbps 的速度下載文件(其中 n 是連接的使用者數)。
非常感謝您的幫助。
由於您使用的是 Debian Linux,因此您可以非常簡單地進行操作。您可以使用此腳本對頻寬進行“公平”重新分區:
#Put here your Internet-interface instead of eth1 ext_iface=eth1 eiface_addr=192.169.158.150 ###############Remove shaper rules###############################3 iptables -t mangle --flush tc qdisc del dev $ext_iface root 2> /dev/null > /dev/null iptables -t mangle -D POSTROUTING -o $ext_iface -j shape-in 2> /dev/null > /dev/null iptables -t mangle -F shape-in 2> /dev/null > /dev/null iptables -t mangle -X shape-in 2> /dev/null > /dev/null ##############Adding shaper rules################################### tc qdisc add dev $ext_iface root handle 1:0 htb default 10 tc class add dev $ext_iface parent 1:0 classid 1:1 htb rate 100mbit ceil 100mbit tc class add dev $ext_iface parent 1:1 classid 1:5 htb rate 100mbit ceil 100mbit prio 0 tc class add dev $ext_iface parent 1:1 classid 1:10 htb rate 48mbit ceil 48mbit prio 0 tc qdisc add dev $ext_iface parent 1:5 handle 5: pfifo limit 5 tc qdisc add dev $ext_iface parent 1:10 handle 10: pfifo limit 10 iptables -t mangle -N shape-in iptables -t mangle -I POSTROUTING -o $ext_iface -j shape-in #Priority for pings iptables -t mangle -A shape-in -p icmp -j MARK --set-mark 5 #Priority for Server Access iptables -t mangle -A shape-in -s $eiface_addr -j MARK --set-mark 5 #Othet packets (user\'s internet traffic) iptables -t mangle -A shape-in -m mark --mark 0 -j MARK --set-mark 10 tc filter add dev $ext_iface parent 1:0 prio 0 protocol ip handle 5 fw flowid 1:5 tc filter add dev $ext_iface parent 1:0 prio 1 protocol ip handle 10 fw flowid 1:10
請注意,使用者將獲得 48/n 頻道,並有 2 Mbs 留作備用。