web-dev-qa-db-fra.com

mount.nfs4 juste 'se bloque'

J'ai un serveur NFS sous Ubuntu Server 14.04.1 avec KRB5.

J'ai trois clients NFS qui travaillent (2x Linux Mint 17.1 et 1x Crunchbang). J'ai un client NFS qui se bloque lorsque je lance mount.nfs4.

Autant que je sache, j'ai tout configuré correctement.

Exportations:

/zfs/biz/dcp            172.16.0.0/21(rw,no_subtree_check,root_squash,async,sec=krb5,anonuid=1000,anongid=1000)
/zfs/biz/it             172.16.0.0/21(rw,no_subtree_check,root_squash,async,sec=krb5,anonuid=1000,anongid=1000)
/zfs/bikeshed/backupz   172.16.0.0/21(rw,no_subtree_check,root_squash,async,sec=krb5,anonuid=1000,anongid=1000)
/zfs/media/movies       172.16.0.0/21(rw,no_subtree_check,root_squash,async,sec=krb5,anonuid=65534,anongid=65534)
/zfs/media/music        172.16.0.0/21(rw,no_subtree_check,root_squash,async,sec=krb5,anonuid=65534,anongid=65534)

J'ai configuré/etc/default/nfs-common avec NEED_GSSD = yes NEED_IDMAPD = yes

J'ai inclus les éléments suivants dans idmapd: [Mapping]

Nobody-User = nobody
Nobody-Group = nogroup

Les processus suivants sont en cours d'exécution sur le client:

root       494     2  0 18:39 ?        00:00:00 [rpciod]
root       531     1  0 18:39 ?        00:00:00 rpc.idmapd
root      3769     1  0 20:59 ?        00:00:00 rpc.gssd
root      4390     1  0 21:07 ?        00:00:00 rpcbind -w
statd     4396     1  0 21:07 ?        00:00:00 rpc.statd -L

Et j'ai les krb5.conf et krb5.keytabs appropriés. La sortie que je vois lors de l'exécution de rpc.gssd -vvvf et de rpc.svcgssd -vvvff est identique pour les clients actifs et ceux qui ne travaillent pas.

Le fichier krb5.log de mon serveur indique que les tickets sont émis.

La seule différence que je peux voir est la capture de paquets. En cas d'échec, le client ne répond pas à SETCLIENTID avec un paquet SETCLIENTID_CONFIRM, où, comme en cas de succès, le client ne répond.

Je suppose qu'il y a quelque chose qui ne va pas quelque part dans la configuration de ce client, mais je le manque.

Qu'est-ce qui peut empêcher un client de renvoyer un message SETCLIENTID_CONFIRM lors de l'utilisation du protocole NFS?

3
biscuitNinja

J'ai trouvé deux causes de ce comportement et une résolution pour chacun, que je publierai pour référence future.

Initialement, cela était dû à un paquet manquant. Résolu par:

 Sudo apt-get install libpam-krb5

J'ai également constaté que le même problème se reproduisait lorsque le DNS inversé était interrompu - vérifiez que les recherches DNS directe et inverse fonctionnent avec les commandes suivantes, en remplaçant dans vos clients le nom de domaine complet (FQDN) et l'adresse IP:

nslookup mynfsclienthostname.domain.internal
nslookup 192.168.1.5

En cas d'échec, vous devez savoir pourquoi et résoudre le problème.

4
biscuitNinja