Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 13/02/2014, à 18:47

billou

[Tutoriel] Un serveur NAS + Centre multimédia de A à Z

Salut, je ne savais pas vraiment ou rajouter ce lien sur le wiki, mais j'ai écrit un tutoriel je l'espère assez complet, permettant actuellement d'installer depuis une ubuntu minimale 14.04 plusieurs services + xbmc, et j'aimerais avoir votre avis sur ce que j'ai rédigé (et éventuellement quelques conseils sur la sécurité)

http://doc.ubuntu-fr.org/tutoriel/insta … ediacenter

Dernière modification par billou (Le 15/02/2014, à 15:58)

Hors ligne

#2 Le 13/02/2014, à 20:33

Wacken

Re : [Tutoriel] Un serveur NAS + Centre multimédia de A à Z

Joli tuto wink

Tu devrais poser un cadre clair en début de tuto : le serveur va faire <blablabla>, le client va servir a <blablabla>.

Concernant NFS, tu pourrais expliquer un montage avec AutoFS, ça permet de se connecter sans soucis si le serveur est démarré après le client. De plus, il faudrait utiliser les options all_squash,anonuid=<your UID>,anongid=<your GID> si tu veux éviter les problèmes de droits d'utilisateurs. Par contre, il faudrait ajouter Samba dans le tas, sinon c'est la galère pour les utilisateurs Windows. Il manque également les règles iptables pour le partage. En fait moi je préfère SSHFS combiné à AutoFS, bien plus simple à gérer/configurer que NFS : côté serveur, suffit d'installer le paquet OpenSSH. Sur le client, soit on fait la combinaison SSHFS + AutoFS, soit on configure ça directement comme partage réseau dans l'explorateur de fichier. Là, tu as un pavé énorme rien que pour configurer le partage de fichiers, c'est un peu décourageant wink

Pour le serveur VPN je préfère OpenVPN, mais encore, chacun son truc.

Pour l'accès à distance, je connaissais pas X2Go, j'utilise toujours FreeNX, je vais tester.

Pour XBMC, peut-être parler de Yatse, la meilleure télécommande Android disponible !

Peut-être aussi utiliser ZeroConf : au lieu de l'adresse IP, on spécifie <hostname>.local, et ça marche ! Pas d'emmerdes avec les IP fixes à définir.

De manière générale, je trouve ça un peu complexe comme procédure. J'ai installé une configuration similaire avec une base de Linux Mint 13, et c'est moins de boulot :
- Montage SSHFS + AutoFS pour se connecter à mon desktop qui possède tous le multimédia. Une fois la connexion SSH mise en place sous root (passphrase sans mot de passe, en réseau local c'est pas un souci), c'est top.
- Un utilisateur supplémentaire "mediacenter" dont la session par défaut est XBMC, avec ouverture automatique (configuration en graphique en 2 clics)
- Un serveur FreeNX (que j'utilise jamais, car mon mediacenter est un vieux laptop, donc c'est tout aussi simple d'y accéder directement)

Je pense (mais c'est que mon avis), que si c'est pour installer tout ça, autant partir d'une distribution graphique à la base. Ça facilite une bonne partie du boulot : par exemple, si on ne met pas de serveur VPN, on peut configurer le FW en graphique sans se farcir iptables. Ensuite, comme on configure la session XBMC par défaut, le DE d'origine n'a plus vraiment d'importance car on ne l'utilise que pour le connexion remote.

Dernière modification par Wacken (Le 13/02/2014, à 21:02)

Hors ligne

#3 Le 13/02/2014, à 21:02

billou

Re : [Tutoriel] Un serveur NAS + Centre multimédia de A à Z

Wacken a écrit :

Joli tuto wink

Concernant NFS, tu pourrais expliquer un montage avec AutoFS, ça permet de se connecter sans soucis si le serveur est démarré après le client. De plus, il faudrait utiliser les options all_squash,anonuid=<your UID>,anongid=<your GID> si tu veux éviter les problèmes de droits d'utilisateurs.

Je ne connais ni AutoFS, ni ces options, si tu pouvais m'expliquer vite fait en quoi a consiste, ça serait sympa (si t'as un tutoriel sous le coude, c'est encore mieux)

Wacken a écrit :

Et pis moi je préfère SSHFS combiné à AutoFS, bien plus simple à gérer/configurer que NFS, mais chacun son truc smile Par contre, il faudrait ajouter Samba dans le tas, sinon c'est la galère pour les utilisateurs Windows. Il manque également les règles iptables pour le partage.

Je ne connais pas SSHFS non plus, quand à Samba, il faut encore que je me penche là dessus oui, mais concernant iptables, pour beaucoup de gens du forum habitué à manipuler les réseaux, ça coule de source, mais moi je n'y comprend rien, les tutoriels à ce sujet sont rarement complets, beaucoup balancent juste ce qu'il faut copier/coller sans expliquer en quoi consiste quoi, et chez moi le man d'Iptables est en anglais, sans compter que la plupart de la documentation disponible l'est aussi... La dernière fois que j'ai demandé quelques bases simple sur le forum après qu'on m'ait dit qu'on me filerait un coup de main, on m'a juste conseillé de mater la documentation... :-/

Wacken a écrit :

Pour le serveur VPN je préfère OpenVPN, mais encore, chacun son truc.

Vis à vis de ça, je suis 100% d'accord, mais je n'ai pas configuré de serveur OpenVPN depuis belle lurette, il faudra que je me repenche là dessus.

Wacken a écrit :

Pour l'accès à distance, je connaissais pas X2Go, j'utilise toujours FreeNX, je vais tester wink

Il me semble justement que x2Go reprend les bases de FreeNX, sans les limitations de celui ci côté serveur entre la version libre/proprio.

Wacken a écrit :

Pour XBMC, peut-être parler de Yatse, la meilleure télécommande Android disponible !

Je ne connaissais pas, je vais regarder ça, merci ! smile

Wacken a écrit :

De manière générale, je trouve ça un peu complexe comme procédure. J'ai installé une configuration similaire avec une base de Linux Mint 13, et c'est moins de boulot :
- Montage SSHFS + AutoFS pour se connecter à mon desktop qui possède tous le multimédia. Une fois la connexion SSH mise en place sous root (passphrase sans mot de passe, en réseau local c'est pas un souci), c'est top.
- Un utilisateur supplémentaire "mediacenter" dont la session par défaut est XBMC, avec ouverture automatique (configuration en graphique en 2 clics)
- Un serveur FreeNX (que j'utilise jamais, car mon mediacenter est un vieux laptop, donc c'est tout aussi simple d'y accéder directement)

À la base, j'avais une distrib ubuntu gnome sur ce serveur, mais c'est justement parce que c'est un serveur, que je voulais que ce dernier n'ait d'installé que ce dont il y a besoin... Pas de services inutiles ici, du coup le tutoriel s'adresse aussi aux machines recyclées un peu faiblardes... Et surtout, ça permet d'apprendre et comprendre les bases, c'est bien beau de simplifier à mort, mais d'autres comme moi, veulent sans doute comprendre comment ça fonctionne, à travers la pratique.

Wacken a écrit :

Je pense (mais c'est que mon avis), que si c'est pour installer tout ça, autant partir d'une distribution graphique à la base. Ça facilite une bonne partie du boulot : par exemple, si on ne met pas de serveur VPN, on peut configurer le FW en graphique sans se farcir iptables. Ensuite, comme on configure la session XBMC par défaut, le DE d'origine n'a plus vraiment d'importance car on ne l'utilise que pour le connexion remote.

À la base, je souhaitais surtout réduire le nombre de services actifs et de logiciels installés inutilement, notamment lightdm/kdm/lxdm/gdm... Et le VPN permet un accès complet au réseau à distance comme si l'on était connecté au réseau local, pour la maintenance ça peut être sympa aussi.

Dernière modification par billou (Le 13/02/2014, à 21:04)

Hors ligne

#4 Le 13/02/2014, à 21:58

Wacken

Re : [Tutoriel] Un serveur NAS + Centre multimédia de A à Z

AutoFS utilise Fuse pour monter les partages réseau à la demande (et pas automatiquement).
Côté serveur
Il suffit d'avoir openssh-server installé. Tant qu'à faire fail2ban pour la sécurité, on sait jamais :

apt-get install openssh-server fail2ban

Niveau iptables, on va accepter les connexions en entrée sur le port 22 :

iptables -A INPUT -p tcp --dport 22 -j ACCEPT

On peut traduire ça :
- -A INPUT : on parle de connexions en entrée
- -p tcp : pour le protocole TCP
- --dport 22 : pour le port de destination 22*
- -j ACCEPT : on accepte la connexion
*Pourquoi le le port 22 est le port de destination ? Parce que pour une connexion entrante, la source est le client, et la destination est le serveur.

Note que je suis pas fan d'iptables car par défaut, la configuration est perdue au redémarrage. Du coup, il faut chipoter avec des scripts ou définir la config par défaut dans je ne sais quel fichier, et c'est chiant. Si c'est un serveur distant, je fais un script que je lance manuellement à chaque redémarrage (pour pas me faire enfermer dehors wink), si c'est sur le réseau local j'installe toujours un environnement graphique.

Côté client
- Première solution, on se connecte via le gestionnaire de fichiers. C'est plus simple, mais c'est à configurer pour chaque utilisateur, et il faut cliquer dans le gestionnaire de fichiers pour s'y connecter.
1392319111.png
Éventuellement, sauver le signet, c'est plus simple. On peut aussi créer une clé SSH sans passphrase et la copier sur le serveur, ça permettra de ne jamais avoir à entrer de mot de passe.
- Deuxième solution, on passe par AutoFS + SSHFS. Tout se fait en root, et donc le partage sera valide pour tous les utilisateurs. Mais le gros avantage, c'est que par la suite le montage sera effectué à la demande, et sans mot de passe smile
On se met en root pour TOUTES les commandes suivantes :

sudo -i

On installe le nécessaire :

apt-get install autofs sshfs

On va configurer une clé SSH pour root, SANS passphrase (on laisse tout par défaut) :

ssh-keygen

On copie la clé SSH sur le serveur :

ssh-copy-id mediacenter@192.168.1.10

On configure le fichier /etc/auto.master en y ajoutant la ligne suivante :

/mnt/   /etc/auto.sshfs  --timeout=600,--ghost

Ce qui veut dire (dans l'ordre) :
- On va monter les partages dans /mnt
- Les partages sont définis dans /etc/auto.sshfs
- Après 600 secondes d'inactivité, on ferme la connexion
- Le répertoire sera créé automatiquement pour chaque partage

On configure le fichier /etc/auto.sshfs avec les partages :

audio  -fstype=fuse,port=22,rw,allow_other :sshfs\#mediacenter@192.168.1.10\:/home/mediacenter/audio
video  -fstype=fuse,port=22,rw,allow_other :sshfs\#mediacenter@192.168.1.10\:/home/mediacenter/video

Ce qui veut dire (dans l'ordre) :
- on va créer automatiquement un dossier /mnt/video et /mnt/audio
- on se connecte en Read-Write (rw), et les autres utilisateurs que root (allow_other) ont accès à ce dossier
- on monte le dossier /home/mediacenter/audio présent sur 192.168.1.10 (la syntaxe est un peu zarbi, mais c'est facile à adapter)

On relance AutoFS :

service autofs restart

Et là, magie, les dossiers /mnt/audio et /mnt/video sont créés automatiquement, et on peut parcourir leur contenu sans avoir à entrer un seul mot de passe smile Et surtout ce qui est top, c'est que si tu copies un fichier du client vers le serveur, tu n'auras pas de soucis avec les droits d'utilisateur, puisque derrière ça, c'est comme si tu faisais une copie SCP/SFTP et donc sur le serveur les fichiers seront crées par l'utilisateur mediacenter.

Petit exemple problématique :
- sur le serveur, j'ai 2 utilisateurs : john (UID=1000) et mediacenter (UID=1001). J'ai un dossier partagé dans /home/mediacenter/partage (disons en mode 777, pour simplifier)
- sur le client, j'ai 1 utilisateur : john (UID=1000)
Avec NFS, si mon client copie un fichier sur le serveur dans /home/mediacenter/partage (à supposer qu'il ait le droit de le faire, il faut déjà configurer ça), le fichier créé sera copié avec comme propriétaire le UID=1000, ce qui correspond à john. Sauf que par défaut, le fichier sera créé avec les permissions 644. Tu vois le souci ? Non ? smile Tu viens de créer un fichier en mode 644 avec comme propriétaire john dans le répertoire /home/mediacenter/partage. Et donc, l'utilisateur mediacenter n'aura pas les permissions pour supprimer ce fichier, par contre l'utilisateur john, oui. Et ça va être la merde à gérer dès lors que tu as plusieurs utilisateurs...
Le pire, c'est que d'autres distribs ne numérotent pas à partir de 1000, mais de 500 (Fedora, par exemple) :
- sur le serveur (Ubuntu), j'ai 1 utilisateurs : john (UID=1000). J'ai un dossier partagé dans /home/john/partage
- sur le client (Fedora), j'ai 1 utilisateur : john (UID=500)
Si mon client copie un fichier sur le serveur via NFS, il va créer un fichier avec le UID=500 sur le serveur Ubuntu. Et sur Ubuntu, l'UID=500 n'existe même pas => sur le serveur, seul root sera autorisé à modifier/supprimer le fichier...

Avec SSHFS, zéro souci : quand on se connecte au serveur, on précise quel utilisateur du serveur on utilise. Du coup, quelque soit l'utilisateur du client, ça sera toujours le même utilisateur du serveur qui fera les opérations sur les fichiers. Pour avoir le même comportement dans NFS, on utilise... all_squash, anonuid=<your UID> et anongid=<your GID>, tout simplement. Ce qu'on spécifie avec ces options, c'est que NFS va changer l'utilisateur de chaque fichier créé par l'utilisateur/groupe <your UID>/<your GID>.

Autre avantage de passer par SSH : FileZilla, dispo pour n'importe quel OS, permet de se connecter au serveur via le port 22.

Sans AutoFS, tu dois configurer tes partages automatiques dans /etc/fstab. Sauf que si ton serveur n'est pas démarré avant ton client, le montage va foirer. Avec AutoFS, pas de souci : le montage sera fait quand c'est nécessaire (quand tu accèderas à /mnt/audio par exemple), et pas avant. Note que AutoFS permet aussi de monter des partages NFS wink http://doc.ubuntu-fr.org/autofs

Dernière modification par Wacken (Le 13/02/2014, à 22:13)

Hors ligne

#5 Le 13/02/2014, à 22:44

billou

Re : [Tutoriel] Un serveur NAS + Centre multimédia de A à Z

Mhhh, merci pour toutes ces explications, je commence à m'y retrouver un peu plus déjà ! smile

C'est vrai que la gestion des utilisateurs est vraiment un point qui me rebutait  vis à vis de NFS, mais dans mes besoins en colocation, je laissait simplement un accès en lecture seule à mes colocataires, hormis un dossier bien à eux et accessibles à chacun d'entre eux seulement, pour qu'ensuite je classe moi même proprement tout ce qu'ils voudraient conserver.

Reste un problème majeur par rapport à l'accès aux fichiers via SSH, je l'ai déjà fait avec Filezilla et j'ai pu y être confronté, sur un réseau basique ou tout est branché par wifi ou câble en 100Mb, pas de problèmes, mais quid d'un réseau Gigabit ? Les performances semblent bien moindres que par NFS.

De ce que j'en ai vu, le protocole ISCSI propose les meilleures performances mais n'autorise qu'un accès exclusif un une partition ou un disque physique/virtuel, le protocole NFSv4 serait juste derrière mais aurait de piètres performances pour copier de multiples fichiers, laissant ensuite la place à SAMBA qui serait encore moins performant mais supporté par davantage d'OS et périphériques nativement, mais avec le même problèmes côté transfert de multiples fichiers, puis viendrait les échanges par SSH, qui, étant chiffrés, posent un sacré problème de performances (là ou le FTP, bien que vraiment pas sécure, permette d'exploiter un bon réseau à fond les ballons.).

Hors ligne

#6 Le 14/02/2014, à 00:29

Wacken

Re : [Tutoriel] Un serveur NAS + Centre multimédia de A à Z

C'est sûr que la couche de chiffrement ne peut que ralentir le transfert, surtout si le serveur n'est pas puissant. Niveau performances, sur un réseau Gigabit, j'atteins ~30 Mo/s sur un gros fichier. Tu me diras que c'est loin des 125 théoriques, mais la limite vient de la vitesse en écriture du serveur (33,7 Mo/s). Même pour du streaming HD, c'est pas un souci. Je ne transfère jamais de milliers de petits fichiers pour pouvoir juger de la vitesse dans ce cas-là (je crée une archive, ou j'utilise BtSync).

L'intérêt que je trouve à SSH, c'est de pouvoir complètement se passer de configuration (la configuration SSH de base sur le serveur étant suffisante), et de ne pas avoir à se soucier des permissions d'utilisateur. Dans mon utilisation, c'est l'idéal.

Rien ne t'empêche de mettre en place plusieurs protocoles d'échange disponibles sur le serveur, c'est aussi ça le principe du NAS. C'est pas un service supplémentaire qui tourne qui va plomber les performances générales wink

Dernière modification par Wacken (Le 14/02/2014, à 00:35)

Hors ligne

#7 Le 15/02/2014, à 13:44

billou

Re : [Tutoriel] Un serveur NAS + Centre multimédia de A à Z

Exact, je testerais SSHFS bientôt, reste que je ne crois pas qu'il puisse se comporter comme si le système de fichiers était présent physiquement sur l'ordinateur client, et c'est ce qui me posait le plus problème il me semble (Pourt Steam, et certains logiciels.).

Quoi qu'il en soit j'ai rajouté un bout de SAMBA au tutoriel, je n'ai pas encore intégré d'explications pour l’authentification.

Hors ligne

#8 Le 15/02/2014, à 15:08

Julientroploin

Re : [Tutoriel] Un serveur NAS + Centre multimédia de A à Z

Salut, pas de retour sur le fond de ton tuto, je n'y connais pas grand chose... mais selon les règles de la doc, http://doc.ubuntu-fr.org/wiki/modeles/tutoriel les tutos doivent être placés dans  http://doc.ubuntu-fr.org/tutoriel/nom_de_ton_tuto

Gros boulot en tout cas ! (et belle machine)


Fixe : Core i5, 8GoRAM, NVidia 9800GT Silent => Ubuntu 22.04
Portable Compaq Presario2158 : AthlonXP-M2400+, 1GoRAM, ATI Radeon mobility320M => Primtux
https://launchpad.net/~julienmbpe

Hors ligne

#9 Le 15/02/2014, à 15:58

billou

Re : [Tutoriel] Un serveur NAS + Centre multimédia de A à Z

Merci pour l'info, j'ai déplacé la page ! smile

Si vous avez des demandes, n'hésitez pas à en faire, que je fouine ça.

Hors ligne