Пролог:
Пытаюсь оптимизировать в своей домашней сети траффик.
На сервере есть торрент качалка, есть пппое-сервер.
Юзеры взаимодействуют друг с другом и с интернетом через 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
Я так понял, управлять траффиком можно только исходящим, но не совсем понимаю как это выглядит в контексте ppp интерфейсов. Я пробовал разные способы, но ни один не привел к успеху лол. Читал статьи на опеннет про iproute2. и все же этого мне не хватило чтобы постичь сию магию... т_т