[Eisfair] [E1] Bandwidth shaper?

Thomas Huebner thuebner_gmx_de at eis.stadtweg
Mi Mai 9 09:12:00 CEST 2012


Am 09.05.2012 00:22, schrieb Olaf Jaehrling:
> Also sollte das script so aussehen (incl Fehlerkorrektur):


ich habe es jetzt so (mit echos eingefügt)

#!/bin/bash

## erstmal module laden
modprobe ip_tables
modprobe iptable_filter
modprobe iptable_mangle

interface=eth0

## erstmal alte Regeln loeschen
echo "erstmal alte Regeln loeschen"
/sbin/tc qdisc del dev $interface root

/sbin/iptables -t mangle -F

## aktivieren der Queueing DISCipline für das Device, die
## auf Klasse 1, Handle 12 (1:12) default-mäßig zeigt
echo "aktivieren der Queueing DISCipline für das Device, die"
/sbin/tc qdisc add dev $interface root handle 1:0 htb default 12

## Nun werden die Geschwindigkeits - Klassen eingerichtet: Zunächst
dieoberste, parent
echo "Nun werden die Geschwindigkeits - Klassen eingerichtet: Zunächst
dieoberste, parent"
/sbin/tc class add dev $interface parent 1: classid 1:1 htb rate 448kbit
ceil 448kbit

## Klasse fuer normalen Traffic
echo "Klasse fuer normalen Traffic"
/sbin/tc class add dev $interface parent 1:1 classid 1:12 htb rate
200kbit ceil 250kbit prio 2

## Für eingehenden SMTP - Traffic
echo "Für eingehenden SMTP - Traffic"
/sbin/iptables -A PREROUTING -t mangle -i $interface -p tcp --sport 25
-j MARK --set-mark 12
/sbin/iptables -A PREROUTING -t mangle -i $interface -p tcp --dport 25
-j MARK --set-mark 12
## Für eingehenden POP - Traffic
echo "Für eingehenden POP - Traffic"
/sbin/iptables -A PREROUTING -t mangle -i $interface -p tcp --sport 110
-j MARK --set-mark 12
/sbin/iptables -A PREROUTING -t mangle -i $interface -p tcp --dport 110
-j MARK --set-mark 12

## Und nun müssen die Filterregeln an die Klassen gebunden werden
echo "Und nun müssen die Filterregeln an die Klassen gebunden werden"
/sbin/tc filter add dev $interface parent 1:0 prio 0 protocol ip handle
12 fw flowid 1:12



Die Ausgabe

eis # ./iptest.sh
erstmal alte Regeln loeschen
RTNETLINK answers: No such file or directory
aktivieren der Queueing DISCipline für das Device, die
RTNETLINK answers: Invalid argument
Nun werden die Geschwindigkeits - Klassen eingerichtet: Zunächst
dieoberste, parent
RTNETLINK answers: No such file or directory
Klasse fuer normalen Traffic
RTNETLINK answers: No such file or directory
Für eingehenden SMTP - Traffic
iptables: No chain/target/match by that name.
iptables: No chain/target/match by that name.
Für eingehenden POP - Traffic
iptables: No chain/target/match by that name.
iptables: No chain/target/match by that name.
Und nun müssen die Filterregeln an die Klassen gebunden werden
RTNETLINK answers: Invalid argument
We have an error talking to the kernel
eis #



Die Ausgabe der modprobes ist unauffällig

eis # modprobe ip_tables
eis # modprobe iptable_filter
eis # modprobe iptable_mangle
eis #


Mehr Informationen über die Mailingliste Eisfair