web-dev-qa-db-fra.com

Le montage NFS échoue, autorisation refusée, aucune entrée d'exportation

J'ai un problème de montage d'un partage NFS que je ne peux pas résoudre et qui me rend fou. Voici la situation:

Trois machines impliquées:
Hôte A: Mandrake, IP 192.168.1.4, serveur NFS
Hôte B: athlon64, IP 192.168.1.64, client NFS
Hôte C: lap-fzs-2, IP 192.168.1.27, client NFS

L'hôte A dispose d'un serveur NFS en cours d'exécution qui exporte un répertoire monté par l'hôte B. Cela fonctionne parfaitement et fonctionne depuis des siècles. Pas de problème. Maintenant, l'hôte C entre en scène. Ubuntu 12.04 LTS, système moderne. J'ai essayé de monter le même partage à partir de l'hôte A mais j'ai une erreur d'autorisation refusée:

root@lap-fzs-2:~# mount -t nfs Mandrake:/data /data -onfsvers=2
mount.nfs: access denied by server while mounting Mandrake:/data

Le fait que cela fonctionne entre les hôtes A et B devrait prouver que l’exportation NFS en soi fonctionne. Voici les informations que je peux donner qui me font penser que cela devrait fonctionner. Peut-être que quelqu'un voit ce que je ne vois pas et sait pourquoi cela échoue sur le nouvel hôte C.

Exportations de serveur:

[root@Mandrake /root]# cat /etc/exports
/suse 192.168.1.0/16(ro,no_root_squash)
/data 192.168.1.0/24(rw)
#/data3 192.168.2.0/24(rw)
#/data 192.168.2.0/16(rw,all_squash,anonuid=500,anongid=500)
#/data3 192.168.2.0/16(rw,all_squash,anonuid=500,anongid=500)

[root@Mandrake /root]# exportfs
/suse           192.168.1.0/16
/data           192.168.1.0/24

Le mappeur de port est en cours d'exécution, les exportations sont connues et montées par l'hôte B "athlon64".

[root@Mandrake /root]# showmount -e
Export list for Mandrake:
/data 192.168.1.0/24
/suse 192.168.1.0/16
[root@Mandrake /root]# showmount -a
All mount points on Mandrake:
atlhon64.acme.local:/data

Lorsque l'hôte athlon64 monte le partage NFS, le journal du serveur indique que l'opération a abouti:

Feb 11 20:06:46 Mandrake mountd[460]: authenticated mount request from atlhon64.acme.local:770 for /data (/data)

Mais lorsque l'hôte C tente de monter le même partage, le journal du serveur indique:

Feb 11 20:12:42 Mandrake mountd[460]: refused mount request from lap-fzs-2 for /data (/): no export entry

L'hôte C voit le serveur, atteint le mappeur de ports et le nfsd, mais échoue aux autorisations.

root@lap-fzs-2:~# showmount -e 192.168.1.4
Export list for 192.168.1.4:
/data 192.168.1.0/24
/suse 192.168.1.0/16


root@lap-fzs-2:~# mount -t nfs -v Mandrake:/data /data -onfsvers=2,proto=udp
mount.nfs: timeout set for Mon Feb 11 21:49:23 2013
mount.nfs: trying text-based options 'nfsvers=2,proto=udp,addr=192.168.1.4'
mount.nfs: prog 100003, trying vers=2, prot=17
mount.nfs: trying 192.168.1.4 prog 100003 vers 2 prot UDP port 2049
mount.nfs: prog 100005, trying vers=1, prot=17
mount.nfs: trying 192.168.1.4 prog 100005 vers 1 prot UDP port 636
mount.nfs: mount(2): Permission denied
mount.nfs: access denied by server while mounting Mandrake:/data

Je dois utiliser NFSv2 sur le client. L'utilisation de NFSv4 échouera car le serveur ne le prend pas en charge. Il échoue car il essaie de se connecter via TCP directement à 2049 mais le port n'est pas ouvert. Aucune solution de rechange ne se produit. L'utilisation de NFSv3 entraînera une incompatibilité programme/version RPC.

Qu'est-ce que je rate?

Mise à jour:
Les trois machines sont sur un réseau local, sur le même commutateur. Il n'y a pas de pare-feu actif sur l'hôte C:

root@lap-fzs-2:~# iptables -vnL
Chain INPUT (policy ACCEPT 17 packets, 1853 bytes)
 pkts bytes target     prot opt in     out     source               destination

Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination

Chain OUTPUT (policy ACCEPT 20 packets, 5611 bytes)
 pkts bytes target     prot opt in     out     source               destination

Ni sur l'hôte A:

[root@Mandrake /root]# ipchains -L 
Chain input (policy ACCEPT):
Chain forward (policy ACCEPT):
Chain output (policy ACCEPT):
10
Florian

Feb 11 20:12:42 Mandrake mountd [460]: demande de montage refusée de lap-fzs-2 pour/data (/): aucune entrée d'exportation

Puisque la notification de rejet du serveur affirme qu'il y a "aucune entrée d'exportation" pour l'hôte C, vous devriez peut-être essayer une ligne non ambiguë dans le fichier /etc/exports avec le nom d'hôte explicite ou l'adresse IP complète de C.

Essayez également d’émettre une commande exportfs -a sur le serveur.
J'ai souvent des problèmes pour accéder à mon serveur NFS, même après un redémarrage. Émettre explicitement la commande exportfs -a est la solution fiable (pour moi).

0
sawdust

Dans mon cas, -o vers = 3 est la réponse:

$ Sudo mount -o vers=3 192.168.172.1:/A/DIR /mnt
  • Serveur NFS: ordinateur hôte Ubuntu 12.04 32 bits vmware
  • Client NFS: Serveur Ubuntu 12.04 Invité VMware 64 bits (mode hôte uniquement)
1
Fumisky Wells

Vérifiez et voyez si les UID et GUID des utilisateurs NFS sont identiques sur le serveur et le client. Assurez-vous également que le dossier sur le serveur porte l’autorisation 777. Il s’agit de mon fichier/etc/exports sur mon serveur auquel le client peut accéder.

Créez un répertoire de partage NFS: (Créez chaque serveur avec IP, espace séparé)

mkdir/var/nfs vim/etc/exports/var/nfs 10.180.82.250 (rw, sync, root_squash, anonuid = 530, anongid = 530, no_subtree_check)

1
Tony-Caffe