GNU/Linux >> Tutoriels Linux >  >> Linux

Comment obtenir la liste des clients connectés à un serveur NFS au sein d'un réseau local ?

Vous pouvez trouver des clients NFS connectés en exécutant ce qui suit sur le serveur NFS :

netstat | grep :nfs

NFS fonctionne à la fois sur UDP et TCP, seules les connexions TCP ouvertes s'afficheront dans netstat ou ss . De plus, en tant que système de fichiers distribué, il a (historiquement) eu sa juste part de problèmes (état, cache, verrouillage, notifications, sécurité - dont certains ont des solutions grâce à des fonctionnalités RPC supplémentaires, par exemple rpc.statd ).

Sur un serveur Linux NFS (voir man rpc.mountd ) les requêtes de montage/démontage du client sont enregistrées en /var/lib/nfs/rmtab , tout comme /etc/mtab , la réponse devrait donc être :

cat /var/lib/nfs/rmtab

S'il est vide, vous avez soit un problème avec rpc.mountd (vous devriez donc vérifier les services RPC en cours d'exécution), ou tous les clients sont NFSv4 qui n'utilisent pas cette fonctionnalité.

Sur les versions j'ai coché rmtab est présenté comme :

10.1.2.0/24:/path/to/export1:0x000...flags
10.1.2.10:/path/to/export1:0x0000...flags
10.1.2.22:/path/to/export1:0x0000...flags
10.1.2.0/24:/path/to/export2:0x000...flags
10.1.2.22:/path/to/export2:0x0000...flags
10.1.2.99:/path/to/export2:0x0000...flags

c'est-à-dire que chaque point de montage est répertorié, suivi des clients qui l'utilisent.

Notez la mise en garde dans la page de manuel :

Cependant, ce fichier est surtout ornemental. Premièrement, le client peut continuer à utiliser le descripteur de fichier même après avoir appelé la procédure UMOUNT de rpc.mountd. Et deuxièmement, si un client redémarre sans avertir rpc.mountd, une entrée obsolète restera dans rmtab.

Le /proc/fs/nfsd/client approche (@ réponse de Vsevolod Gromov) dans les nouveaux noyaux devrait être meilleure à cet égard, mais parce qu'elle ne prend en charge que les clients NFSv4 qui devraient être mieux comportés.


Depuis le noyau Linux 5.3, vous pouvez utiliser un répertoire spécial appelé /proc/fs/nfsd/clients .

Vous pouvez vérifier la version du noyau par uname -r commande


Depuis netstat n'est pas toujours disponible car il est à remplacer par ss vous pouvez également utiliser

ss -a|grep nfs


Linux
  1. Comment obtenir en toute sécurité la version de Ksh ?

  2. Comment trouver quelles autres machines sont connectées au réseau local ?

  3. Comment obtenir la dernière version de Winetricks sur Ubuntu ?

  4. Comment détecter l'état physique connecté d'un câble/connecteur réseau ?

  5. Comment puis-je lister toutes les IP du réseau connecté, via Terminal de préférence ?

Comment obtenir la taille d'un répertoire sous Linux

Comment connaître l'état de connexion d'un câble réseau sous Linux

Comment lister les membres d'un groupe sous Linux

Comment obtenir les meilleures performances du serveur Nginx

Comment obtenir la liste des images enfants dépendantes dans Docker ?

Comment accéder au serveur Web qui s'exécute sur WSL (sous-système Windows pour Linux) à partir du réseau local