nfs4:如何记录挂载请求?

nfs4:如何记录挂载请求?

在 nfs3 上,我们曾rpc.mountd将一些有用的消息记录到 syslog 中,例如

authenticated mount request from 192.168.1.11:839 for /mnt/music (/mnt/music)

nfs4 默认是安静的。我希望可以记录经过身份验证的挂载请求以及更重要的未经身份验证的挂载请求(包括客户端 IP)

我尝试过rpcdebug各种模块和标志,但通常记录太多,并且不显示客户端 IP。

答案1

NFSv4 没有显式的 MOUNT 操作。您只能观察 NFSv4.0 的 SETCLIENT_ID 操作和 v4.1 及更高版本的 EXCHANGE_ID 操作的流量。好吧,没有官方的方法可以做到这一点。但是…… /var/lib/nfsnfsdcltrack/main.sqlite 中有一个带有表客户端的 sqlite db,您可以在其中找到您的客户端:

$ sudo sqlite3 /var/lib/nfs/nfsdcltrack/main.sqlite "select * from clients"
Linux NFSv4.1 xxxxxxx|1486574417|1
$

在哪里xxxxx是客户端名称/ip

意识到修改数据库的内容将导致 nfs 服务器无法正常运行。

相关内容