FortiGate Traffic Shaping per Application / Application Category / URL Category
Neben reinem Traffic Shaping auf Source-/Destination-Basis lässt sich ein Traffic Shaping auch basierend auf einzelnen Anwendungen, Anwendungskategorieren und URL-Kategorien realisieren. Im folgenden Beispiel zeige ich eine solche Konfiguration für ein Shaping von Media-Streaming Diensten wie Netflix und Amazon Video.
Traffic Shaper
Im ersten Schritt lege ich 2 Shared Traffic Shaper an, einen für den Upstream, einen für den Downstream (mediastreaming-down) und einen für den Upstream (mediastreaming-up). Im Downstream stelle ich als Bandbreite 16 MBit / 24 MBit garantiert / maximal ein, im Upstream 3 MBit / 4 MBit.
config firewall shaper traffic-shaper edit mediastreaming-down set guaranteed-bandwidth 16000 set maximum-bandwidth 24000 set priortiy high next edit mediastreaming-up set guaranteed-bandwidth 3200 set maximum-bandwidth 4800 set priortiy high next end
Traffic Shaping Policy
Im Anschluss erstelle ich eine Traffic Shaping Policy. In diese baue ich Application-Category-Filter für Video/Audio, Application-Filter für Netflix/Amazon und URL-Category-Filter für Streaming Media and Download ein (ist doppelt/dreifach gemoppelt, dient hier auch lediglich der Anschauung – eine Filtertyp reicht in der Regel).
config firewall shaping-policy edit <ID> set srcaddr all set dstintf wan1 set dstaddr all set service ALL set traffic-shaper mediastreaming-down set traffic-shaper-reverse mediastreaming-up set app-category 5 set application 28046 18155 38500 30184 2884 set url-category 25 next end
Firewall Policy
Abschließend muss noch eine Firewall Policy erstellt werden, die ein Application-Filter-Profil enthält und die App-Categories der Shaper-Policy matcht, falls diese nicht schon existiert.
config firewall policy edit <ID> set srcintf internal set srcaddr all set dstintf wan1 set dstaddr all set service ALL set action accept set schedule always set appfilter-profile <Media-AppFilter-Profile> set nat enable next end
–
Wir sind eine Schule und bekommen nächste Woche an einer GigaBit-Leitung eine Firewall Fortigate-80E-S. Dort werden zwei Kanäle geschaltet, an denen zwei verschiedene lokale Netze hängen. Ist es möglich, die Fortigate so zu konfigurieren, dass im Konfliktfall die Datenpakete des 1. Kanals mit 80% Gewicht durchkommen und die Datenpakete des 2. Kanals nur mit 15%. Die Prozentsätze sind nicht in Stein gemeißelt, könnten auch anders gewählt werden. Es geht nur darum, ob so ein Verfahren prinzipiell möglich ist. Für eine Hilfe wären wir sehr dankbar. Uns wurde nämlich gesagt, dass das nicht möglich wäre.
Verstehe ich dich richtig, 3 Ports (Kanäle?), einer WAN, einer LAN1, einer LAN2? LAN1 zu WAN 80% Bandbreite, LAN2 zu WAN 15% Bandbreite, falls die Leitung am Limit ist? Das geht so meines Wissens nach nicht. Ein Traffic Shaper in FortiOS arbeitet mit Prioriäten, nicht mit prozentualen Werten. Prinzipiell greift in FortiOS ein Traffic Shaper eh nur, wenn die Leitungsressourcen ausgelastet sind (das wäre ja quasi dein „Konfliktfall“). Was dann eben möglich ist, ist den Traffic von LAN1 hoch zu priorisieren und LAN2 niedrig zur priorisieren. Das kann aber auch dazu führen, das von LAN2 überhaupt kein Traffic mehr akzeptiert wird, je nach Auslastung. Das ist jetzt natürlich etwas „vereinfacht“ erklärt. Einen guten Artikel dazu findest du hier: https://blog.boll.ch/traffic-shaping-auf-der-fortigate/ (ist zwar für FortiOS 5.4, gilt aber Stand 7.0 immer noch).
Vielen Dank für die schnelle Antwort und den Link!
Ein Update hierzu nochmal.
Mit FortiOS 7 hat Fortinet sog. Traffic Shaping Profiles eingeführt. Hierin können „Class IDs“ konfiguriert werden und es könnten auch Prozentwerte statt absolute Werte verwendet werden. Das ist aber so neu, dass ich das selbst noch nicht ausprobiert habe und auch noch nicht weiß, wie das genau funktioniert.
Wenn du das ausprobierst, würde ich mich über ein Feedback in diesem Beitrag natürlich freuen :-).
Gruß
Andreas