web-dev-qa-db-fra.com

Ubuntu 16.04 Exportations / partages NFS non montés sur la machine cliente

J'ai suivi autant que possible les publications disponibles pour configurer NFS sur deux machines Ubuntu.

J'ai installé le serveur nfs-kernel-server sur le système hôte et configuré les exportations sur le serveur. J'ai même fermé le pare-feu pour m'assurer qu'il ne gênerait pas. Le serveur est également installé sur la machine cliente, ainsi que le package client nfs-common.

Lorsque je tente de monter AUCUN des partages chez le client. (l'emplacement de montage actuel est/home/nfs_local). Le terminal s'interrompt sans réponse pendant très longtemps, lorsqu'il indique simplement "Connection Timed Out".

J'essaie de monter en utilisant cette structure de commande pour monter les partages sur le terminal du client:

$ Sudo mount 192.168.10.111:/home/uname/home/nfs_local

Voici à quoi mes exportations ressemblent actuellement dans/etc/exports

/ home 192.168.10.128/255.255.255.0(ro,anonuid=65534,no_subtree_check,insecure,sync,nohide)/home/uname 192.168.10.128/255.255.255.0(rw,anonuid=65534,no_subtree_check, 0 sync, nohide)/mnt/volumes/Massive_A 192.168.10.128/255.255.255.0(rw,nohide,no_subtree_check,insecure,sync)/mnt/volumes/Massive_B 192.168.10.128/255.255.255.0(rw,nohideyno). sync)/mnt/volumes/Massive_C 192.168.10.128/255.255.255.0(rw,nohide,no_subtree_check,insecure,sync)/mnt/volumes/SSD_B 192.168.10.128/255.255.255.0(rw,nohidehnoh

rpcinfo -p (côté serveur) donne le résultat suivant:

100000    4   tcp    111  portmapper
100000    3   tcp    111  portmapper
100000    2   tcp    111  portmapper
100000    4   udp    111  portmapper
100000    3   udp    111  portmapper
100000    2   udp    111  portmapper
100005    1   udp  46285  mountd
100005    1   tcp  40996  mountd
100005    2   udp  37056  mountd
100005    2   tcp  56903  mountd
100005    3   udp  59774  mountd
100005    3   tcp  33079  mountd
100003    2   tcp   2049  nfs
100003    3   tcp   2049  nfs
100003    4   tcp   2049  nfs
100227    2   tcp   2049
100227    3   tcp   2049
100003    2   udp   2049  nfs
100003    3   udp   2049  nfs
100003    4   udp   2049  nfs
100227    2   udp   2049
100227    3   udp   2049

Et le pare-feu est inactif:

$ ufw status (côté serveur et côté client)

Statut: inactif

Quelqu'un peut-il repérer ce qui me manque ici? Finalement, je veux les ajouter à fstab pour qu'ils soient montés automatiquement au démarrage ... OR utiliser un script pour chaque partage ... Les conseils sur les avantages/inconvénients de cet usage ont également été grandement appréciés.

Merci pour la lecture.

1
Orian

Merci à @ridgy de m'avoir orienté dans la direction de cette solution.

Lors de l'utilisation de NFS, il est nécessaire de s'assurer que les ports 111 et 2049 sont ouverts au trafic TCP et au trafic UDP. (Si vous utilisez UNIQUEMENT NFS v4, vous n'avez pas besoin du port 111 PORTMAPPER) Vous pouvez le restreindre à votre réseau local à votre guise. Mais, il doit être ouvert sur le client et le serveur pour les deux types de trafic.

Si vous souhaitez utiliser la ligne de commande, vérifiez d’abord l’état du pare-feu en émettant

$ statut sudo ufw

si les informations renvoyées indiquent "Status: Inactive", vous pouvez les laisser ou les activer et entrer des règles permettant à NFS et à ses données PORTMAPPER de passer.

Émettez la directive:

$ Sudo ufw enable

pour démarrer le service de pare-feu

Vérifiez les règles actuelles en émettant à nouveau la directive status

$ statut sudo ufw

Vous verrez la liste des règles actuellement définies (le cas échéant). Cependant, vous devriez maintenant voir que la directive status renvoie;

Statut: Actif

Recherchez toutes les règles qui s'appliquent aux ports 2049 et 111. Elles doivent toutes deux être ouvertes au trafic TCP et UDP ... depuis "n'importe où" (ceci devrait être renforcé une fois que vos actions sont en exploitation, selon votre situation). * NOTE: le pare-feu en général, vous permet d’appliquer des règles basées sur les valeurs par défaut "APPLICATION", mais vous fait gagner un peu de temps. J'ai trouvé que NFS n'est pas sur la liste.

La sortie devrait ressembler à ceci:

 To                 Action          From 
111,2049/tcp       ALLOW           ANYWHERE 
111,2049/udp       ALLOW           ANYWHERE 
111,2049/tcp (v6)  ALLOW           ANYWHERE (v6) 
111,2049/udp (v6)  ALLOW           ANYWHERE (v6)

Si vous ne voyez pas les ports explicitement ouverts, vous pouvez émettre les directives suivantes pour les ouvrir. Cela doit être fait sur l'hôte et le client.

$ Sudo ufw allow 2049
$ Sudo ufw allow 111

REMARQUE: Ceci ouvrira ces ports à TOUT trafic, pas seulement NFS et PORTMAPPER. Je vous recommande fortement - une fois que vos exportations/montages NFS fonctionnent correctement, de revoir la configuration du pare-feu pour renforcer la sécurité autour de ces ports. (Ceci est actuellement au-delà de mes connaissances et de la portée de cette réponse)

À nouveau, émettez la directive fw status pour vous assurer que les entrées ont été correctement ajoutées à vos règles de pare-feu.

NOW ... pour la partie embarrassante ... Le pare-feu sur les systèmes hôte et client peut ne pas être votre seul problème de pare-feu. Vous devez vous assurer que votre routeur ne bloque pas également ces ports. (Cela a provoqué des mèches de cheveux dans mon cas. Comme j'avais un tunnel de vision sur les deux machines. Et, j'ai totalement oublié le matériel qui les sépare.) Merci encore @ridgy!

J'utilise un ASUS AC3200 avec DD-WRT. Donc, bien sûr, votre système de routeur sera probablement différent.

Si le pare-feu de votre routeur est actif (recommandé), reportez-vous aux instructions de votre fabricant pour savoir comment ouvrir les ports 111 et 2049 sur un trafic LAN ... Facultatif, et pour que tout se passe bien, vous pouvez temporairement désactiver le pare-feu de votre routeur (non recommandé) jusqu'à ce que vos exportations/montures fonctionnent correctement.

J'espère sincèrement que cette expérience sera utile à tous ceux qui rencontrent les mêmes problèmes d'implémentation et d'environnement réseau NFS.

1
Orian