Das Trafficshaping auf der Box ist leider sehr rudimentär...
Aus diesem Grund will ich das Trafficshaping selbst anpassen.
Hier der betreffende Teil aus der ar7.cfg
So weit so gut...
Erst mal einiges von dem ich keine Ahnung habe, was aber Leuten mit Linuxerfahrung etwas sagen könnte.
Ich bin mir nicht sicher wie das mit den Unterklassen funktionieren soll, bin mir aber relativ sicher dass man ausser der vorhandenen Uploadklasse weitere anlegen kann.
Limits kann man scheinbar nur nach oben setzen, d.h. die Klassen beschränken. Die Klassen haben wohl auch keine eigenen Prioritäten.
Nicht schön das Ganze aber besser als nichts...
Ich würde jetzt gerne den Traffic noch feiner filtern, z.B. nach TOS bits.
Weiis jemand wo im TCP Header sich das Ding versteckt?
Ein Filter analog "udp[8] = 0x80" sollte dann machbar sein.
Hat jemand weitere Bastelideen, besonders was den fehlenden Minimalwert der Klassen angeht?
Aus diesem Grund will ich das Trafficshaping selbst anpassen.
Hier der betreffende Teil aus der ar7.cfg
shapers {
name = "globalshaper"; Der Shaper
OutFragmentWhenVoIP = 0; Was bedeutet dieser Wert?
shaperconnection {
enabled = yes; Shaping aktiviert
targets = ""; Keine Targets? Interfaces? Andere Klassen?...
name = "Fritz!Box";
limiters {
name = "default-out"; Klasse für den Upload
bps_limit {
limit_total = 100; 100%
limit_p0 = 0; Bedeutung von p0, ..., p4?
limit_p1 = 95; 95%
limit_p2 = 95;
limit_p3 = 0; 0 = Kein Limit?
}
pps_limit { Packets pro Sekunde, offensichtlich ungenutzt
limit_total = 0;
limit_p0 = 0;
limit_p1 = 0;
limit_p2 = 0;
limit_p3 = 0;
}
min_priority = 0; Prio 0-3
max_priority = 3;
grouping_by_source_ip = no; Bedeutung?
grouping_by_dest_ip = no; Bedeutung?
grouping_by_source_port = no; Bedeutung?
grouping_by_dest_port = no; Bedeutung?
dynamic_balancing = no; Bedeutung?
bps_child_limit { Unterklasse, für was? Wie definiert?
limit_total = 0;
limit_p0 = 0;
limit_p1 = 0;
limit_p2 = 0;
limit_p3 = 0;
}
pps_child_limit {
limit_total = 0;
limit_p0 = 0;
limit_p1 = 0;
limit_p2 = 0;
limit_p3 = 0;
}
shapeOutgoingOnIncomingCounters = no; Bedeutung?
} {
name = "default-in"; Klasse für Download
bps_limit { Keinerlei Shaping-Funktion
limit_total = 0;
limit_p0 = 0;
limit_p1 = 0;
limit_p2 = 0;
limit_p3 = 0;
}
pps_limit {
limit_total = 0;
limit_p0 = 0;
limit_p1 = 0;
limit_p2 = 0;
limit_p3 = 0;
}
min_priority = 0;
max_priority = 0;
grouping_by_source_ip = no;
grouping_by_dest_ip = no;
grouping_by_source_port = no;
grouping_by_dest_port = no;
dynamic_balancing = no;
bps_child_limit {
limit_total = 0;
limit_p0 = 0;
limit_p1 = 0;
limit_p2 = 0;
limit_p3 = 0;
}
pps_child_limit {
limit_total = 0;
limit_p0 = 0;
limit_p1 = 0;
limit_p2 = 0;
limit_p3 = 0;
}
shapeOutgoingOnIncomingCounters = no;
}
out_rules { Regeln für Upload
name = "download-tcp-ack";
filter = "tcp and len <= 64"; ACK
priority = 3; Original: 2
limiters = "default-out"; Zielklasse
} {
name = "dns";
filter = "udp port 53"; DNS
priority = 1;
limiters = "default-out";
} {
name = "fon-rtp"; VoIP
filter = "udp[8] = 0x80 or udp port 5060"; udp[8]: Packet Filter für VoIP?
priority = 3;
limiters = "default-out";
} {
name = "http-requests";
filter = "(tcp dst port 80 or dst port 8080 or dst port 3128) and (len <= 800)";
priority = 1;
limiters = "default-out";
} {
name = "pri-out"; Pings etc. werden Priorisiert
filter = "icmp";
priority = 1;
limiters = "default-out";
} {
name = "default";
filter = "";
priority = 0;
limiters = "default-out";
}
in_rules { Download: Keine Regeln
name = "default";
filter = "";
priority = 0;
limiters = "default-in";
}
demasquerade = no; Bedeutung?
}
}
So weit so gut...
Erst mal einiges von dem ich keine Ahnung habe, was aber Leuten mit Linuxerfahrung etwas sagen könnte.
Ich bin mir nicht sicher wie das mit den Unterklassen funktionieren soll, bin mir aber relativ sicher dass man ausser der vorhandenen Uploadklasse weitere anlegen kann.
Limits kann man scheinbar nur nach oben setzen, d.h. die Klassen beschränken. Die Klassen haben wohl auch keine eigenen Prioritäten.
Nicht schön das Ganze aber besser als nichts...
Ich würde jetzt gerne den Traffic noch feiner filtern, z.B. nach TOS bits.
Weiis jemand wo im TCP Header sich das Ding versteckt?
Ein Filter analog "udp[8] = 0x80" sollte dann machbar sein.
Hat jemand weitere Bastelideen, besonders was den fehlenden Minimalwert der Klassen angeht?