[Eisfair] [E1] Bandwidth shaper?
Olaf Jaehrling
eisfair at ojaehrling.de
Mi Mai 9 00:22:59 CEST 2012
Hallo Thomas,
--- Original-Nachricht ---
Absender: Thomas Huebner
Datum: 08.05.2012 22:52
> Am 06.05.2012 00:20, schrieb Olaf Jaehrling:
>
> eis # tc qdisc show dev eth0
brauchst du erst, wenn du es eingerichtet hast
> eis # tc class show dev eth0
brauchst du erst, wenn du es eingerichtet hast
> eis # tc filter show dev eth0
brauchst du erst, wenn du es eingerichtet hast
> eis # /sbin/tc qdisc del dev eth0 root
> RTNETLINK answers: No such file or directory
Ist nur dafür da um eine vorhandene Einrichting zu löschen, also bei der
Ersteinrichtung ist der Fehler normal.
> eis # iptables -t mangle -F
> iptables v1.4.9.1: can't initialize iptables table `mangle': Table does
> not exist (do you need to insmod?)
> Perhaps iptables or your kernel needs to be upgraded.
ok, du musst also noch die iptables laden. Allerdings weiß ich jetzt
nicht genau welche das genau sind. Vermute würde ich mal folgendes:
modprobe ip_tables
modprobe iptable_filter
modprobe iptable_mangle
Also sollte das script so aussehen (incl Fehlerkorrektur):
=========================================================================
#!/bin/bash
interface=eth0
## erstmal module laden
modprobe ip_tables
modprobe iptable_filter
modprobe iptable_mangle
## dann evtl. 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
/sbin/tc qdisc add dev $interface root handle 1:0 htb default 12
## Nun werden die Geschwindigkeits - Klassen eingerichtet: Zunächst die
oberste, parent
/sbin/tc class add dev $interface parent 1: classid 1:1 htb rate 368kbit
ceil 368kbit
## Klasse fuer normalen Traffic
/sbin/tc class add dev $interface parent 1:1 classid 1:12 htb rate
300kbit ceil 350kbit prio 0
## Klasse fuer POP/SMTP Traffic
/sbin/tc class add dev $interface parent 1:1 classid 1:13 htb rate
200kbit ceil 250kbit prio 1
## Nun der Filter fuer eingehenden SMTP - Traffic
/sbin/iptables -A PREROUTING -t mangle -i $interface -p tcp --sport 25
-j MARK --set-mark 13
## Nun der Filter fuer eingehenden POP - Traffic
/sbin/iptables -A PREROUTING -t mangle -i $interface -p tcp --sport 110
-j MARK --set-mark 13
## 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
13 fw flowid 1:13
=========================================================================
Bei weiteren Fragen ..... Fragen :)
Gruß
Olaf
Mehr Informationen über die Mailingliste Eisfair