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