Free a annoncé le support de l’UPnP dans la freebox HD. Merveilleux ! Fini les attentes pour uploader une vidéo sur la Freebox HD me dis-je.
En creusant un peu on remarque de suite que lorsqu’il est question de UPnP on parle de mode routeur de de l’activation de l’UPnP dans l’interface d’administration Free.
Huch ! Pas de UPnP pour moi alors ? Que néni ! L’UPnP de la Freebox HD c’est aussi possible sans activer le mode routeur de la Freebox ADSL (en mode bridge donc)
Alors, comment faire ?
Si vous n’avez pas activé le mode routeur, c’est que :
- Vous avez un autre routeur, qui «possède» l’IP publique fournie par Free, et qui alloue des adresses privées à votre réseau interne,
- Vous avez qu’un seul ordinateur qui «possède» alors l’IP publique fournie par Free,
Ce routeur est peut-être aussi serveur de fichier etc.
Ce que je vais décrire içi c’est mon contexte :
- J’ai un serveur qui «possède» l’IP publique :
- Qui est aussi serveur web, mail etc.
- Qui est aussi un serveur interne de fichiers
- Je souhaite qu’il soit aussi serveur UPnP interne.
Le problème en image :
Vous voyez ? non ? Normalement on devrait avoir la Freebox HD dans l’intranet. Ici il faut penser à autoriser ce troublion afin qu’il puisse discuter avec le serveur UPnP hébergé sur le serveur/routeur. Et il ne faut autoriser que lui !
Travaux pratiques sous Debian GNU/Linux 5.0 (Lenny)
[ca marche aussi sur les autres distributions dérivées (Ubuntu par exemple)]
Ajout des règles de filtrages
Il faut donc savoir quoi autoriser. Le plus simple est d’ intégrer la Freebox HD dans votre intranet. Il faut donc autoriser les flux depuis et vers la Freebox HD.
Dans mon script cela donne :
# Freebox oui quelque soit sa demande $IPTABLES -A WAN2ME -s $MAFREEBOX_IP -j ACCEPT # Les autres non sur mediatomb $IPTABLES -A WAN2ME -p TCP --dport 49152 -j REJECT --reject-with tcp-reset $IPTABLES -A WAN2ME -p UDP --dport 1900 -j REJECT --reject-with tcp-reset
Comme vous utilisez pas mon script et que vous voulez juste les lignes iptables à rajouter à votre serveur/routeur :
# On accepte tout ce qui vient de la freebox (freeplayer.freebox.fr = 212.27.38.253) $IPTABLES -t filter -A INPUT -i eth1 -s 212.27.38.253 -j ACCEPT # On refuse les autres qui voudraient s adresser à mediatomb $IPTABLES -t filter -A INPUT -i eth1 -p TCP --dport 49152 -j REJECT --reject-with tcp-reset $IPTABLES -t filter -A INPUT -i eth1 -p UDP --dport 1900 -j REJECT --reject-with tcp-reset # N oubliez pas d autoriser votre serveur routeur à communiquer avec la freebox $IPTABLES -t filter -A OUTPUT -i eth1 -s 212.27.38.253 -j ACCEPT
ATTENTION : Vérifiez les ports pour VOTRE installation en regardant après installation de Mediatomb les ports sur lesquels il écoute avec la commande netstat (en root):
netstat -lpn | grep mediatomb
Le serveur UPnP
J’ai choisi Mediatomb (installation: aptitude install mediatomb). Il faut alors le configurer. Après cette commande, par défaut c’est bien fait cela fonctionne presque sans changements, mais vous avez alors accès à … rien. 🙂
Il faut donc dire à Mediatomb d’ajouter un (ou plusieurs emplacements). Pour cela il existe beaucoup de possibilité, mais la plus propre et durable à mon avis et d’utiliser le fichier de pré-configuration spécifique à Debian /etc/default/mediatomb. Voici les deux lignes modifiées :
OPTIONS="--add /la/ou/je/veux" INTERFACE="eth1"
Comme vous le voyez j’ai modifié deux choses:
- –add /la/ou/je/veux qui est le répertoire auquel je souhaite avoir accès via Mediatomb
- L’interface (eth1 ici) sur laquelle le routage multicast doit être activé.
Il faut alors redémarrer Mediatomb (/etc/init.d/mediatomb restart) et bien sur ca fonctionne :). Il faut juste laisser le temps à Mediatomb de référencer tous les fichiers.
Pour valider votre installation, je vous conseille au minimum de regarder si le port 49152 n’est pas accessible depuis l’extérieur (testez ca chez vos amis, parents, voisins). Si vous avez le courage, un test de l’ensemble des ports ouverts avec nmap vous en dira plus.
Commentaires récents