[MàJ] Tuto : accès à distance aux flux TV Freebox via un VPN

Contrairement aux offres mobiles classiques des opérateurs, les offres « low cost » B&You, Free Mobile, RED et Sosh n’incluent pas la TV dans le forfait de base, et ne la proposent pas toujours en option. Même si la TV sur mobile reste un peu un gadget, il peut tout de même être intéressant d’en profiter à l’occasion. La solution : récupérer les flux TV de votre abonnement fixe.

En effet, si vous êtes abonnés pour le fixe chez Free par exemple, vous avez la possibilité d’accéder à une partie des chaînes depuis un ordinateur raccordé au réseau local de votre box. Je vais donc vous expliquer comment monter rapidement un VPN entre un ordinateur branché au réseau local d’une Freebox et un smartphone Android pour accéder au flux sur ce dernier, même quand il n’est pas connecté en Wi-Fi sur le réseau local.

Cette solution permet alors d’accéder à vos flux Freebox depuis n’importe quelle connexion Internet, en Wi-Fi ou en 3G (à condition toutefois d’avoir un bon débit).

Pour faire simple, j’ai opté pour une solution basée sur OpenVPN Access Server Virtual Appliance, une machine virtuelle clé en main embarquant un petit système Linux et un serveur OpenVPN pré-installé, avec une interface web de configuration.

La première étape est donc de télécharger VMWare Player (pour exécuter la VM) et l’image de la VM, disponible ici.

Une fois VMWare Player installé et la VM décompressée, double cliquez simplement sur le fichier OpenVPN-AS-Appliance.vmx pour démarrer la VM. Si tout se passe bien, vous devriez arriver à ce magnifique écran bleu pas de la mort :

OpenVPN ASDans le menu en bas, sélectionnez Login et validez. Le login est root et le mot de passe est openvpnas (attention, le clavier est en QWERTY).

Tapez les commandes suivantes pour modifier le mot de passe de l’utilisateur root, puis celui de l’utilisateur openvpn :

Une fois de retour à l’écran d’accueil, recopiez l’URL indiquée en haut à droite dans votre navigateur pour vous connecter à l’interface de configuration. Le login est openvpn et le mot de passe est le second mot de passe que vous avez saisi juste au dessus.

Dans l’interface, cliquez sur le lien AS Admin Login en haut à droite, puis identifiez-vous à nouveau. Vous voilà dans l’interface d’administration du serveur OpenVPN :

OpenVPN AS : administration webIl faut maintenant adapter quelques paramètres de base :

  • sur la page Server Network Settings, remplacez le Hostname par votre adresse IP publique (si votre IP n’est pas fixe, vous pouvez utiliser un service type DynDNS et saisir votre nom DNS),
  • sur la même page, changez le TCP Port number, par exemple, 4430 (il semblerait que le 443 pose problème avec certaines box, car il est utilisé pour l’accès distant à l’interface d’administration de la box),
  • sur la page VPN Settings, assurez vous que l’option Should client Internet traffic be routed through the VPN est bien à Yes,
  • sur la page User Permissions, cochez la case Allow Auto-login pour l’utilisateur openvpn.

Il reste maintenant à configurer en détail l’utilisateur, en cliquant sur le lien Show dans la page User Permissions :

  • activez les options Use Dynamic, Use NAT et Configure DMZ IP address,
  • dans le champ DMZ IP Address, recopiez l’adresse IP de la VM.

OpenVPN AS : configuration d'un utilisateurUne fois les paramètres sauvegardés, cliquez sur le bouton Update Running Server en haut de la fenêtre, puis déconnectez-vous de l’interface d’administration.

Rendez-vous ensuite dans l’interface d’administration de votre box ou de votre routeur et activez la redirection des ports TCP 4430 (ou toute autre valeur que vous aurez choisie) et UDP 1194 vers l’IP de la VM.

Rendez-vous ensuite sur votre terminal Android et installez l’application OpenVPN Connect.

Lancez ensuite votre navigateur et tapez l’adresse https://hostname:4430, en remplaçant hostname et 4430 par les valeurs configurées plus haut pour Hostname et TCP Port number. Vous devriez obtenir quelque chose comme ça :

OpenVPN AS : connexion web

Connectez-vous avec l’identifiant openvpn puis descendez en bas de page et cliquez sur le lien Yourself (autologin profile) pour télécharger le profil de connexion. Enregistrez-le dans la mémoire de l’appareil.

Lancez ensuite l’application OpenVPN Connect. Dans le menu en haut à droite, sélectionnez Import puis Import Profile from SD card et sélectionnez le profile que vous venez de télécharger.

De retour à l’écran d’accueil d’OpenVPN Connect, cliquez simplement sur Connect, et si tout s’est bien passé, vous devriez être connecté :

OpenVPN Connect sur AndroidUne petite clé dans votre barre de notification sera affichée tant que vous serez connecté.

Vous pouvez maintenant lancer votre application favorite pour la lecture de vos flux TV Freebox.

[MàJ le 20/05/2013] Merci à Cédric, auteur de l’application TV Box Facile, qui a bien voulu mettre à jour son application pour qu’elle fonctionne en l’absence de connexion Wi-Fi. Pour ce faire, rendez-vous simplement dans les paramètres de l’application et activez l’option « Ne pas vérifier le Wifi ».

Attention toutefois à une (grosse !) limite de cette solution : il faut un débit en upload au moins égal au débit des flux TV fournis par Free, et il faut que votre connexion mobile soit suffisament rapide. En pratique, si vous n’avez pas de connexion fibre, vous serez limité aux flux radio… Attention aussi à votre quota de connexion cellulaire, qui peut exploser très vite : environ 900 Mo par heure avec les flux bas débit de Free… À utiliser donc de préférence uniquement lorsque vous êtes connecté à un point d’accès Wi-Fi.

Bonus

On va maintenant aller un peu plus loin… Si vous me lisez régulièrement, vous savez que je dispose en fait d’une double connexion Internet, avec une connexion ADSL Free et une connexion fibre Orange. Avec ses 50 Mbit/s en upload, cette dernière est largement suffisante pour assurer l’upload des flux TV, même en HD. Voici comment configurer OpenVPN pour profiter de deux connexions.

Tout d’abord, il faut doter la VM de deux cartes réseau virtuelles en mode Bridged, raccordées chacune à un des deux réseaux physiques. Malheureusement, ceci n’est pas possible avec VMWare Player, et il faudra donc passer par VMWare Workstation.

Une fois les cartes virtuelles configurées, redémarrez la VM et connectez vous dessus en root. Éditez le fichier /etc/network/interfaces et remplacez le par le suivant, pour définir une IP fixe sur chacune des interfaces, puis redémarrez la machine :

Elle dispose désormais d’une IP sur le réseau local de la Freebox et d’une IP sur celui de l’autre connexion. Rendez-vous dans l’interface d’administration d’OpenVPN AS et modifiez les paramètres de DMZ du client pour mentionner l’IP de la VM sur le réseau de la Freebox et le champ Hostname pour mettre l’IP publique ou le nom DNS de l’autre connexion.

Connectez vous ensuite en root sur la VM pour adapter les tables de routage. Le but est d’obtenir un routage ne faisant passer par la Freebox que le trafic des flux TV, en renvoyant tout le reste vers l’autre connexion.

Tout d’abord, il faut détruire les deux routes par défaut existantes, car elles ont la même métrique :

(oui, c’est deux fois la même commande, ce n’est pas une erreur)

Ensuite, on ajoute une route vers l’IP utilisée pour les requêtes vers les flux TV, en la forçant à passer par le réseau Freebox :

Ensuite, on recrée deux routes par défaut, une via la Freebox, l’autre via l’autre connexion, avec des métriques différentes pour donner priorité à l’autre connexion :

Vérifiez que tout fonctionne encore correctement, et en particulier l’accès à vos flux TV depuis votre mobile.

Si c’est le cas, il n’y a plus qu’à rendre ces routes persistantes en ajoutant les trois dernières commandes au fichier /etc/network/interfaces, en les précédant de up :

Et voilà !

[Publication originale le 04/05/2013 à 18h31]
[MàJ le 20/05/2013 à 21h45] : ajout du paragraphe TV Box Facile

19 réflexions sur « [MàJ] Tuto : accès à distance aux flux TV Freebox via un VPN »

  1. Bonjour et merci pour ce tuto qui m’intéresse beaucoup mais le lien dans la ligne suivante est hs donc le tuto est impossible a suivre.

    La première étape est donc de télécharger VMWare Player (pour exécuter la VM) et l’image de la VM, disponible ici.

    Merci de corriger svp.

  2. J’ai corrigé le lien.

    Par contre la VM n’est désormais plus disponible au format VMX, c’est de l’OVF pour VMWare ESXi, je ne suis pas certain que ça marchera tel quel avec VMWare Player.

  3. Bon j’ai réussi, le fichier est au format ova qui est prit en charge par VMWare, mais il n’y a pas l’interface graphique bleue comme sur l’image du tuto. Lors de votre première connexion une configuration se lance et à la fin de celle-ci vous avez les url pour l’interface d’administration (j’ai cherché pour les trouver avec la notice en anglais). Pour info la commande pour relancer la configuration est ovpn-init. après il ne reste plus qu’a suivre le tuto car le reste ne change pas. Encore merci même si je n’ai pas un débit montant suffisant pour renvoyer le flux vidéo (ça freeze). 🙁

  4. Bonjour , merci beaucoup pour ce tuto , il est génial mais peut tu me dire comment connecter deux smartphone en meme temps a ma connexion Free .
    c’est la même chose , sauf avec plusieurs téléphones . merci

    1. Avec deux appareils, c’est plus la même histoire… Avec un seul, ça marche grâce à la DMZ, qui renvoie tout le trafic entrant vers un des clients.

      Pour plusieurs appareils, tu peux plus reposer sur du NAT+DMZ, il faut faire un pont (bridge) entre le réseau local et le réseau du VPN, pour que tous les clients du VPN soient visibles par les machines du LAN. Je sais pas si c’est possible directement avec OpenVPN AS, mais en configuration manuelle ça a l’air possible : https://www.debian-fr.org/install-openvpn-en-mode-bridge-t4376.html

      1. Merci pour la réponse . Ton tuto est super simple à appliquer mais la sa se complique pour moi . Je suis dégouté .

          1. Oui, avec plusieurs VM sur des ports différents, ça doit pouvoir marcher. Mais ça fait un peu usine à gaz ^^

  5. lol c’est vrai que ca va êtres le chantier mais en plus je sais pas si la carte réseaux va fonctionner pour les 2 ou 3 VM .
    t’aurais pas un tuto plus claire que ce lui la ? j’ai windows .ou autre que open vpn .j’étais dégoûté quand mon premier smartphone c’est connecter et le deuxième rien. merci beaucoup

  6. Nope, j’ai pas d’autre tuto.
    Tu peux peut-être regarder s’il y a des solutions plus simples du côté d’Hamachi par exemple.

  7. je laisse quand même la solution ,
    pour connecter plusieurs client en même temps faut acheter les licences . 5euros /personne/année .

  8. Bonjour, je cherche a acceder a la freebox de chez moi depuis mon lieu de travail par exple. Est ce que cette solution fonctionnerait dans ce cas?

  9. Bonjour,
    je voudrais savoir s’il est envisageable d’utiliser cette solution ou une solution similaire pour leurrer le player d’un opérateur (free, orange…) situé aux US afin de lui faire croire qu’il est raccordé sur la box en France car je me déplace régulièrement aux US et je souhaiterais regarder les chaines Françaises ?

    Merci pour le tuto et le travail que cela représente.

    1. Pour la lecture sur ordinateur à distance, ça devrait marcher avec VLC pour Free. Pour Orange, je sais pas, mais logiquement l’application Orange TV pour Windows devrait marcher également.

      Il est également possible d’emmener carrément le boîtier TV et de le raccorder via VPN, mais ça nécessite un peu plus de travail de configuration pour la gestion des VLAN : http://blog.cogipix.com/general/technique/faire-communiquer-le-freebox-player-et-le-freebox-server-par-vpn

Laisser un commentaire

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.