S tím bugem si nejsem jist, jak to bylo, možná tam chyběl nějaký návrat ze sub-chainu. My momentálně zbytkovou free konektivitu už zase poskytujeme a nezdá se být závratně rychlá, takže je to snad opravené.
Co opravené není je např. to, že by to mohlo pro zrychlení používat iptables-save a iptables-restore ... totiž současný stav je takový, že preview provozu za aktuální den žere zbytečně moc CPU. Pokud to tam někdo dopíše, tak by mi to třeba mohl poslat abych to zahrnul do oficiální verze.
Ak Vam pri kompilacii system vypise podobne hlasky:
prometheus.c:349: warning: incompatible implicit declaration of built-in function ‘malloc’
prometheus.c:350: warning: incompatible implicit declaration of built-in function ‘malloc’
prometheus.c:351: warning: incompatible implicit declaration of built-in function ‘malloc’
prometheus.c:352: warning: incompatible implicit declaration of built-in function ‘malloc’
je potrebne upravit subor prometheus.c tak, aby bola na zaciatku nacitana kniznica stdlib. Urobite to doplnenim prikazu #include "stdlib.h" na zaciatok suboru.
Co sa tyka predchodzieho "bugu", ktory nedefinovanym IP adresam prideloval qos_free (podla mojho zistenia im prideloval cele zvysne volne pasmo), tak ten sa da napravit volanim nasledovneho prikazu po spusteni promethea.
/sbin/iptables -A FORWARD -m mark --mark 0x03 -j REJECT
Zdárek, tato verze mi při spuštění píše neoprávněný přístup do paměti (SIGSEGV). Zkompilováno bez chyb. Konfigurace default s jen těma nejnutnějšíma změnama. 0.6 fuguje krásně. Čím to může být? Abych nezapomněl, díky za tenhle super program.
gw:/home/falconer# prometheus
Prometheus QoS - "fair-per-IP" Quality of Service setup utility.
Version 0.7 - Copyright (C)2005-2007 Michael Polak (xChaos)
Credits: CZFree.Net, Martin Devera, Netdave, Aquarius
Parsing configuration file /etc/prometheus.conf ...
Configured keywords: via-prometheus wifi-normal wifi-plus backbone-normal backbone-plus backbone-bezfup
Parsing iptables verbose output ...
Parsing class defintion file /etc/hosts ...
Resolving shared connections ...
Parsing credit file /var/log/prometheus/prometheus.credit ...
Initializing iptables and tc classes ...
iptables: Chain is not empty
Locating suckers and generating root classes ...
Writing data transfer database ...
Sorting data and generating statistics page /var/log/prometheus/traffic.html ...
Generating iptables and tc classes ...
name ip mark
...
...
...
Total IP count: 13
Neopráněný přítup do paměti (SIGSEGV)
No, tak tohle bych asi měl oddebugovat, hmm... asi by mě pomohlo znát tu konfiguraci, na které se to kouše. Pozor na změnu v konfiguráku... definuje se tam teď více různých klíčových slov...
Zdravim,
chcem sa spytat, ci je mozne po spusteni promethea znovu markovat pakety, pretoze pravidla, ktore popisujem nizsie mi akosi nechcu fungovat. Mozno je to modulom ipp2p, ale pochybujem.
Da sa urobit moznost, aby som pre kazdu IP zapisanu v /etc/hosts mohol nadefinovat urcite pasmo vyhradene pre p2p?
tc qdisc add dev eth1 root handle 1: htb
tc class add dev eth1 parent 1: classid 1:1 htb rate 100mbit
tc class add dev eth1 parent 1:1 classid 1:18 htb rate 64kbit ceil 128kbit
iptables -t mangle -A PREROUTING -p tcp -j CONNMARK --restore-mark
iptables -t mangle -A PREROUTING -p tcp -m mark ! --mark 0 -j ACCEPT
iptables -t mangle -A PREROUTING -p tcp -m ipp2p --ipp2p -j MARK --set-mark 441
iptables -t mangle -A PREROUTING -p tcp -m mark --mark 441 -j CONNMARK --save-mark
iptables -t mangle -A POSTROUTING -o eth1 -m mark --mark 441 -j CLASSIFY --set-class 1:18
No popravdě target CONNMARK jsem vůbec neznal. A použít místo markování rovnou CLASSIFY by bylo asi praktické, a řeší to i dotaz na vlastní markování... jinak u mě je číslo třídy tuším odvozené od hodnoty značky (target MARK), tak by to asi šlo přepsat lehko.
Nevím jak to je s náročností modulu ipp2p na využití CPU v případě velké internetové brány, která řeší desítky tisíc packetů za sekundu. Taky mi přijde, že samotnou podstatou internetu jsou p2p spojení a že by si uživatelé tedy nějak měli sami pohlídat, jak přidělené pásmo na bráně využívají - tzn. např. si p2p sami oshapovat, pokud chtějí používat zároveň web. Nějak mi přijde že nestojí za to p2p spojení shapovat, protože po nich přijdou zase videostreamingy, které budou ještě náročnější, apod. - řešením je prostě nějak ochránit lidi aby se neomezovali mezi sebou navzájem - ale chránit je navíc ještě v rámci jejich vlastního pásma před jejich vlastní aktivitou, to mě přijde už příliš náročné.
Jinak já tak trochu očekávám, že mi někdo třeba pošle nějaké zajímavé vychytávky nad Prometheem, ale lidi zdá se buď to použijí tak jak to je, nebo mají už něco vlastního lepšího.