Перейти до

Linux шейпер


Рекомендованные сообщения

Есть шлюзовый сервер на котором стоит 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 на каждом исходящем интерфейсе).

 

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

 

P.S.: Шейпер настраивал первый раз в жизни. Может есть недочёты... критика приветствуется :rolleyes:

Ссылка на сообщение
Поделиться на других сайтах

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

IFB к примеру. Или IMQ. Но для IFB - iptables уже не поможет, т.к. пакеты покинут интерфейс до обработки в iptables.

Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Вхід

Уже зарегистрированы? Войдите здесь.

Войти сейчас
  • Зараз на сторінці   0 користувачів

    Немає користувачів, що переглядають цю сторінку.

×
×
  • Створити нове...