Linux.tc
hi,
ich hab vor kurzem ein änliches System wie du aufgesetzt und mir mit dem Advanced Routing Howto etwas schwer getan, habs dann allerdings doch noch hinbekommen
ich poste dir einfach mal meine config, vielleicht hilfts dir ja :
// Markierung der Pakete aus 192.168.113.0/24
/usr/local/sbin/iptables -A PREROUTING -t mangle -s 192.168.113.0/24 -j MARK --set-mark 3 &&
// Markierung der Pakete aus 192.168.111.0/24
/usr/local/sbin/iptables -A PREROUTING -t mangle -s 192.168.111.0/24 -j MARK --set-mark 1 &&
// Markierung der Pakete aus 192.168.112.0/24
/usr/local/sbin/iptables -A PREROUTING -t mangle -s 192.168.112.0/24 -j MARK --set-mark 2 &&
// root klasse
/usr/sbin/tc qdisc add dev ppp0 root handle 1: cbq bandwidth 128Kbit avpkt 1000 mpu 64 &&
// Klasse fuer dir volle Bandbreite (um traffic vorbeuschleusen zu koennen)
/usr/sbin/tc class add dev ppp0 parent 1:0 classid 1:1 cbq bandwidth 128Kbit rate 128Kbit allot 1514 prio 4 maxburst 1 avpkt 1000 bounded &&
//Klasse fuer das Subnet 192.168.113.0
/usr/sbin/tc class add dev ppp0 parent 1:1 classid 1:2 cbq bandwidth 128Kbit rate 42Kbit allot 1514 prio 4 maxburst 1 avpkt 1000 bounded &&
// Klasse fuer das Subnetz 192.168.112.0
/usr/sbin/tc class add dev ppp0 parent 1:1 classid 1:3 cbq bandwidth 128Kbit rate 42Kbit allot 1514 prio 4 maxburst 20 avpkt 1000 bounded &&
// Klasse fuer das Subnetz 192.168.111.0
/usr/sbin/tc class add dev ppp0 parent 1:1 classid 1:4 cbq bandwidth 128Kbit rate 42Kbit allot 1514 prio 7 maxburst 20 avpkt 1000 bounded &&
// Filter der alle mit 3 Markierten Palete in die Klasse 1:2 routed usw.
/usr/sbin/tc filter add dev ppp0 prio 100 protocol ip handle 3 fw classid 1:2 &&
/usr/sbin/tc filter add dev ppp0 prio 100 protocol ip handle 2 fw classid 1:3 &&
/usr/sbin/tc filter add dev ppp0 prio 100 protocol ip handle 1 fw classid 1:4
Das setup hat allergings einen Nachteil, da die bandbreiten statisch zugewiesen werden, d.h sollte nur das Subnetz 192.168.113.0 upstream benoetigen und die anderne 2 Subnetze nicht, so werden trozdem nur 42KBit benutzt, obwohl zu diesem zeitpunkt 128Kbit (beiTDSL) zu Verfuegung stünden.
Wenn du ereichen willst das sich die eine Klasse freie bandbreite von der anderen leihen willst musst du einen tieferen Baum mit Zwischenklassen aufbauen, dann kommst du um das Adv-Routing-Howto nicht herum
Statistik ausgeben, an welchen Stellen die Filter greifen
tc -s class ls dev dsl0