• Diese Seite verwendet Cookies. Indem du diese Website weiterhin nutzt, erklärst du dich mit der Verwendung von Cookies einverstanden. Erfahre mehr

Tagged base queueing mit pf

mapet

Active OpenBSD User
Themenstarter #1
Hallo zusammen,
ist es möglich, dass pf queueing basierend auf tags zu machen? Hintergrund ist, dass ich die Uploadbandbreite der WiFi Nutzer begrenzen möchte. Da aber der gesamte Netzwerkverkehr über dasselbe Interface rausgeht, würde ich den einkommenden traffic auf dem vlan taggen und gerne anhand derer auf dem ausgehenden Interface begrenzen. Ausgehend in Richtung des vlans kann ich ja einfach Höchstlimits auf dem Interface setzen, um den Downstream zu begrenzen, aber wie mache ich das beim Upstream? Portbasiert hilft mir da im Moment nicht weiter. Geht das mit pf, oder muss der AP (ubiquity ac pro) den Traffic begrenzen?

Marc
 

KobRheTilla

used register
#2
Hi,

also nach Überfliegen der Manpage sollte es gehen.
Du markierst die eingehenden Pakete auf dem vlan und schiebst dann ausgehende Pakete mit diesem Tag in eine Queue:

Code:
pass in on vlan? tag wifi-users
...
pass out on if? queue wifi-queue tagged wifi-users
Es fehlt noch die Queue-Definition.

EDIT: Huch ist ja OpenBSD, da wird die Syntax ein wenig anders sein, aber das Ganze sollte sicher trotzdem klappen.
Rob
 

mapet

Active OpenBSD User
Themenstarter #4
Ahja, die Benamsung mit den Services in der Manpage hat mich verwirrt, aber Namen sind ja Schall und Rauch. Natürlich kann ich eine globale Queue mit der Maximalbandbreite für das egress Interface anlegen und eine weitere, mit der gewünschten Bandbreite und entsprechende pass out rules für das vlan interface schreiben, die dann auf die Subqueue zeigen. Der Rest sollte dann ja ohne entsprechende Zuweisung einer Queue die Maximalbandbreite des Interfaces bekommen.
Da hab ich den Wald vor lauter Bäumen nicht gesehen. Danke @KobRheTilla und @midnight.
 

mapet

Active OpenBSD User
Themenstarter #5
For the archives:
die pass rules mit der queue zu versehen hat nicht funktioniert, es wurde immer die default queue genommen. ich hab jetzt zwei separate nat_rules für v4 und eine generelle, die v6 in die richtige outbound queue schiebt.

EDIT: Ok, ich hab die Reihenfolge angepasst und nu geht's mit einer NAT Rule nach der match Regel:
Code:
# Stuff guest-net stuff to queue vlan2
match out on egress from $guest_if:network set queue vlan2

# Outgoing NAT 
match out on $ext_if from <internal_ipv4> nat-to ($ext_if)
 
Zuletzt bearbeitet: