Auteur Sujet: [Appel à contribution] Vos succès et échecs pour récupérer les flux multicast  (Lu 6816 fois)

0 Membres et 1 Invité sur ce sujet

mirtouf

  • Abonné Bbox fibre
  • *
  • Messages: 1 304
  • Chelles (77)
    • L'antre de la bête
Bonjour à toutes et à tous,

certains ayant réussi à faire fonctionner leur Miami derrière un routeur perso sans utiliser le routeur fourni par Bouygues mais d'autres comme moi en FTTH, n'y arrivent pas malgré l'analyse des captures réseau.
J'ai donc créé ce tableau à compléter:
https://lite.framacalc.org/multicast_bbox-2018
pour celles et ceux qui ont essayé.
J'avoue que je suis à court d'idées pour essayer de faire fonctionner la TV de façon fiable.
Peut-être qu'en comparant avec ceux qui ont réussi, une idée lumineuse surviendra et que http://iptv.pfs.bouyguesbox.fr nous livrera ses secrets. ;D
« Modifié: 19 décembre 2018 à 21:02:28 par mirtouf »

gartox

  • Abonné Bbox fibre
  • *
  • Messages: 24
  • Ronchin 59
Salut,
J'ai complété le doc qui tu partages.
Un partie m'intrigue et je ne comprends pas. Tu obtiens une IP privée sur le WAN ? est-ce Internet est OK avec cette IP ?
Je crois pas que BTel prépare du CGNAT mais on sait jamais.
Est-ce que avec la BBox original tu as une IP Publique ou Privée ?

Quoiqu'il en soit çà ne devrait par gêner pour recevoir la TV (publique ou privée peu importe) mais cette IP privée me semble bizarre. On dirait que tu te retrouve dans un réseau bouytel pas en exploitation...

Si ça te dérange pas, tu peux m'envoyer un export complet de ta config RouterOS, Je peux jeter un oeuil et voir si y'a pas qqch qui cloche.
Autrement question config, j'ai rien ajouté de plus que ce que j'ai posté.

bon courage

mirtouf

  • Abonné Bbox fibre
  • *
  • Messages: 1 304
  • Chelles (77)
    • L'antre de la bête
Salut,

je me suis peut-être mal exprimé mais quand j'ai indiqué un IP non routable après la bbox, il s'agissait de cette IP privée 10.108.238.2
traceroute lafibre.info                                                                                                                                                                                                       [23:03 pts/0]
traceroute to lafibre.info (46.227.16.8), 30 hops max, 60 byte packets
 1  _gateway (192.168.1.1)  0.380 ms  0.313 ms  0.407 ms
 2  10.108.238.2 (10.108.238.2)  3.433 ms  4.020 ms  3.824 ms
 3  1.la10.bsr02-ix2.net.bbox.fr (212.194.170.42)  3.914 ms  3.445 ms  3.849 ms
 4  be11.cbr01-cro.net.bbox.fr (212.194.171.2)  12.648 ms  12.593 ms  12.683 ms
 5  be5.cbr01-lyo.net.bbox.fr (212.194.171.140)  12.559 ms  18.317 ms  18.293 ms
 6  la44.bsr01-lyo.net.bbox.fr (212.194.171.149)  11.098 ms  10.915 ms  10.943 ms
 7  la10.bsr02-lyo.net.bbox.fr (212.194.171.19)  10.310 ms  10.527 ms  10.558 ms
 8  * * *
 9  lafibre.info (46.227.16.8)  11.635 ms  11.521 ms  11.498 ms
et quand on s'intéresse à elle:
nmap -Pn 10.108.238.2                                                                                                                                                                                                         [23:03 pts/0]
Starting Nmap 7.70 ( https://nmap.org ) at 2018-12-22 23:03 CET
Nmap scan report for 10.108.238.2
Host is up (0.0043s latency).
Not shown: 998 filtered ports
PORT    STATE  SERVICE
179/tcp open   bgp
646/tcp closed ldp

Nmap done: 1 IP address (1 host up) scanned in 15.85 seconds

J'avoue que je ne sais pas pourquoi je me retrouve dans le même cas de figure qu'avec un abonnement câble en collecte, est-ce lié à la taille des sous-blocs utilisés pour le routage car ByTel ne veut pas gaspiller ses IP ?

Toujours est-il que ma route par défaut est celle que j'attends:
ip -4 route show
default via 176.133.x.y dev eth0.100  proto zebra
176.133.x.0/22 dev eth0.100  proto kernel  scope link  src 176.133.a.b
192.168.1.0/24 dev switch0  proto kernel  scope link  src 192.168.1.1

Concernant routerOS (avec un RB750gr3) j'ai peu travaillé dessus, ma configuration fut celle-ci:
/interface ethernet
set [ find default-name=ether1 ] advertise=10M-half,10M-full,100M-half,100M-full,1000M-half,1000M-full comment="Fibre WAN" mac-address=28:E9:FC:xx:xx:xx

/interface vlan
add interface=ether1 name=Fibre_ByTel_vl100 vlan-id=100

/ip dhcp-client option
add code=60 name=vendorid value=0x42594754454c494144

/ip dhcp-client
add dhcp-options=vendorid disabled=no interface=Fibre_ByTel_vl100

/interface bridge port
add bridge=bridge interface=ether2
add bridge=bridge interface=ether3
add bridge=bridge interface=ether4
add bridge=bridge interface=ether5

/ip address
add address=192.168.88.1/24 comment=LAN interface=bridge network=192.168.88.0

/ip pool
add name=dhcp_pool_lan ranges=192.168.88.10-192.168.88.254

/ip dhcp-server network
add address=192.168.88.0/24 dns-server=192.168.88.1 domain=bbox.lan gateway=192.168.88.1 netmask=24

/ip dhcp-server network
add address=192.168.88.250/32 dns-server=194.158.122.10,194.158.122.15 domain=bbox.lan gateway=192.168.88.1 netmask=24
/ip dhcp-server lease
add address=192.168.88.250 mac-address=D0:05:2A:xx:xx:xx server=dhcp_lan

/ip dhcp-server
add address-pool=dhcp_pool_lan disabled=no interface=bridge name=dhcp_lan

/ip dns
set allow-remote-requests=yes servers=80.67.169.12,80.67.169.40

/ip firewall address-list
add address=212.195.48.0/24 list=VODReplay
add address=212.195.244.0/24 list=VODReplay
add address=62.34.201.0/24 list=VODReplay
add address=194.158.119.0/24 list=VODReplay
add address=195.36.152.0/24 list=VODReplay
add address=192.168.88.0/24 list=MyNetwork
add address=193.251.97.0/24 list=TV
add address=89.86.97.0/24 list=TV
add address=176.165.8.0/24 list=TV
add address=89.86.96.0/24 list=TV

/ip firewall filter
add action=add-src-to-address-list address-list=Syn_Flooder address-list-timeout=1d chain=input comment="Add Syn Flood IP to the list" connection-limit=30,32 protocol=tcp tcp-flags=syn
add action=add-src-to-address-list address-list=Port_Scanner address-list-timeout=1w chain=input comment="Port Scanner Detect" protocol=tcp psd=21,3s,3,1
add action=tarpit chain=input comment="Drop to syn flood list" protocol=tcp src-address-list=Syn_Flooder
add action=tarpit chain=input comment="Drop to port scan list" protocol=tcp src-address-list=Port_Scanner

/ip firewall filter
add action=accept chain=input comment="--- Accept Established / Related" connection-state=established,related in-interface=Fibre_ByTel_vl100
add action=accept chain=input comment="--- Accept IGMP for IPTV Multicast" in-interface=Fibre_ByTel_vl100 protocol=igmp
add action=accept chain=input comment="--- Accept IP Flow for IGMP Proxy" dst-port=8202,8200 in-interface=Fibre_ByTel_vl100 protocol=udp src-address-list=TV
add action=drop chain=input comment="--- Deny All / Drop -- INPUT" src-address-list=!MyNetwork

/ip firewall filter
add action=fasttrack-connection chain=forward comment="--- FastTrack Forwarding Established / Related" connection-state=established,related
add action=accept chain=forward comment="--- Accept Established / Related" connection-state=established,related
add action=accept chain=forward comment="--- Accept IP Flow for IGMP Proxy" dst-port=8200,8202 protocol=udp src-address-list=TV
add action=accept chain=forward comment="--- Accept IP flow for VOD" dst-port=20000-30000 in-interface=Fibre_ByTel_vl100 protocol=udp src-address-list=VODReplay
add action=accept chain=forward comment="--- Accept Outgoing Client Traffic Out to Internet" out-interface=Fibre_ByTel_vl100 src-address-list=MyNetwork
add action=drop chain=forward comment="--- Deny All / Drop -- FORWARD" log=no

/ip firewall nat
add action=masquerade chain=srcnat out-interface=Fibre_ByTel_vl100 src-address-list=MyNetwork
add action=dst-nat chain=dstnat dst-port=20000-30000 in-interface=Fibre_ByTel_vl100 protocol=udp src-address-list=VODReplay to-addresses=192.168.88.250

/routing igmp-proxy
set quick-leave=yes
/routing igmp-proxy interface
add alternative-subnets=0.0.0.0/0 interface=Fibre_ByTel_vl100 upstream=yes
add alternative-subnets=0.0.0.0/0 interface=bridge
Pas d'IGMP snooping, je ne me suis pas plus lancé dans un débogage par manque de temps.

Est-ce que les IP sources des flux multicast répondent aux requêtes ICMP ? Ce n'est le cas de mon côté (a priori c'est voulu).

PS: j'ai rebranché mon ER-X.

gartox

  • Abonné Bbox fibre
  • *
  • Messages: 24
  • Ronchin 59
Salut,

Voici mon traceroute :

>tracert -d lafibre.info

Détermination de l'itinéraire vers lafibre.info [46.227.16.8]
avec un maximum de 30 sauts :

  1     1 ms    <1 ms     3 ms  192.168.1.1
  2     *        *        *     Délai d'attente de la demande dépassé.
  3    16 ms    13 ms    15 ms  212.194.171.70
  4    19 ms    19 ms    14 ms  212.194.171.0
  5    19 ms    22 ms    22 ms  212.194.171.140
  6    20 ms    16 ms    13 ms  212.194.171.149
  7    12 ms    16 ms    14 ms  212.194.171.19
  8     *        *        *     Délai d'attente de la demande dépassé.
  9    23 ms    93 ms    24 ms  46.227.16.8

Itinéraire déterminé.

De mon coté le second Hop ne répond pas.
Je pense que c'est pas un problème. Ça dépend comment l'équipement de collecte Bouygues est configuré. D'ailleurs, quand un équipement est multi-interfaces, il arrive qu'il réponde au traceroute avec une IP qui ne correspond pas à l'interface entrante... J'ai déjà vu çà en MPLS.
Globalement je pense pas que c'est une problème, à partir du moment ou du récupère une IP public via DHCP, ca me semble OK.

Pour le 10.108.238.2, on dirait juste que c'est un router avec BGP + LDP.

Je vais checker ta config RouterOS.

gartox

  • Abonné Bbox fibre
  • *
  • Messages: 24
  • Ronchin 59

Y'a rien qui me choque dans la config routerOS, ca me semble pas mal.

pour commencer à debug, je tenterai d'être moins restrictif sur les règle input et forward du flux udp de l'IPTV :

add action=accept chain=input comment="--- Accept IP Flow for IGMP Proxy" dst-port=8202,8200 in-interface=Fibre_ByTel_vl100 protocol=udp
add action=accept chain=forward comment="--- Accept IP Flow for IGMP Proxy" dst-port=8200,8202 protocol=udp

Il est possible que les sources IP changent en fonction de la région peut être pour répartir la charge des serveurs.


Aussi, mais je pense que ca n'a aucun impact, en faisant un peu de sécurité sur mon mikrotik j'ai supprimé une ligne pour la config IGMP.
Cette config est suffisante :

/routing igmp-proxy
set quick-leave=yes
/routing igmp-proxy interface
add alternative-subnets=0.0.0.0/0 interface=Fibre_ByTel_vl100 upstream=yes
add interface=bridge

bon courage

Hugues

  • AS2027 MilkyWan
  • Modérateur
  • *
  • Messages: 12 454
  • Lyon (69) / St-Bernard (01)
    • Twitter
add action=accept chain=input comment="--- Accept IP Flow for IGMP Proxy" dst-port=8202,8200 in-interface=Fibre_ByTel_vl100 protocol=udp
add action=accept chain=forward comment="--- Accept IP Flow for IGMP Proxy" dst-port=8200,8202 protocol=udp
src-port plutôt non ?

gartox

  • Abonné Bbox fibre
  • *
  • Messages: 24
  • Ronchin 59
Non, laisser les dst-port tels qu'ils sont je pense que les ports 8202 et 8200 sont corrects et ne changent pas. Mais enlever les "src-address-list=TV" car il est possible que d'une région à l'autre bouygues source le traffic depuis d'autres IP.

Au pire pour debugger, tu peut mettre une règle 'input all udp" et "forward all udp".
Il faudra refermer après petit à petit, pour améliorer la sécurité.


Hugues

  • AS2027 MilkyWan
  • Modérateur
  • *
  • Messages: 12 454
  • Lyon (69) / St-Bernard (01)
    • Twitter
J'ai du mal a voir pourquoi on spécifie un port de destination et pas un port source. Je ne fais que peu de multicast, mais pour moi on matche plutôt un port source.

gartox

  • Abonné Bbox fibre
  • *
  • Messages: 24
  • Ronchin 59
J'ai du mal a voir pourquoi on spécifie un port de destination et pas un port source. Je ne fais que peu de multicast, mais pour moi on matche plutôt un port source.

Là pour te confirmer, faudrait que je refasse un peu de log...
C'est sûr que les ports destination sont figés (8200 et 8202), mais on pourrait voir si les ports sources le sont aussi. Après le but, c'est que la règle firewall match au plus juste.
A mon avis, dès lors que la tambouille IGMP est effectuée, le flux video et audio (RTP) est un flux unicast traditionnel, qui est juste dupliqué depuis le dernier point de diffusion au plus près de l'abonné.
J'ai retrouvé des configs identiques chez Orange et chez d'autres opérateurs étrangés.

a+

gartox

  • Abonné Bbox fibre
  • *
  • Messages: 24
  • Ronchin 59
@mirtouf

Ce serait bien que tu vois pour ajouter IGMP snooping sur ton bridge.
Ca me parait carrèment nécessaire pour le bon fonctionnement de IGMP Proxy, même si dans la théorie igmp snooping n'est là que pour éviter de flooder le bridge avec les flux multicast.

mirtouf

  • Abonné Bbox fibre
  • *
  • Messages: 1 304
  • Chelles (77)
    • L'antre de la bête
[Appel à contribution] Vos succès et échecs pour récupérer les flux multicast
« Réponse #10 le: 28 décembre 2018 à 19:40:45 »
En vrac,

j'ai vérifié avec de la réplication de ports que:
- les ports UDP de destination sont toujours 8200 et 8202 (par exemple, IP source 89.86.97.6:49152 vers 232.0.64.206:8200)
- les ports UDP sources sont des ports élevés qui varient
- les IP sources sont bien dans les préfixes annoncés
- la bbox reçoit bien une réponse des serveurs bytel après avoir demandés ses droits (a priori OK)

J'ai en outre déjà testé une règle FW autorisant tout le trafic UDP en entrant ainsi que le forward de tout cela sans succès.
L'activation ou non de l'IGMP snooping ne change rien à la réception des flux multicast, j'ai eu quelques succès avec Fr5 et M6.
J'ai aussi activé l'UPnP.
J'ai cloné ou non l'@ MAC de la bbox sans influence notable.

La seule sonde en erreur sur ma Miami est la sonde qui indique que je ne suis pas connecté au réseau Bouygues, est-ce que cela peut influer ?

Je n'arrive vraiment pas à savoir qui bloque en premier: les droits, l'IGMP proxy ou le firewall.

mirtouf

  • Abonné Bbox fibre
  • *
  • Messages: 1 304
  • Chelles (77)
    • L'antre de la bête
[Appel à contribution] Vos succès et échecs pour récupérer les flux multicast
« Réponse #11 le: 29 décembre 2018 à 14:02:24 »
Je reste bloqué sur "ça marche sur Fr5 ou M6 quelques minutes avant un freeze et un changement de chaîne permet de relancer le flux".