[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