我有一个在家里使用我的个人互联网连接(50 Mbps以上)的Debian服务器。 我已经使用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频道,剩下两个MBS作为储备。
你到底有什么问题? 当有人在下载光纤线路的时候,速度较慢的下载者是否完全饿死? 除非出现这种情况,否则应该尽可能让服务器的TCP / IP堆栈尽可能地处理客户端不同的下载速度。 每个人都应该最终得到他们的上传块。
另外,我认为你们每个用户50 / n mbps的概念是“公平的”,这是错误的。 例如,假设您只有两个用户连接,一个光纤能够下载50 mbps,另一个以56 kbps的速度拨号。 你真的想把光纤下载器限制在25Mbps,基本上把拨号用户剩下的25Mbps浪费掉了吗?
如果我处于你的位置上,我不打算强加这个“公平”的特殊概念。 如果你这样做了,用户不用多久就能find一种方式来获取更大的上传带宽,例如打开额外的连接。