LINUX.ORG.RU
ФорумAdmin

Linux шейпер


0

1

Здраствуйте.

Есть шлюз на Debian.
Есть 3 интерфейса
eth4 - локальная сеть
eth0 - UA-IX (внешний, NAT)
eth1 - мир (внешний, NAT)

Скрипт конфигурации шейпера:

iptables -t mangle -F
iptables -t mangle -X
iptables -t mangle -N SHAPER-OUT
iptables -t mangle -I POSTROUTING -o eth1 -j SHAPER-OUT
iptables -t mangle -I POSTROUTING -o eth0 -j SHAPER-OUT

tc qdisc del dev eth4 root
tc qdisc add dev eth4 root handle 1:0 htb default 10
tc class add dev eth4 parent 1:0 classid 1:1 htb rate 100Mbit burst 131072
tc class add dev eth4 parent 1:1 classid 1:10 htb rate 100Mbit burst 131072
tc qdisc add dev eth4 parent 1:10 sfq perturb 10

tc qdisc del dev eth1 root
tc qdisc add dev eth1 root handle 1:0 htb default 10
tc class add dev eth1 parent 1:0 classid 1:1 htb rate 100Mbit burst 131072
tc class add dev eth1 parent 1:1 classid 1:10 htb rate 100Mbit burst 131072
tc qdisc add dev eth1 parent 1:10 sfq perturb 10

tc qdisc del dev eth0 root
tc qdisc add dev eth0 root handle 1:0 htb default 10
tc class add dev eth0 parent 1:0 classid 1:1 htb rate 100Mbit burst 131072
tc class add dev eth0 parent 1:1 classid 1:10 htb rate 100Mbit burst 131072
tc qdisc add dev eth0 parent 1:10 sfq perturb 10

# Один из пользователей
iptables -t mangle -A SHAPER-OUT -s 10.11.0.117 -j MARK --set-mark 0x1003
tc class add dev eth4 parent 1:1 classid 1:1003 htb rate 2048Kbit burst 25600
tc class add dev eth1 parent 1:1 classid 1:1003 htb rate 2048Kbit burst 25600
tc class add dev eth0 parent 1:1 classid 1:1003 htb rate 2048Kbit burst 25600
tc filter add dev eth4 parent 1:0 protocol ip u32 match ip dst 10.11.0.117 classid 1:1003
tc filter add dev eth1 parent 1:0 protocol ip handle 0x1003 fw classid 1:1003
tc filter add dev eth0 parent 1:0 protocol ip handle 0x1003 fw classid 1:1003

Недочёт в том что пользователь должен получать 2мбит входящего и 2мбит исходящего. А при текущем конфиге он получает по 2мбит исходящего на каждый внешний интерфейс шлюза. Как можно объединить исходящий поток двух интерфейсов чтобы пользователь получал суммарно исходящего не больше 2мбит?

P.S.: Если не сложно какойто минимальный пример, с линуксом работаю не так давно :)


>Как можно объединить исходящий поток двух интерфейсов чтобы пользователь получал суммарно исходящего не больше 2мбит?

Используй IFB - подробности тут

Pinkbyte ★★★★★
()
Ответ на: комментарий от xneo

маркировка ВХОДЯЩЕГО трафика невозможна. точнее не сама маркировка, а шейпинг ВХОДЯЩЕГО трафика на основе этой маркировки...

в остальном - не вижу никаких проблем в использовании IFB для решении твоей задачи

Pinkbyte ★★★★★
()
24 октября 2011 г.
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.