Freebox OS 4.1 : accédez aux données de la box depuis une machine virtuelle
Samba, Samba !
Le 08 octobre 2019 à 11h37
6 min
Internet
Internet
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.
- Freebox Delta Server : intégration de quatre HDD, mise à jour de la mémoire et surprise sur le Wi-Fi
- Freebox OS 4.1 : les dessous des machines virtuelles dans la Freebox Delta
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 :
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
Freebox OS 4.1 : accédez aux données de la box depuis une machine virtuelle
-
Comment accéder aux données de la Freebox Delta depuis une VM ?
Commentaires (40)
Vous devez être abonné pour pouvoir commenter.
Déjà abonné ? Se connecter
Abonnez-vousLe 10/10/2019 à 09h51
Le 10/10/2019 à 09h59
Le 11/10/2019 à 07h55
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 😉
Le 08/10/2019 à 12h25
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… " />
Le 08/10/2019 à 12h30
La Delta n’a pas d’interface TV. Le décodeur est à part.
C’est la One qui est 2-en-1 ;)
Le 08/10/2019 à 12h44
Toujours impressionné de la qualité de vos explications dans vos articles : accessibles et claires. Grand merci " />
Le 08/10/2019 à 12h53
" />
Le 08/10/2019 à 12h58
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.
Le 08/10/2019 à 13h22
Le 08/10/2019 à 13h22
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 08/10/2019 à 13h43
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 :
Le 08/10/2019 à 13h48
Le 08/10/2019 à 13h51
Le 08/10/2019 à 13h54
C’est quoi les perfs des VM ?
Par ce qu’autant la ram est amovible, mais le processeur n’est pas bien puissant non ?
Le 08/10/2019 à 13h55
Par contre David, je veux pas faire mon fstab-nazi, mais j’ajouterai _netdev à la fin " />
Le 08/10/2019 à 13h58
Le 08/10/2019 à 14h09
Le 08/10/2019 à 14h15
Le 08/10/2019 à 14h18
Le 08/10/2019 à 11h45
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 ? " />
A moins que ce soit une sorte de brève pour justement faire le lien aux deux autres articles publiés ?
Le 08/10/2019 à 11h55
ben non là c’est du software justement " />
Le 08/10/2019 à 12h04
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 " />
Le 08/10/2019 à 12h10
ç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 " />
Le 08/10/2019 à 12h21
Je suppose que les VM ne pourront pas avoir accès à l’écran de la TV ?
Ça permettrait de transformer la Freebox en console de jeu ou de faire son propre media center.
Le 08/10/2019 à 14h37
https://www.inpact-hardware.com/article/1126/freebox-os-4-1-dessous-machines-virtuelles-dans-freebox-delta
" />
Le 08/10/2019 à 14h39
On a le CPU, après faudrait voir en réel qu’est ce que ça donne.
Le 08/10/2019 à 15h25
Cela vient du fait que les Freebox (Revolution et Delta) ne font que du v1 et c’est tout de même assez scandaleux.
Le 08/10/2019 à 15h26
Ouahhhh…
Merci pour les liens :)
Le 08/10/2019 à 15h35
Le 08/10/2019 à 15h51
Free m’a confirmé le point, article mis à jour en conséquence " />
Le 08/10/2019 à 15h56
Ils ont confirmé que c’était assez scandaleux ? C’est bien de leur part de le reconnaître ! " />
Le 08/10/2019 à 16h01
Le 08/10/2019 à 16h25
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.
Le 08/10/2019 à 16h25
" />
Merci David pour le retour
Le 08/10/2019 à 16h31
Le 08/10/2019 à 16h44
Le 08/10/2019 à 17h04
à mon avis c’est plus simple en partage 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 08/10/2019 à 17h13
Le 09/10/2019 à 05h47
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…
Le 10/10/2019 à 09h44