나는 이것이 오래된 게시물이라는 것을 알고 있지만 오늘도 답을 찾고 그것을 우연히 발견했으며 결국에는 나에게 완벽하게 어울리는 무언가를 모았습니다. 25Mbs 다운 링크와 2.5Mbs 업 링크가 있으며이 링크를 공유하는 4 명의 사람과 5 개의 서버가 있습니다. 서버의 경우 업 링크 대역이 중요하지만 다운 링크는 4 명에게 유용하므로 아무도이를 호기하지 않습니다.
centos 6.3을 라우터로 실행하고 있지만이 명령은 모든 Linux에서 작동해야합니다. eth0은 제공자에 대한 나의 업 링크입니다. eth1은 24 포트 스위치 및 wifi 액세스 포인트를 통한 나의 LAN입니다. 다운로드를 25Mbs (약 500KB / sec) 중 5 개로 다운로드를 제한합니다. 업로드를 200Kbit (약 25KB / sec)로 제한합니다
tc qdisc add dev eth0 root handle 1:0 htb default 99
tc class add dev eth0 parent 1:0 classid 1:1 htb rate 100Mbit ceil 100Mbit
tc class add dev eth0 parent 1:1 classid 1:11 htb rate 200Kbit ceil 200Kbit prio 2
tc qdisc add dev eth0 parent 1:11 handle 10: sfq perturb 10
tc qdisc add dev eth1 root handle 2:0 htb default 99
tc class add dev eth1 parent 2:0 classid 2:1 htb rate 100Mbit ceil 100Mbit
tc class add dev eth1 parent 2:1 classid 2:11 htb rate 5Mbit ceil 5Mbit prio 2
tc qdisc add dev eth1 parent 2:11 handle 20: sfq perturb 10
그런 다음 사용자를 제한하기 위해 사용자 당 2 개의 iptables 라인을 사용합니다
업로드를 제한하려면 :
iptables -t mangle -A POSTROUTING -o eth0 -p tcp -s 192.168.0.100 -j CLASSIFY --set-class 1:11
다운로드를 제한하기 위해
iptables -t mangle -A POSTROUTING -o eth1 -p tcp -d 192.168.0.100 -j CLASSIFY --set-class 2:11
제한하려는 사람과 일치하도록 IP 주소와 eth 포트를 변경하십시오.