Pour ceux qui ne sont pas intimes avec le FAI Free, on peut accéder à la télévision via le « freeplayer » grâce à l'adresse « mafreebox.freebox.fr », pointant sur l'IP 212.27.38.253. Le protocole RTP, pour Real Time Protocol, permet la diffusion temps réelle d'un flux d'informations, tel la vidéo ou le son par exemple.
Je précise que j'ai utilisé iptables (pouah), mais que le principe est évidemment le même pour tout le monde…
RTP
Le protocole va demander au client d'ouvrir un port UDP et TCP. Le port TCP choisi sera le port UDP + 1. Si 1024 a été choisi pour l'UDP, on aura le port 1025 pour TCP.
FreePlayer
Une connexion sur le port 554, RTSP pour Real Time Streaming Protocol, est nécessaire en sortie. C'est rare de filtrer la sortie pour son propre poste, mais pour ceux qui le font… voilà.
Il faudra également autoriser la réception en UDP sur le port 15947, un paquet sera émis sur l'adresse multicast 228.67.43.91. Je n'ai pas saisi tout de suite la spécificité de cette adresse… un petit lien ouistitipédia
La capture tcpdump (avec wireshark ça marche aussi) :
IP sidious.15947 > 228.67.43.91.15947: UDP, length 11
Faïeurwhale, qu'il est beau
*filter
:INPUT DROP [0:0]
:FORWARD DROP [0:0]
:OUTPUT ACCEPT [349:27582]
-A INPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -p udp -m udp --dport 31336 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 31337 -j ACCEPT
-A INPUT -p udp -m udp --dport 15947 -j ACCEPT
-A INPUT -s 212.27.38.253/32 -p udp -m udp --dport 40000:50000 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-proto-unreachable
COMMIT
Le but étant de ne pas accepter n'importe qui en entrée, on drop tout en entrée et sur le forwarding et bon, on est pas des bêtes, on laisse tout passer en sortie.
Comme on peut le voir, j'autorise bien l'entrée en UDP sur le port 31336 qui correspond au port choisi par VLC pour faire sa tambouille (on peut en choisir un autre bien entendu), et j'ai donc ouvert le port 31337 en TCP, comme demandé par le protocole RTP.