LINUX.ORG.RU
ФорумAdmin

htb.init+ppp+динамический шейпинг


0

2

Пролог:
Пытаюсь оптимизировать в своей домашней сети траффик.
На сервере есть торрент качалка, есть пппое-сервер.
Юзеры взаимодействуют друг с другом и с интернетом через pppoe.
Интернет дает Ethernet DSL-modem, подключенный к интерфейсу eth1 (3мбит/сек - входящее, 550кбит/сек - исходящее)
Локалка (нужна только для pppoe) - eth0

Задача:
Делить траффик поровну между юзерами(ppp[1-255]) и сервером (торрент, eth0). Условие: если никто не занимает канал, то весь канал отдается единственному в данный момент потребителю интернетов, если их двое, то интернеты раздаются по потребностям, то есть если в данный момент качаются торренты и юзер болтает в жаббере, то не отдавать юзеру пол канала железно, но давать достаточно канала для общения, и все остальное торрентам. Но если вдруг юзер захотел посмотреть ютуб, и запросы его усилились, то отнять у торрентов достаточную величину канала, но не больше половины от всего канала (а это 3мбит/2 = 1.5мбит) о_о"

Данные:

root@server: ip route show
10.6.6.4 dev ppp0  proto kernel  scope link  src 10.6.6.1 
10.6.6.7 dev ppp2  proto kernel  scope link  src 10.6.6.1 
10.0.0.0/24 dev eth1  proto kernel  scope link  src 10.0.0.2 
10.7.7.0/24 dev eth0  proto kernel  scope link  src 10.7.7.1 
default via 10.0.0.1 dev eth1  metric 100
root@server: ip address show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN 
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN qlen 1000
    link/ether 00:14:d1:11:4a:14 brd ff:ff:ff:ff:ff:ff
    inet 10.0.0.2/24 brd 10.0.0.255 scope global eth1
    inet6 fe80::214:d1ff:fe11:4a14/64 scope link 
       valid_lft forever preferred_lft forever
3: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN qlen 1000
    link/ether 00:e0:4d:07:03:5b brd ff:ff:ff:ff:ff:ff
    inet 10.7.7.1/24 brd 10.7.7.255 scope global eth0
    inet6 fe80::2e0:4dff:fe07:35b/64 scope link 
       valid_lft forever preferred_lft forever
4: ppp0: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1472 qdisc pfifo_fast state UNKNOWN qlen 3
    link/ppp 
    inet 10.6.6.1 peer 10.6.6.4/32 scope global ppp0
139: ppp2: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1472 qdisc pfifo_fast state UNKNOWN qlen 3
    link/ppp 
    inet 10.6.6.1 peer 10.6.6.7/32 scope global ppp2
htb.init установлен и готов к работе ^_^

Я так понял, управлять траффиком можно только исходящим, но не совсем понимаю как это выглядит в контексте ppp интерфейсов. Я пробовал разные способы, но ни один не привел к успеху лол. Читал статьи на опеннет про iproute2. и все же этого мне не хватило чтобы постичь сию магию... т_т

Решение:

снести htb.init, почитать про шейпинг, htb,esfq,flow, написать скрипт.

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