Unser letzter Beitrag zur Konfiguration einer Fortigate, um zuhause auch Swisscom TV durch die Fortigate zu bekommen, ist schon eine zeitlang her. Deswegen hier mal wieder ein aktueller Beitrag mit einer Fortigate auf FOS 7.0.0 (der auch mit 6.4.5 getestet wurde).
Aber Vorsicht, mit dem Swisscom Centro Business oder Centro Business 2.0 im Bridge (oder PPPoE Passthrough) mode, funktioniert dies nicht. Swisscom hat dies hier im Abschnitt 1.3 unter “Einschränkungen” dokumentiert.
In diesem Beispiel hängt die Swisscom TV Box am DMZ Port der Fortigate und bezieht von dort eine DHCP Adresse, welche per DHCP Reservation fixiert wird:
config system interface edit "dmz" set ip 10.10.10.1 255.255.255.0 next end config system dhcp server edit 2 set dns-service default set default-gateway 10.10.10.1 set netmask 255.255.255.0 set interface "dmz" config ip-range edit 1 set start-ip 10.10.10.2 set end-ip 10.10.10.254 next end next end
Mittels der DHCP Reservation kann man ein IP-basiertes Addressobjekt auf der Fortigate erstellen, so dass man diese für “schöne” Firewall-Policies nutzen kann (man in den Firewall-Policies also nicht das ganze interne DMZ-Netz öffnen muss).
config system dhcp server edit 2 config reserved-address edit 1 set ip 10.10.10.2 set mac e0:51:63:xx:xx:xx next end next end config firewall address edit "Swisscom-TV-Box" set subnet 10.10.10.2 255.255.255.255 next edit "Swisscom_213.3_subnet17" set subnet 213.3.0.0 255.255.128.0 next edit "Swisscom Router intern" set subnet 192.168.0.1 255.255.255.255 next end
Klar – es hätte auch ein MAC-Address-basiertes Firewall-Adressobjekt erstellt werden können, allerdings nutzt das bei den Multicast-Policies nichts, da hier nur IP-basierte Source-Adressobjekte verwendet werden dürfen.
Firewall-technisch braucht die Swisscom TV Box zunächst mal generellen Internetzugang (DNS, NTP, HTTP, HTTPS). Weiterhin verbindet sich die Swisscom TV Box über diverse Ports (tcp/554, 8443, 12700 und udp/4098) zu Adressen aus einem public Swisscom Netz (213.3.0.0/17):
config firewall policy edit 2 set name "general traffic" set srcintf "dmz" set dstintf "wan1" set srcaddr "Swisscom-TV-Box" set dstaddr "all" set action accept set schedule "always" set service "DNS" "HTTP" "HTTPS" "NTP" set logtraffic all set nat enable next edit 3 set name "traffic to swisscom" set srcintf "dmz" set dstintf "wan1" set srcaddr "Swisscom-TV-Box" set dstaddr "Swisscom_213.3_subnet17" set action accept set schedule "always" set service "ALL" set logtraffic all set nat enable next end
Nun geht’s an die Multicast Konfiguration. Zunächst müssen wir auf der Fortigate das Mulitcast Forwarding einschalten (dieses ist in 7.0 bereits per default eingeschaltet). Weiterhin ist es ratsam die TTL der Multicast Paketen nicht zu verändern. Und da wir gleich noch Mulicast-Policies erstellen müssen, bringen wir die hier auch gleich ins GUI:
config system settings set multicast-forward enable set multicast-ttl-notchange enable set gui-multicast-policy enable end
Bevor wir mit den Multicast Policies starten, hier mal die verwendeten Adressobjekte:
config firewall multicast-address edit "all_hosts" set start-ip 224.0.0.1 set end-ip 224.0.0.1 next edit "all_routers" set start-ip 224.0.0.2 set end-ip 224.0.0.2 next edit "igmp" set start-ip 224.0.0.22 set end-ip 224.0.0.22 next edit "MC_239.186" set start-ip 239.186.0.0 set end-ip 239.186.255.255 next edit "MC_225.0.71.1" set start-ip 225.0.71.1 set end-ip 225.0.71.1 next edit "MC_239.255.255.250" set start-ip 239.255.255.250 set end-ip 239.255.255.250 next end
Je nach Sender wird für den RTP-Stream eine andere Multicast Adresse und ein anderer Port genutzt. Wollt Ihr den Multicast Traffic nicht von/zu jeder Adresse erlauben, müsst Ihr für Eure Sender die passenden IP-Adressen/Ports herausfinden. Aktuell finden wir dafür diese Webseite recht hilfreich: ptv-ch.github.io. (Aber Achtung – die Sender und IPs können über die Zeit natürlich ändern.)
Ausgehend nutzt die Swisscom TV Box IGMP auf nachfolgende Multicast Adressen:
config firewall multicast-policy edit 1 set name "igmp-outbound" set logtraffic enable set srcintf "dmz" set dstintf "wan1" set srcaddr "Swisscom-TV-Box" set dstaddr "all_routers" "igmp" "MC_239.186" "MC_239.255.255.250" "MC_225.0.71.1" set snat enable set protocol 2 next end
Nun geht’s an den eingehenden Traffic. Hierfür müssen wir zum einen eingehendes IGMP vom Swisscom Router selber bis zur Swisscom TV Box erlauben. Und zum zweiten müssen wir noch die eingehenden RTP-Streams fürs TV zulassen. Folgende Firewall Policies funktionieren bei uns:
config firewall multicast-policy edit 2 set name "igmp-inbound" set logtraffic enable set srcintf "wan1" set dstintf "dmz" set srcaddr "Swisscom Router intern" set dstaddr "igmp" "all_hosts" "MC_239.186" set protocol 2 next edit 3 set name "udp_10000" set logtraffic enable set srcintf "wan1" set dstintf "dmz" set srcaddr "Swisscom_213.3_subnet17" set dstaddr "MC_239.186" set protocol 17 set start-port 10000 set end-port 10000 next end
Diese Anleitung funktioniert wahrscheinlich auch mit anderen TV Providern. Prüft einfach über die oben genannte Webseite die genutzten Multicast Adressen und Ports und passt diese entsprechend an.
Und jetzt Glotze an und viel Spass!
Update – Fortinet hat noch einen allgemeinen, aber dennoch interessanten KB-Artikel zum Thema Allowing streaming services over FortiGate veröffentlicht.
Hallo,
Funktioniert es bei jemandem?
Ich denke es gibt ein kleinen Fehler:
edit “MC_225.0.71.1”
set start-ip 255.0.71.1
set end-ip 255.0.71.1
next
Es muss sein:
edit “MC_225.0.71.1”
set start-ip 225.0.71.1
set end-ip 225.0.71.1
next
Aber ich habe noch nicht geschafft es zu konfigurieren, so dass es funktioniert.
Hi – yes, you are totally right. This is a typo :-(. I will correct it immediately. Thanks for your feedback!
So, it works for the majority of channels, but not for specific ones like RTL HD / SAT.1 / RTL 2 / VOX HD
The IP addresses for multicasting are in new ranges that I updated. The sound is good, but the image is missing.
Any advice ?
Is the image missing for all channels or just for the specified ones? Are the channels with the missing image all HD channels? 4)
Maybe you can use a packet sniffer in the CLI (verbose level 4) to see which packets are beeing blocked by the firewall (CLI: diag sniffer packet any
Ich habe aktuell das gleiche Problem, dass JB bereits hatte. Die CH-Sender werden korrekt übertragen und angezeigt. Bei den Sendern (z.B. RTL HD / SAT.1 / RTL 2 / VOX HD) wird nur den Ton übertragen, leider das Bild nicht.
Ich habe die Multicast-Adressen geprüft, konnte dort aber keinen Fehler finden. Haben Sie noch eine Idee, woran es liegen könnte? Ich habe eine FortiGate 60F mit 7.4.0 installiert
Guten Tag Marcel
Sie könnten testweise alle Multicast Adressen einschliessen (224.0.0.0 – 239.255.255.255) und prüfen, ob es dann funktioniert. Falls ja fehlen gewisse Adressen, falls nein müsste es etwas anderes sein.
Freundliche Grüsse
Vom Boll Tech Team
Wie ist es vom Setup her mit der Swisscom Internet Box, habt ihr diese vor der Forti geschalten oder konntent ihr die Internet Box der Swisscom komplett durch die Fortigate ersetzten?
Bei unserem Test haben wir die Fortigate zwischen Swisscom Internet Box und TV-Box gehängt. Wir haben nicht konkret ausprobiert, ob die Fortigate auch die Swisscom Internet Box ersetzen kann. Und gemäss Swisscom sollte das technisch möglich sein: https://www.swisscom.ch/de/privatkunden/hilfe/geraet/internet-router/fremdrouter.html. Voraussetzung dafür wäre natürlich, dass man kein DSL Modem an seinem Anschluss braucht.
Ich habe mit dem Setup Swisscom Internet Box vor der Fortigate konfiguriert.
Von Vorteil wenn DHCP Swisscom Anschluss Fix IP auf Interface machen.
Da müsst ihr noch ein Address Objekt erstellen “Swisscom_213.3_subnet17”
Getestet mit Fortigate 101 F und 80F mit Firmware stand 7.0.3