Hallo,
ich habe mal begonnen unsere Paketfilterregeln für das Firmennetzwerk zu optimieren und endlich mal Queueing einzusetzen (priq und cbq).
Wichtigste Zusammenfassung der pf.conf
$ext ist das Interface für ADSL
$int die Netzwerkkarte wo unser internes Netzwerk 192.168.1.0/24 dranhängt
Ich verstehe das jetzt so ...
PASS IN ON $int
* Alles was von unserem internen Netzwerk in dieses Interface geht
- Bürorechner -> Switch -> Router($int)
PASS OUT ON $int
* Alles was von der Netzwerkkarte wo unser internes Netzwerk dranhängt in das interne Netzwerk geht
- Router($int) -> Switch -> Bürorechner
Die queue low_in dient nur als Überprüfung. Per block on $int all wird ja erstmal alles Dicht gemacht für das interne Netzwerk. Geht weder was rein ins interne Netzwerk noch nimm das Interface von dort was an.
Rein darf natürlich erstmal dann wieder alles - PASS IN ON $int
Jetzt aber soll eben nur eine gewisse Bandbreite in das interne Netzwerk zugelassen werden um z.b. Downloads zu drosseln. Also wäre dann die Regel für den Verkehr ins interne Netzwerk
PASS OUT ON $int from any to <net> queue low_in
Damit sollte jeglicher Verkehr in das interne Netzwerk 192.168.1.0/24 durch die queue low_in laufen. Tuts aber nicht. Hab nach wie vor volle Downloadbandbreite.
Allerdings wenn ich die Queue auf PASS IN anwende
PASS IN ON $int from <net> to any queue low_in
dann ist der Download gedrosselt.
Wo liegt mein Denkfehler? Hab mich eigentlich an das Beispiel Heimnetzwerk in der FAQ gehalten ...
http://openbsd.sfobug.org/faq/pf/de/queueing.html
ich habe mal begonnen unsere Paketfilterregeln für das Firmennetzwerk zu optimieren und endlich mal Queueing einzusetzen (priq und cbq).
Wichtigste Zusammenfassung der pf.conf
Code:
ext="pppoe0"
int="sk0"
table <net> { 192.168.1.0/24, 192.168.2.0/24, 192.168.3.0/24, 192.168.4.0/24 }
...
# Class Based Queueing
# scheduler cbq übernimmt Bandbreitenmanagement
altq on $int cbq bandwidth 16Mb queue { std_in, vpn_in, dns_in, low_in }
queue dns_in bandwidth 128Kb priority 7
queue vpn_in bandwidth 128Kb priority 6 cbq(borrow)
queue low_in bandwidth 64Kb priority 2
queue std_in bandwidth 15.6Mb cbq(default borrow)
...
block on $int all
pass in on $int from <net>
pass out on $int from any to <net> queue low_in
$ext ist das Interface für ADSL
$int die Netzwerkkarte wo unser internes Netzwerk 192.168.1.0/24 dranhängt
Ich verstehe das jetzt so ...
PASS IN ON $int
* Alles was von unserem internen Netzwerk in dieses Interface geht
- Bürorechner -> Switch -> Router($int)
PASS OUT ON $int
* Alles was von der Netzwerkkarte wo unser internes Netzwerk dranhängt in das interne Netzwerk geht
- Router($int) -> Switch -> Bürorechner
Die queue low_in dient nur als Überprüfung. Per block on $int all wird ja erstmal alles Dicht gemacht für das interne Netzwerk. Geht weder was rein ins interne Netzwerk noch nimm das Interface von dort was an.
Rein darf natürlich erstmal dann wieder alles - PASS IN ON $int
Jetzt aber soll eben nur eine gewisse Bandbreite in das interne Netzwerk zugelassen werden um z.b. Downloads zu drosseln. Also wäre dann die Regel für den Verkehr ins interne Netzwerk
PASS OUT ON $int from any to <net> queue low_in
Damit sollte jeglicher Verkehr in das interne Netzwerk 192.168.1.0/24 durch die queue low_in laufen. Tuts aber nicht. Hab nach wie vor volle Downloadbandbreite.
Allerdings wenn ich die Queue auf PASS IN anwende
PASS IN ON $int from <net> to any queue low_in
dann ist der Download gedrosselt.
Wo liegt mein Denkfehler? Hab mich eigentlich an das Beispiel Heimnetzwerk in der FAQ gehalten ...
http://openbsd.sfobug.org/faq/pf/de/queueing.html

