Depuis la sortie du nouveau firmware 1.1.1 de la Freebox Serveur, nous avons vu apparaitre des nouveaux services plutôt intéressant : Airplay (ou Freebox AirMedia), la fonctionnalité NAS avec le partage du disque dur (Windows et Mac), Time Machine, etc.
Cependant, ces services utilisent le protocole mDNS (Bonjour). Il n’est donc pas possible de profiter de ces services si l’on utilise son propre routeur (DDWRT) puisque l’on se trouve sur un autre réseau.
La solution est de répéter les requêtes mDNS sur le second réseau.

Explication avec un schéma :

L’application mdns-repeater, lancée sur le routeur DDWRT permet de répéter d’un réseau à un autre les messages mDNS. Ainsi, les ordinateurs du deuxième réseau ont accès aux services de la Freebox.

Configuration du routeur :

Dans un premier temps, il faut vérifier que votre version de DDWRT inclut la fonctionnalité JFFS2. JFFS2 permet de réserver une zone mémoire non volatile et ainsi d’y stocker des scripts ou applications.
Pour vérifier, connectez-vous à l’interface d’administration Web du routeur, puis onglet Administration.
Si vous l’avez, cochez la case enable.

Si vous ne l’avez pas, il faudra changer la version de firmware de votre routeur. Dans mon cas je suis passé de la version Standard à la version Mini. Mais du coup j’ai perdu la fonctionnalité SNMP et l’accès web HTTPS…

Une fois que tout cela est ok, téléchargez le binaire de mdns-repeater ici. Il est compilé pour une architecture processeur mipsel. Si votre routeur est différent il faudra recompiler mdns-repeater à partir des sources ici (mais les choses deviennent bien plus compliquées…)

Ensuite il va falloir copier ce binaire dans la mémoire du routeur. Pour cela, utiliser un client SCP (ou la version en ligne de commande) ou un client FTP (avec mode de transfert SFTP).
Copiez le fichier « mdns-repeater-f25c7c35c787-mipsel » dans le répertoire /jffs/
Rendez le fichier exécutable « chmod +x mdns-repeater-f25c7c35c787-mipsel »
Et testez le bon fonctionnement avec « ./mdns-repeater-f25c7c35c787-mipsel vlan1 br0 » (les deux paramètres sont les interfaces des réseaux à lier, vérifiez avec ifconfig le nom de vos interfaces).
À cette étape vous devriez retrouver les services de la Freebox dans votre deuxième réseau. Attendez un peu et vous devriez voir le NAS de la Freebox ou Airplay dans iTunes. En cas de doute vous pouvez afficher finement les annonces mDNS avec Bonjour Browser (MAC).

Activer le lancement automatique de l’application au démarrage du routeur :
Maintenant que tout est bon, il faut créer un script dans /jffs/etc/config
je l’ai nommé start.wanup : « touch start.wanup ». Utilisez « vi » pour l’éditer.
Copiez, collez ceci :
#!/bin/sh
/jffs/mdns-repeater-f25c7c35c787-mipsel vlan1 br0 &

Le fichier start.wanup va donc être exécuté au démarrage, ce qui va lancer l’application mdns-repeater avec les bons paramètres.
Redémarrer le routeur pour tester et afficher les processus lancés avec la commande « ps ».

Pour plus d’info sur la manière de lancer une application au démarrage du routeur, c’est ici

Merci à Darell Tan pour le développement de l’application : http://irq5.wordpress.com/2011/01/02/mdns-repeater-mdns-across-subnets/