nfsv3を使用するLinuxでは、次のコマンドは
showmmount -d
私のnfsサーバーにリモートクライアントがマウントされているディレクトリを表示します。リモートマウントディレクトリを持つnfs4の場合、showmountコマンドは何も表示しません。私のローカルコンピュータでどのリモートクライアントがnfsサーバーを使用しているのかどうかはどうすればわかりますか?
答え1
NFSv4はtcp / 2049ポートのみを使用するため、次のコマンドを使用してサーバーに接続されているnfsクライアントを簡単に確認できます。
ss -tano state established sport nfs
答え2
解決策を見つけてください。
netstat -ta | grep nfsd|grep ESTA|awk '{print $5}'|cut -d : -f 1
または
ss -rta | grep nfsd|grep ESTA|awk '{print $5}'|cut -d : -f 1
接続されているすべてのクライアントを表示します。
開かれたディレクトリと使用されたファイルを表示するには、私のクライアントが215として識別されていると仮定して、古いprocfsを照会できます。
cd /proc/fs/nfsd/clients/215
ファイルが3つ見えます。
ctl info states
ファイル情報には、クライアントのIP、使用されているポート、およびホスト名を表示できます。
clientid: ******************
address: "192.168.0.2:850"
status: confirmed
name: "Linux NFSv4.2 myclient.host.example"
minor version: 2
Implementation domain: "kernel.org"
Implementation name: "Linux 6.1.12 #1 SMP PREEMPT_DYNAMIC Sat Feb 18 16:45:16 CET 2023 x86_64"
Implementation time: [0, 0]
callback state: UP
callback address: 192.168.0.2:0
ファイルの状態には、使用中のファイル、権限、およびその他の情報が表示されます。
猫の国
- ***********: { type: open, access: r-, deny: --, superblock: "00:18:4627", filename: "video/My vacations.mp4", owner: "open id:******************" }
- *********************: { type: deleg, access: r, superblock: "00:18:4627", filename: "video/My vacations.mp4" }