Forumeuses, forumeurs,
Faisant suite à
mon message indiquant les données techniques nécessaires pour se passer de la bbox (routeur), je donne ici les grandes lignes nécessaires pour récupérer l'accès internet et les flux TV + replays (moyennant peut-être une bidouille, vous verrez cela à la fin de ce message). Pour le téléphone, il faudra pousser un peu plus loin les investigations pour obtenir le mot de passe et sans nul doute implèmenter le système anti-rejeu mis en place par ByTel.
1. InternetUne simple requête dchp sur le vlan 100 permet de récupérer une IP publique. Il serait préférable de marquer p6 les requêtes dhcp comme le fait la bbox si d'aventure Bouygues était plus regardant sur la connexion d'appareils tiers sur son réseau (coucou Orange).
De manière optionnelle, vous pouvez cloner l'adresse MAC de la bbox et donner l'option "
dhcp-class-identifier "BYGTELIAD" " dans l'interface de configuration de l'interface WAN.
Rien de plus n'est demandé avec pfsense pour avoir un accès internet fonctionnel. Je vous laisse choisir les serveurs DNS, NTP, etc. de votre choix.
Pour avoir la TV, il faut désactiver la protection contre les adresses bogons (0.0.0.0 est source IGMP) !2. TVPour la TV, je recommande que la miami utilise les DNS Bouygues pour éviter d'éventuels problèmes. Cela peut se faire via une interface réseau dédiée ou un règle d'adressage statique.
Pour la suite, il faut ajouter des règles de filtrage en entrée pour autoriser les messages IGMP ainsi que les flux UDP multicast. En option, les messages IGMP seront à marquer p3 pour faire comme la bbox. Pour ce faire il faut utiliser les règles flottantes dans pfsense (j'ai aussi marqué p6 les requêtes ICMP en sortie pour faire comme la bbox) sans oublier d'activer l'option
"Allow IP options" pour IGMP et les flux UDP.
TV_prefixes:
- 89.86.96.0/24
- 89.86.97.0/24
- 176.165.8.0/24
- 193.251.97.0/24
TV_sources_ports:
Pour les flux UDP (seul le trafic en entrée depuis les réseaux et les ports spécifiés est autorisé):
Pour l'IGMP (on autorise le trafic en entrée depuis tout le monde,
0.0.0.0 est source):
Il reste ensuite IGMP proxy à activer, dans mon cas, j'ai isolé le boitier TV sur une interface dédiée (OPT2 et non LAN) mais le raisonnement reste le même:
Maintenant, cela doit marcher, vous devriez avoir accès à la TV. Si cela ne fonctionne pas, vous avez une façon d'identifier la cause du problème plus loin.
Côté OPT2 (ou LAN), il faut également cocher l'option
"Allow IP options" dans les règles pfsense par défaut.
3. Replays & VODPour les replays du NAT (plutôt du PAT mais bon) suffit, il faut rediriger les ports UDP vers la miami de cette façon:
en n'oubliant pas de cocher d'activer l'option
Create new associated filter ruleavec VOD_replay:
- 212.195.48.0/24
- 212.195.244.0/24
- 62.34.201.0/24
- 194.158.119.0/24
- 195.36.152.0/24
4. TéléphoneNope, toujours pas.
5. Debug multicastSi la TV ne fonctionne pas, il faut regarder si:
- rien n'est bloqué côté firewall (igmpproxy agit comme un proxy donc les règles de filtrage se font uniquement en entrée, rien n'est forwardé)
- igmpproxy tourne bien
- les annonces igmp sont bien reçues car sans elles aucune route mutlicast ne sera insérée dans la table de routage (
netstat -g), pour ce faire un petit
tcpdump -li igb0.100 igmp
où igb0.100 est l'interface WAN
Si vous avez ceci en sortie:
23:40:27.703941 IP plh29-h01-176-133-x-y.dsl.sta.abo.bbox.fr > igmp.mcast.net: igmp v3 report, 1 group record(s)
23:40:28.304010 IP plh29-h01-176-133-x-y.dsl.sta.abo.bbox.fr > igmp.mcast.net: igmp v3 report, 1 group record(s)
23:40:36.703955 IP plh29-h01-176-133-x-y.dsl.sta.abo.bbox.fr > igmp.mcast.net: igmp v3 report, 1 group record(s)
23:40:38.103922 IP plh29-h01-176-133-x-y.dsl.sta.abo.bbox.fr > igmp.mcast.net: igmp v3 report, 1 group record(s)
23:40:40.903937 IP plh29-h01-176-133-x-y.dsl.sta.abo.bbox.fr > igmp.mcast.net: igmp v3 report, 1 group record(s)
23:40:41.503930 IP plh29-h01-176-133-x-y.dsl.sta.abo.bbox.fr > igmp.mcast.net: igmp v3 report, 1 group record(s)
23:40:49.913925 IP plh29-h01-176-133-x-y.dsl.sta.abo.bbox.fr > igmp.mcast.net: igmp v3 report, 1 group record(s)
c'est le même problème que moi, la solution sera donnée juste un peu plus loin.
par contre si vous avez ceci:
23:24:57.374650 IP 0.0.0.0 > all-systems.mcast.net: igmp query v2
23:24:58.145961 IP plh29-h01-176-133-x-y.dsl.sta.abo.bbox.fr > 232.0.64.232: igmp v2 report 232.0.64.232
23:24:59.545937 IP plh29-h01-176-133-x-y.dsl.sta.abo.bbox.fr > 239.192.152.143: igmp v2 report 239.192.152.143
23:25:00.346953 IP plh29-h01-176-133-x-y.dsl.sta.abo.bbox.fr > 239.255.3.22: igmp v2 report 239.255.3.22
23:25:01.546956 IP plh29-h01-176-133-x-y.dsl.sta.abo.bbox.fr > 224.0.0.251: igmp v2 report 224.0.0.251
23:25:06.950954 IP plh29-h01-176-133-x-y.dsl.sta.abo.bbox.fr > 224.0.0.252: igmp v2 report 224.0.0.252
23:27:02.394776 IP 0.0.0.0 > all-systems.mcast.net: igmp query v2
23:27:03.423947 IP plh29-h01-176-133-x-y.dsl.sta.abo.bbox.fr > 239.255.3.22: igmp v2 report 239.255.3.22
23:27:06.625959 IP plh29-h01-176-133-x-y.dsl.sta.abo.bbox.fr > 224.0.0.251: igmp v2 report 224.0.0.251
23:27:08.425946 IP plh29-h01-176-133-x-y.dsl.sta.abo.bbox.fr > 239.192.152.143: igmp v2 report 239.192.152.143
23:27:09.827008 IP plh29-h01-176-133-x-y.dsl.sta.abo.bbox.fr > 224.0.0.252: igmp v2 report 224.0.0.252
23:27:10.026947 IP plh29-h01-176-133-x-y.dsl.sta.abo.bbox.fr > 232.0.64.232: igmp v2 report 232.0.64.232
23:29:07.462388 IP 0.0.0.0 > all-systems.mcast.net: igmp query v2
23:29:08.498940 IP plh29-h01-176-133-x-y.dsl.sta.abo.bbox.fr > 239.192.152.143: igmp v2 report 239.192.152.143
23:29:13.903939 IP plh29-h01-176-133-x-y.dsl.sta.abo.bbox.fr > 232.0.64.232: igmp v2 report 232.0.64.232
23:29:15.105936 IP plh29-h01-176-133-x-y.dsl.sta.abo.bbox.fr > 239.255.3.22: igmp v2 report 239.255.3.22
23:29:15.305935 IP plh29-h01-176-133-x-y.dsl.sta.abo.bbox.fr > 224.0.0.251: igmp v2 report 224.0.0.251
23:29:16.105935 IP plh29-h01-176-133-x-y.dsl.sta.abo.bbox.fr > 224.0.0.252: igmp v2 report 224.0.0.252
23:30:27.152191 IP plh29-h01-176-133-x-y.dsl.sta.abo.bbox.fr > all-routers.mcast.net: igmp leave 232.0.64.232
23:30:39.904391 IP plh29-h01-176-133-x-y.dsl.sta.abo.bbox.fr > all-routers.mcast.net: igmp leave 239.255.3.22
c'est que votre firewall est trop restrictif au niveau UDP car vous recevez bien les requêtes IGMP. Cela peut-être dû à une erreur de votre part ou à des préfixes qui ne sont pas listés ici (seul gartox et moi-même avons confirmé les préfixes balançant des flux multicast).
Si vous envoyez des requêtes IGMP sans réponse de la part de l'OLT (?), essayez ceci:
- installation pimd
pkg add http://pkg.freebsd.org/FreeBSD:11:amd64/release_2/All/pimd-2.3.2.txz
- arrêt igmpproxy
/usr/local/sbin/pfSsh.php playback svc stop igmpproxy
- configuration pimd, /usr/local/etc/pimd.conf (igb0.100 côté WAN et igb2 pour la TV)
# These two are only needed if pimd is stared with -N flag
phyint igb0.100 enable igmpv2
phyint igb2 enable igmpv2
# Used for more complex topologies, but is OK to keep anyway
spt-threshold packets 0 interval 100
# These two are requried in case more PIM routers are available
bsr-candidate priority 5
rp-candidate time 30 priority 20
Cela ne fonctionne pas mais ce n'est pas grave, faites tourner 10 secondes, tuez pimd et relancez igmpproxy
/usr/local/sbin/pfSsh.php playback svc start igmpproxy
Cela devrait maintenant marcher, c'est le mieux que j'ai pour le moment à proposer.
J'ai donc bidouillé un script Q&D qui tourne dans ma crontab:
#!/bin/sh
route1=$(netstat -g | grep 232)
hote1=Bouygtel4K-numérodesérie
ping1=$(ping -c 3 -W 1 $hote1)
rping1=$(echo $?)
if ([ -z "$route1" ] && [ $rping1 -eq 0 ]); then
echo "Stopping IGMPproxy"
/usr/local/sbin/pfSsh.php playback svc stop igmpproxy
sleep 3
echo "Starting pimd for debugging and letting it run for 7 seconds"
/usr/local/sbin/pimd -N -c /usr/local/etc/pimd.conf
sleep 7
echo "Stopping pimd"
killall pimd
sleep 1
echo "Starting again IGMPproxy"
/usr/local/sbin/pfSsh.php playback svc start igmpproxy
exit 1
else
echo "Nothing to do for IGMPproxy"
exit
fi
La grosse limitation du truc est que si la bbox est up et fait autre chose (replays, application, etc.) ou en veille, je suis dans l'impossibilité de savoir s'il est utile de relancer le script. En effet, au-delà de 5 minutes, sans mise à jour de la table de routage, il sera de nouveau impossible de regarder la TV...
Je ne suis pas assez calé pour comprendre les raisons de ce phénomène qui n'est pas apparu chez tivoli ou gartox. J'avais eu le même comportement avec un PC GNU/Linux, EdgeOS ou RouterOS.
6. Mises à jour MiamiSelon toute vraisemblance, il faut activer upnp pour que la bbox puisse faire ses mises à jour via le service TR-069 de Bouygues.
Je n'ai pas encore pu confirmer cette hypothèse, il faudra voir avec le temps si la Miami reste bloquée à une certaine version logicielle sans l'upnp actif.
7. Révisions20190302. Premier message
20190304. Les images sont affichées, correction de typos
20190311. Ajout d'une recommandation d'utiliser les DNS Bouygues pour la Miami