Jump to content

Готовые конфигурации по ограничению канала


Recommended Posts

iptables не умеют шейпить сами по себе. тебе надо tc.

Пример такой:

#!/bin/bash

tc qdisc del dev eth0 root

tc qdisc del dev eth0 ingress

tc qdisc add dev eth0 handle ffff: ingress

tc qdisc add dev eth0 root handle 1: cbq avpkt 10000 bandwidth 100mbit

tc class add dev eth0 parent 1: classid 1:1 cbq rate 10mbit allot 1500 prio 1 bounded isolated

tc filter add dev eth0 parent 1: protocol ip prio 1 u32 match ip dport 5555 0xffff flowid 1:1

tc filter add dev eth0 parent 1: protocol ip prio 1 u32 match ip sport 5555 0xffff flowid 1:1

tc class add dev eth0 parent 1: classid 1:2 cbq rate 1024kbit allot 1500 prio 8 bounded isolated

tc filter add dev eth0 parent 1: protocol ip prio 16 u32 match ip dst 192.168.254.121 flowid 1:2

tc filter add dev eth0 parent ffff: protocol ip prio 50 u32 match ip src 192.168.254.121 police rate 512kbit burst 10k drop flowid :1

Т.е. мы не шейпим общение клиента с гейзером, и шейпим юзера с адресом 192.168.254.121: вход - мегабит, исход - 0,5 мегабита

Если очень интересно: http://www.lartc.org/howto

З.Ы. этот скрипт генерится автоматически, т.е. можно для разных юзеров делать разные ограничения, основываясь на тарифных планах, группах и т.п. :)

Link to post
Share on other sites
  • 2 weeks later...

Меня интересует, как вызывать данный скрипт допустим для определённого тарифа. Т.е. как организовать связку OnConnect с непосредственно ограничением канала?

Link to post
Share on other sites

Я о том же =) Если бы у меня было время и деньги, я бы непременно бы сел за маны и книги, и ничего бы не спрашивал.

Но т.к. я нахожусь в другой ситуации прошу рассказать о связках, а лучше всего показать на примерах.

 

Прошу ответить на простой вопрос, как в OnConnect я могу принять агрумент тарифа пользователя?

ip=$2, как таким же образом получить тариф? какой он имеет порядковый номер?

Link to post
Share on other sites

Если нет денег и времени, тогда очень сложно что-то реализовать. в дефолтном OnConnect написаны параметры, которые передаются. принимаются как argc. в любом случае надо читать доки или платить людям, которые их читают(читали)

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...