>
>Мне проще.
>Особенно "наворачивать" не вижу смысла да и не хочу.
>
>Спасибо. значится так:
- внутренний интерфейс eth1
- злостные нарушители внутреннего распорядка 192.168.1.12 & 192.168.1.28
1. Самое простое
iptables --new-chain shaper
iptables --append shaper -m limit --limit 50/sec --jump RETURN
iptables --append shaper --jump DROP
iptables --append FORWARD -o eth1 --destination 192.168.1.12 --jump shaper
iptables --append FORWARD -o eth1 --destination 192.168.1.28 --jump shaper
здесь мы этих нарушителей задавилли до 50 пакетов в секунду, если учитывать что
средний размер пакета, например 1000 байт, то приблизительно получается 50 килобайт
в секунду.
2. Используем policing
tc qdisc add dev eth1 root handle 1: prio bands 3 priomap 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
tc qdisc add dev eth1 parent 1:0 handle 1:10 sfq
tc filter add dev eth1 1:0 protocol ip u32 match ip dst 192.168.1.12 classid 1:10 police rate 50kbit drop
tc filter add dev eth1 1:0 protocol ip u32 match ip dst 192.168.1.28 classid 1:10 police rate 60kbit drop
здесь правда удается зацепляться только по отдельности за каждый адрес, поэтому мы творчески переработаем следующим образом
3. tbf
tc qdisc add dev eth1 root handle 1: prio bands 3 priomap 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
tc qdisc add dev eth1 parent 1:0 handle 1:10 sfq
tc qdisc add dev eth1 parent 1:0 handle 1:20 tbf rate 120kbit burst 12kb peakrate 160kbit
tc filter add dev eth1 1:0 protocol ip u32 match ip dst 192.168.1.12 classid 1:20
tc filter add dev eth1 1:0 protocol ip u32 match ip dst 192.168.1.28 classid 1:20