Freebox OS 4.1 : accédez aux données de la box depuis une machine virtuelle

Freebox OS 4.1 : accédez aux données de la box depuis une machine virtuelle

Samba, Samba !

Avatar de l'auteur
David Legrand

Publié dans

Internet

08/10/2019 6 minutes
40

Freebox OS 4.1 : accédez aux données de la box depuis une machine virtuelle

Depuis aujourd'hui, il est possible d'activer des machines virtuelles au sein de la Freebox Delta de Free. Une fois démarrées, celles-ci ont accès au réseau local, mais comment peuvent-elles lire ou écrire dans l'espace de stockage de la box ? Samba vient à votre rescousse.

La Freebox Delta de Free est un modem routeur classique, composé comme un micro PC. Il dispose d'un SoC ARM v8 à quatre cœurs, de 2 Go de mémoire, de multiples ports réseau, d'une puce Wi-Fi 5 (802.11ac, 160 MHz) et de quatre ports S-ATA permettant de connecter des HDD/SSD pouvant être utilisés dans une grappe RAID.

Depuis la mise à jour 4.1 de Freebox OS diffusée ce matin, il est possible d'y utiliser non seulement l'interface web proposée par Free, mais également n'importe quelle application à travers une machine virtuelle. Dans la pratique, il s'agit de simuler l'existence d'un petit ordinateur au sein de la box où l'on installe un système d'exploitation tel que Linux ou FreeBSD par exemple, puis toutes les applications que l'on souhaite.

De quoi héberger un petit site web, utiliser youtube-dl ou même des services plus complets comme Jeedom, YunoHost ou OwnCloud/NextCloud. Le tout en ayant accès à l'espace de stockage de la box, qui peut atteindre plusieurs To.

Comment accéder aux données de la Freebox Delta depuis une VM ?

Mais dans la pratique, comment faire ? En effet, la machine virtuelle a beau être intégrée à la Freebox Delta, du point de vue du réseau, elle est perçue comme une machine à part entière avec son propre OS, sa propre adresse IP, etc. Elle doit donc faire comme tout le monde : passer par un partage Samba.

Pour y parvenir avec un système Linux accessible uniquement en ligne de commande, il existe quelques outils simples à prendre en main. Pour commencer, il faut néanmoins disposer d'une machine virtuelle fonctionnelle. Nous en avons configuré une sous Debian 10, accessible via OpenSSH. Si vous ne savez pas comment faire, suivez le début de ce guide :

Une fois que c'est fait, vous pouvez installer un premier outil qui vous permettra de naviguer au sein des données de la Freebox Delta en exploitant Samba : smbclient.

sudo apt install smbclient

Lors de la procédure, il vous sera demandé si vous voulez laisser le serveur DHCP du réseau (celui de la Freebox en l'occcurrence) attribuer les noms WINS (Windows Internet Naming Service) de vos machines, répondez oui. Ensuite, vous pourrez voir la Freebox et son stockage partagé (adaptez l'IP et le mode de connexion si vous les avez modifiés) :

smbclient -L //192.168.0.254 -N

L'accès se faisant par défaut de manière anonyme, il faut éviter que l'on ne vous demande un mot de passe. C'est à cela que sert le « -N » à la fin de la ligne de commande. La capture ci-dessous montre qu'il existe un partage principal, nommé Freebox. On peut donc s'y connecter et naviguer à l'intérieur comme on le ferait dans un répertoire local :

Samba Freebox Delta VM

Pour cela, il existe quelques commandes que vous pouvez taper :

smbclient //192.168.0.254/Freebox -N
cd VMs
ls
cd ../Enregistrements
help

Cela vous permet respectivement de vous connecter à la Freebox, de vous rendre dans le répertoire contenant les fichiers des machines virtuelles, de les lister, de vous rendre dans le répertoire contenant les enregistrements TV puis d'afficher l'ensemble des commandes disponibles. Il est également possible de copier des fichiers (get, put).

Mais pour transférer des données entre la machine virtuelle et la Freebox, le plus simple est de permettre à la première de voir l'espace de stockage de la seconde, considéré comme « distant », comme un répertoire classique. Dans les systèmes Unix tels que Linux, on parle alors de point de montage. On utilise pour cela CIFS (Common Internet File System) :

sudo apt install cifs-utils

Il suffit ensuite de créer un répertoire où sera « monté » le partage réseau de la Freebox. Pour cela il faut utiliser un compte invité et forcer la version 1.0 du protocole. Si vous ne le faites pas, une erreur sera affichée. Free nous confirme ne supporter que SMBv1 suite au passage de Samba à la licence GPLv3, cela ne devrait donc pas évoluer. 

sudo mkdir -p /mnt/freebox
sudo mount -t cifs -o guest,vers=1.0,uid=1000,gid=1000 //192.168.0.254/Freebox /mnt/freebox
cd /mnt/freebox/VMs
ls

Avec ces lignes de commandes on crée un répertoire où l'on monte ensuite le dossier partagé principal de la Freebox, comme on pourrait le faire avec n'importe quel autre dossier contenu dans celle-ci. (Freebox/Vidéos par exemple).

Le paramètre guest permet d'éviter d'avoir à entrer un mot de passe. Puisque l'on est obligé de lancer cette commande comme administrateur (sudo) afin d'exploiter le type CIFS, on précise les valeurs guid/uid permettant d'indiquer à quel utilisateur/groupe appartiendront les fichiers montés. Ils correspondent ici à l'utilisateur courant.

Pour vous assurer que ce sont les bons, vous pouvez utiliser ces commandes :

id -u nom_utilisateur
id -g nom_utilisateur

Les autres lignes de commandes permettent de se rendre dans le répertoire contenant les fichiers des machines virtuelles afin de les lister. Avec cette méthode, vous pouvez copier simplement des fichiers depuis ou vers la Freebox, mais aussi les utiliser pour vos différentes applications ou des sauvegardes. Ce, comme s'ils étaient présents au sein de la VM.

Si vous activez une redirection de port, cela peut également permettre un accès distant aux fichiers de la Freebox à travers la machine virtuelle, avec des dispositifs comme SSHFS-Win par exemple. 

Pour aller plus loin, vous pouvez automatiser ce montage au démarrage. Pour cela, il faut passer par le fichier fstab :

sudo nano /etc/fstab

Ajoutez cette ligne (à adapter si besoin), enregistrez (CTRL+X) et redémarrez le serveur (sudo reboot) :

//192.168.0.254/Freebox /mnt/freebox cifs guest,vers=1.0,uid=1000,gid=1000 0 0
40

Écrit par David Legrand

Tiens, en parlant de ça :

Sommaire de l'article

Introduction

Comment accéder aux données de la Freebox Delta depuis une VM ?

Commentaires (40)


Petite question qui n’a rien à voir avec le contenu lui-même mais l’organisation entre Next Inpact et Inpact Hardware : ce type de contenu n’aurait pas plus sa place sur ce dernier, avec ceux mis en ligne ce matin ?



Je ne comprends pas toujours la répartition des articles entre les deux sites. Ici ça me paraît plus orienté “hardware” (lignes de commandes, etc) que de l’actu informatique généraliste, non ? <img data-src=" />



A moins que ce soit une sorte de brève pour justement faire le lien aux deux autres articles publiés ?


ben non là c’est du software justement <img data-src=" />


Disons que dès que ça touche à la partie virtualisation on considère que ça rentre dans la partie matériel/serveur donc on met ça côté IH. Là c’est purement logiciel/réseau, donc sur NXi <img data-src=" />


ça se comprend, mais peut être que pour des dossiers complets qui se suivent ça serait plus logique à l’avenir de tout mettre au meme endroit, ça évite de switcher pour suivre.



Sur le fond merci pour ces articles, ça donne des idées de bidouille <img data-src=" />


Je suppose que les VM ne pourront pas avoir accès à l’écran de la TV ?

&nbsp;Ça permettrait de transformer la Freebox en console de jeu ou de faire son propre media center.


Ok je comprends mieux, je ne voyais pas la répartition comme cela entre les deux sites :)



Sinon sympa ces nouveautés, même si ça intéressera surtout les bidouilleurs pour le fun. La box me paraît trop limité en HW pour des usages un peu plus poussés, mais pour certains usages ça peut être vraiment pratique.

Bon après… vu le coût de l’abonnement avec la Delta… <img data-src=" />


La Delta n’a pas d’interface TV. Le décodeur est à part.

C’est la One qui est 2-en-1 ;)


Toujours impressionné de la qualité de vos explications dans vos articles&nbsp; : accessibles et claires. Grand merci&nbsp;<img data-src=" />


<img data-src=" />


Heu, quelle est la raison qui oblige de faire du smb v1 ?

Le samba de la Freebox ou le kernel de votre VM ? Parce que c’est super moche.








eyce a écrit :



…&nbsp;





Aucune idée je n’ai pas pu creuser pour le moment, mais en v2/v3 ça renvoyait une erreur&nbsp;(hôte non connecté de mémoire). Je pense que c’est plutôt côté Freebox, mais je vais tester avec d’autres NAS et voir avec les équipes de Free en //&nbsp;



Je n’avais pas pensé à ce point. Il y aurait toujours moyen de streamer l’image vers la box TV, mais c’est vrai que ça compliquerait les choses.


Le host down c’est en effet le symptôme d’une version de smb non supportée, mais il y a 2 possibilités :




  • ça vient de la freebox, mais j’en doute car les w10 récents ne pourraient pas y accéder de base. Et ce serait vraiment moche @ sécu de leur part.

  • ça vient du kernel de ta vm, et si ce sont des installs fourni par eux c’est moche aussi (si c’est tes install c’est pardonné ;) )








David_L a écrit :



Aucune idée je n’ai pas pu creuser pour le moment, mais en v2/v3 ça renvoyait une erreur&nbsp;(hôte non connecté de mémoire). Je pense que c’est plutôt côté Freebox, mais je vais tester avec d’autres NAS et voir avec les équipes de Free en //&nbsp;





Si la Delta utilise la même lib que la révolution (et il me semble comprendre que c’est le cas au regard de plusieurs tickets), c’est bien du fait de la box qui ne prend rien d’autre que v1.









eyce a écrit :



Le host down c’est en effet le symptôme d’une version de smb non supportée, mais il y a 2 possibilités :




  • ça vient de la freebox, mais j’en doute car les w10 récents ne pourraient pas y accéder de base. Et ce serait vraiment moche @ sécu de leur part.

  • ça vient du kernel de ta vm, et si ce sont des installs fourni par eux c’est moche aussi (si c’est tes install c’est pardonné ;) )





    C’est probablement moche, mais je peux te certifier qu’en raison de la révolution je suis contraint, dès que je veux faire un montage depuis un de ses disques, de ne faire que du v1 sinon ça plante systématiquement.



C’est quoi les perfs des VM ?



Par ce qu’autant la ram est amovible, mais le processeur n’est pas bien puissant non ?


Par contre David, je veux pas faire mon fstab-nazi, mais j’ajouterai _netdev à la fin <img data-src=" />








eyce a écrit :



Le host down c’est en effet le symptôme d’une version de smb non supportée, mais il y a 2 possibilités :




  • ça vient de la freebox, mais j’en doute car les w10 récents ne pourraient pas y accéder de base. Et ce serait vraiment moche @ sécu de leur part.

  • ça vient du kernel de ta vm, et si ce sont des installs fourni par eux c’est moche aussi (si c’est tes install c’est pardonné ;) )





    Ce sont des images Cloud fournies par les distributions ;) Après ça n’empeche pas que le souci vienne d’un côté ou de l’autre, à creuser.

    &nbsp;



    coco74 a écrit :



    C’est quoi les perfs des VM ?



    Par ce qu’autant la ram est amovible, mais le processeur n’est pas bien puissant non ?





    &nbsp;On a fait des tests sur IH, les liens sont dans l’article ;)&nbsp;

    &nbsp;



&nbsp;







crocodudule a écrit :



C’est probablement moche, mais je peux te certifier qu’en raison de la révolution je suis contraint, dès que je veux faire un montage depuis un de ses disques, de ne faire que du v1 sinon ça plante systématiquement.





La Révolution est suffisamment vieille pour que ça ne me choque pas (même si ça doit être soulant quand on n’a pas identifié la cause), la Delta beaucoup moins donc ça me surprendrait beaucoup.





David_L a écrit :



Ce sont des images Cloud fournies par les distributions ;) Après ça n’empeche pas que le souci vienne d’un côté ou de l’autre, à creuser.

&nbsp;



Chelou, mais cool si tu peux avoir des infos.









eyce a écrit :



&nbsp;




      La Révolution est suffisamment vieille pour que ça ne me choque pas (même si ça doit être soulant quand on n'a pas identifié la cause), la Delta beaucoup moins donc ça me surprendrait beaucoup.








    Sauf à mal lire le ticket qui est donné en lien, toutes les box serveurs sont pas à jour (contrairement à la boxtv):          



https://dev.freebox.fr/bugs/task/24485&nbsp;

https://dev.freebox.fr/bugs/task/25987



 &nbsp;   



(problème de GPLv3 possible sur la question…)









David_L a écrit :



Aucune idée je n’ai pas pu creuser pour le moment, mais en v2/v3 ça renvoyait une erreur&nbsp;(hôte non connecté de mémoire). Je pense que c’est plutôt côté Freebox, mais je vais tester avec d’autres NAS et voir avec les équipes de Free en //&nbsp;







Peut être un début de piste ici:

https://bugs.launchpad.net/ubuntu/+source/gvfs/+bug/1778322?comments=all



A+



On a le CPU, après faudrait voir en réel qu’est ce que ça donne.


Cela vient du fait que les Freebox (Revolution et Delta) ne font que du v1 et c’est tout de même assez scandaleux.


Ouahhhh…

Merci pour les liens :)

&nbsp;








eyce a écrit :



Ouahhhh…

Merci pour les liens :)

&nbsp;





Comme tu dis “ouahhhh…” ^^

&nbsp;

Je sais pas si le SMB v1 peut passer sur de l’ipv6, mais si c’est le cas, je te laisse imaginer le risque que cela représentait il y a quelques mois lorsque l’ipv6 a été activé d’autorité sur les freebox sans firewall (lequel n’est toujours pas activé par défaut)…



Free m’a confirmé le point, article mis à jour en conséquence <img data-src=" />


Ils ont confirmé que c’était assez scandaleux ? C’est bien de leur part de le reconnaître ! <img data-src=" />








fred42 a écrit :



Ils ont confirmé que c’était assez scandaleux ? C’est bien de leur part de le reconnaître ! <img data-src=" />





<img data-src=" />



Plaisanterie mise à part, tu as mis le doigt sur la raison : la GPL V3.



On voit ici la limite de cette licence pour une utilisation professionnelle.



Ils pourraient par contre utiliser le module du noyau CIFSD (en) qui est un serveur SMB, lui sous GPL v2.



Il me semble qu’il y a aussi des offres propriétaires (payantes) pour répondre à ce besoin, mais je ne m’en souviens plus… À chercher dans cette liste qui mêle clients et serveurs.


<img data-src=" />



Merci David pour le retour








fred42 a écrit :



Plaisanterie mise à part, tu as mis le doigt sur la raison : la GPL V3.



On voit ici la limite de cette licence pour une utilisation professionnelle.



Ils pourraient par contre utiliser le module du noyau CIFSD (en) qui est un serveur SMB, lui sous GPL v2.



Il me semble qu’il y a aussi des offres propriétaires (payantes) pour répondre à ce besoin, mais je ne m’en souviens plus… À chercher dans cette liste qui mêle clients et serveurs.





Sans avoir cherché, il est évident que des alternatives existent puisque des os payants supportent le SMB2&3, lesquels ne sont pas connus pour avoir publié leurs codes sources ^^









fred42 a écrit :



Plaisanterie mise à part, tu as mis le doigt sur la raison : la GPL V3.






 Après ça a toujours été la difficulté de free qui fait reposer pour une bonne part ses os et ses softs sur le libre, mais ne veut l'être que partiellement lui-même, ceci avec un vieux débat (de mémoire) sur la nécessité de protéger les DRM par rapport aux ayants droits, débat dont je doute de la pertinence sachant que des softs totalement libres comme kodi permettent d'utiliser netflix ou prime video sans compromettre (à ma connaissance) la protection du flux (même si ces add-on ne sont pas encore officiellement supportés).


à mon avis c’est plus simple en partage&nbsp; NFS, vu que tout est du GNU/Linux (ça fonctionne avec PROXMOX)





pour le pb SMB ça m’intéresse, car j’ai buté sur pleins d’erreurs.








joedu12 a écrit :



à mon avis c’est plus simple en partage&nbsp; NFS, vu que tout est du GNU/Linux (ça fonctionne avec PROXMOX)





pour le pb SMB ça m’intéresse, car j’ai buté sur pleins d’erreurs.





Le NFS est une bonne solution mais pour des fichiers lourds (plus de 500mb) il prend vite une dérouillé par rapport au SMB en terme de performance (et il est très difficilement utilisable depuis windows).



Et pour tes “erreurs” en SMB, cherche pas, si tu cherches à accéder à un partage SMB de ta freebox, il te faudra utiliser que le v1 (sous windows 10 ça implique de réinstaller cette version qui n’est pas présente par défaut).



Si on a choisi d’avoir une IP FullStack (option à choisir sur la page de gestion de l’abonnement) il doit être possible d’utiliser les ports standards sur l’interface externe, non ? Sinon j’ai du mal à voir comment on peut héberger un petit serveur de mail…








crocodudule a écrit :



Je sais pas si le SMB v1 peut passer sur de l’ipv6, mais si c’est le cas, je te laisse imaginer le risque que cela représentait il y a quelques mois lorsque l’ipv6 a été activé d’autorité sur les freebox sans firewall (lequel n’est toujours pas activé par défaut)…





Tout dépend de s’il y a des services sensibles en écoute et sur toutes les adresses (en 0.0.0.0 ou équivalent).



Perso je n’ai pas de firewall activé sur ma box (pas une FreeBox) et j’ai configuré le NAT pour que tout aille sur mon PC perso.







crocodudule a écrit :



Le NFS est une bonne solution mais pour des fichiers lourds (plus de 500mb) il prend vite une dérouillé par rapport au SMB en terme de performance (et il est très difficilement utilisable depuis windows).





Bizarre ton histoire, chez moi NFS est performant quelle que soit la taille du fichier (je n’ai pas Windows).









OlivierJ a écrit :



Tout dépend de s’il y a des services sensibles en écoute et sur toutes les adresses (en 0.0.0.0 ou équivalent).



Perso je n’ai pas de firewall activé sur ma box (pas une FreeBox) et j’ai configuré le NAT pour que tout aille sur mon PC perso.





Bizarre ton histoire, chez moi NFS est performant quelle que soit la taille du fichier (je n’ai pas Windows).





Je n’ai pas fait de tests perso, mais il y a en pas mal de disponibles sur le net; grosso modo à partir de 500 MB et + le SMB passe largement devant (et de plus en plus avec l’augmentation de la taille du fichier).



Après j’ai pas plus creusé comme il y a un peu de tout sur mon réseau, je reste sur du SMB pour sa compatibilité avec tous les os.









crocodudule a écrit :



Je n’ai pas fait de tests perso, mais il y a en pas mal de disponibles sur le net; grosso modo à partir de 500 MB et + le SMB passe largement devant (et de plus en plus avec l’augmentation de la taille du fichier).





Surtout je vois mal la raison.

En fait si, c’est Windows manifestement (sans rire), du moins sa gestion du protocole ou l’interaction avec le système de fichiers ou le cache.

En tous cas je transfère tous les jours des fichiers de plusieurs Go entre 2 de mes machines (dont un HTPC pas très puissant), et ça dépote bien sans faiblir.



Oui mais c’est déjà un élément, et c’est surtout celui que tu cites précisément dans ton post c’est pour ça que je te passais l’info 😉