Witam,
usiłuję uruchomić LMS w sieci gdzie userzy są przypięci do więcej niż jednego interfejsu lokalnego -- konkretnie eth1, eth2, eth3. Wszystko jest poprawnie ustawione przez WWW -- są zdefiniowane sieci, przypisane do konkretnych interfejsów.
ALMSD generuje skrypt w którym $LAN i $WAN są ustawione na sztywno na początku -- zamiast być pobierane z bazy przy każdym userze. Nie jestem w stanie uzyskać prawidłowych ograniczeń. Jak sobie z tym poradzić??
Oto fragment skryptu wygenerowany przez tc.so.
###### #!/bin/sh IPT=/usr/sbin/iptables TC=/sbin/tc LAN=eth0 WAN=eth1 BURST="burst 30k"
(.....skip....) start () (.....skip....) #USER $IPT -t mangle -A LIMITS -s 10.1.5.50 -j MARK --set-mark 102 $IPT -t mangle -A LIMITS -d 10.1.5.50 -j MARK --set-mark 102 $IPT -t filter -I FORWARD -p tcp -s 10.1.5.50 -m connlimit --connlimit-above 5 -m ipp2p --ipp2p -j R $IPT -t filter -I FORWARD -p tcp -d 10.1.5.50 -m limit --limit 100/s -m ipp2p --ipp2p -j ACCEPT $IPT -t filter -I FORWARD -p tcp -s 10.1.5.50 -m limit --limit 100/s -m ipp2p --ipp2p -j ACCEPT $TC class add dev $WAN parent 2:1 classid 2:102 htb rate 8.00kbit ceil 32.00kbit $BURST prio 2 quant $TC qdisc add dev $WAN parent 2:102 esfq perturb 10 hash dst $TC filter add dev $WAN parent 2:0 protocol ip prio 5 handle 102 fw flowid 2:102 $TC class add dev $LAN parent 1:2 classid 1:102 htb rate 64.00kbit ceil 256.00kbit $BURST prio 2 qua $TC qdisc add dev $LAN parent 1:102 esfq perturb 10 hash dst $TC filter add dev $LAN parent 1:0 protocol ip prio 5 handle 102 fw flowid 1:102 ######
Lepiej byłoby gdyby LAN i WAN były definiowane dla każdego usera z osobna:
#USER +LAN=eth2 +WAN=eth0 $IPT -t mangle -A LIMITS -s 10.1.5.50 -j MARK --set-mark 102 $IPT -t mangle -A LIMITS -d 10.1.5.50 -j MARK --set-mark 102
Z góry dzięki!
Andrzej Kukula
uczestnicy (1)
-
akpostfix@navopgd.pl