Fortigate und Swisscom TV – zum dritten

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).

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
 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!

 1,472 total views,  2 views today

6 Antworten auf „Fortigate und Swisscom TV – zum dritten“

  1. 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.

      1. 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 ?

        1. Is the image missing for all channels or just for the specified ones? Are the channels with the missing image all HD channels?
          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 4)

  2. 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?

Schreiben Sie einen Kommentar

Ihre E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.