B
britneyfreek
hi leuts.
nach zwei wochen einarbeitung in tc und iptables folgendes:
meine umgebung:
ein dsl modem, 4 rechner.
davon 1 pc mit debian sarge 3.1 als router (eth0 lan, eth1 dsl modem)
die anderen 3 rechner im lan (über switch, in dem eth0 vom server steckt).
um die 6mbit dsl-leitung zu shapen, habe ich folgendes tcng-script entwickelt, es lässt sich auch fehlerlos interpreten.
im script werden 3 rechner anhand der ip direkt klassifiziert und die bandbreite eingeschränkt, alles andere bekommt 20k downstream.
das problem ist nur: sobald ich die klassifizierung des udp_dport==27015 (unter dev IF_INET; counter-strike in diesem beispiel) aktiviere, bleibt der komplette traffic stehen!
warum?
ich brauche unbedingt und schnell hilfe!
danke schonmal!
nach zwei wochen einarbeitung in tc und iptables folgendes:
meine umgebung:
ein dsl modem, 4 rechner.
davon 1 pc mit debian sarge 3.1 als router (eth0 lan, eth1 dsl modem)
die anderen 3 rechner im lan (über switch, in dem eth0 vom server steckt).
um die 6mbit dsl-leitung zu shapen, habe ich folgendes tcng-script entwickelt, es lässt sich auch fehlerlos interpreten.
im script werden 3 rechner anhand der ip direkt klassifiziert und die bandbreite eingeschränkt, alles andere bekommt 20k downstream.
das problem ist nur: sobald ich die klassifizierung des udp_dport==27015 (unter dev IF_INET; counter-strike in diesem beispiel) aktiviere, bleibt der komplette traffic stehen!
warum?
Code:
#include "fields.tc"
#include "ports.tc"
#define IF_LAN eth0 /* LAN */
#define IF_INET ppp0 /* DSL */
dev IF_LAN
{
egress
{
class ( <$pc1> ) if ip_dst == 10.10.10.123 || ip_src == 10.10.10.123;
class ( <$pc2> ) if ip_dst == 10.10.10.88 || ip_src == 10.10.10.88;
class ( <$pc3> ) if ip_dst == 10.10.10.100 || ip_src == 10.10.10.100;
class ( <$other> ) if 1;
htb ()
{
class ( rate 6000kbps, ceil 6000kbps )
{
$pc1 = class ( rate 2000kbps, ceil 6000kbps ) { sfq; };
$pc2 = class ( rate 2000kbps, ceil 6000kbps ) { sfq; };
$pc3 = class ( rate 1000kbps, ceil 6000kbps ) { sfq; };
$other = class ( rate 20kbps, ceil 20kbps ) { sfq; };
}
}
}
}
dev IF_INET
{
egress
{
class ( <$ssh> ) if tcp_dport == PORT_SSH || tcp_sport == PORT_SSH;
class ( <$oth> ) if 1;
/* FOLGENDES FUNZT NICHT */
class ( <$cs> ) if udp_dport == 27015;
prio
{
$ssh = class (1);
$oth = class (2);
/* FORTSETZUNG */
$cs = class (3);
}
}
}
ich brauche unbedingt und schnell hilfe!
danke schonmal!