NFS:禁用版本 3 和 4 的端口映射器

NFS:禁用版本 3 和 4 的端口映射器

我需要pcnfsd用新安装的 CentOS 7 服务器替换旧服务器。我安装了所有必需的,并且它似乎工作,遗憾的是,当(非常非常老旧的 ms-dos 类)客户端尝试读取文件时,它什么也得不到。挂载正确执行,但文件访问不起作用。

我在服务器上唯一能看到的是nfsstat -sRPC 的坏电话增加。

当前服务器是Ubuntu 10,rpcinfo -p显示如下:

100000    2   tcp    111  portmapper
100000    2   udp    111  portmapper
100024    1   udp  50143  status
100024    1   tcp  42419  status
100021    1   udp  35807  nlockmgr
100021    3   udp  35807  nlockmgr
100021    4   udp  35807  nlockmgr
100021    1   tcp  50799  nlockmgr
100021    3   tcp  50799  nlockmgr
100021    4   tcp  50799  nlockmgr
100003    2   udp   2049  nfs
100003    3   udp   2049  nfs
100003    4   udp   2049  nfs
100003    2   tcp   2049  nfs
100003    3   tcp   2049  nfs
100003    4   tcp   2049  nfs
100005    1   udp  45251  mountd
100005    1   tcp  57920  mountd
100005    2   udp  45251  mountd
100005    2   tcp  57920  mountd
100005    3   udp  45251  mountd
100005    3   tcp  57920  mountd
150001    1   udp    967  pcnfsd
150001    2   udp    967  pcnfsd
150001    1   tcp    968  pcnfsd
150001    2   tcp    968  pcnfsd

而在新的 CentOS 7 上我有:

100000    4   tcp    111  portmapper
100000    3   tcp    111  portmapper
100000    2   tcp    111  portmapper
100000    4   udp    111  portmapper
100000    3   udp    111  portmapper
100000    2   udp    111  portmapper
150001    1   udp    914  pcnfsd
150001    2   udp    914  pcnfsd
150001    1   tcp    917  pcnfsd
150001    2   tcp    917  pcnfsd
100005    1   udp  20048  mountd
100005    1   tcp  20048  mountd
100005    2   udp  20048  mountd
100005    2   tcp  20048  mountd
100005    3   udp  20048  mountd
100005    3   tcp  20048  mountd
100003    3   tcp   2049  nfs
100003    4   tcp   2049  nfs
100227    3   tcp   2049  nfs_acl
100003    3   udp   2049  nfs
100003    4   udp   2049  nfs
100227    3   udp   2049  nfs_acl
100021    1   udp  40636  nlockmgr
100021    3   udp  40636  nlockmgr
100021    4   udp  40636  nlockmgr
100021    1   tcp  36825  nlockmgr
100021    3   tcp  36825  nlockmgr
100021    4   tcp  36825  nlockmgr
100024    1   udp  57976  status
100024    1   tcp  56153  status

我怀疑版本 3 和 4 正在运行的 portmapper 守护进程是令人困惑客户端。

我需要禁用 portmap 守护进程上的 v3 和 v4 广告,但我找不到执行此操作的选项。我该怎么做?

答案1

您可以捕获旧客户端和 NFS 服务器之间的流量来找出问题。

在您的 NFS 服务器上:

tcpdump -vvv -nn -s 300 -A port 2049 and host $Client_IP -w nfs.cap

使用 wireshark 打开 nfs.cap 文件,你就会看到我认为的问题。

附件是我的 nfs.cap 的图片。

这里有一个非常好的调试 NFS 问题的指南,您可以看看 stromberg.dnsalias.org/~strombrg/NFS-troubleshooting-2.html

要禁用某些 NFS 版本支持,您可能可以将 --no-nfs-version X 传递给 rpc.nfsd。搜索 disabling-nfsv4-on-ubuntu。

看看这张图片:

在此处输入图片描述

相关内容