关于NFS端口的配置


NFS的问题,我们讨论了不少。不知道大家现在是否还有疑惑。今天我们主要讲解一下NFS端口的设置的问题。在很多网络环境中,不同的端口设置导致的功能会有所差异。在设置了防火墙的环境中使用NFS,需要在防火墙上打开如下端口:

  1. 1. portmap 端口 111 udp/tcp;  
  2. 2. nfsd 端口 2049 udp/tcp;  
  3. 3. mountd 端口 "xxx" udp/tcp 

系统 RPC服务在 nfs服务启动时默认会为 mountd动态选取一个随机端口32768--65535)来进行通讯,我们可以通过编辑/etc/services 文件为 mountd指定一个固定端口:

  1. # vi /etc/services 

在末尾添加

  1. mountd 1011/udp  
  2. mountd 1011/tcp 

保存该文件

  1. # stopsrc -s rpc.mountd  
  2. # startsrc -s rpc.mountd  
  3. # exportfs -a  
  4. # rpcinfo -p Hostname 

现在我们会发现 mountd已经和端口 1011绑定了.

另外,nfs中需要通讯的服务还有 rpc.lockd和 rpc.statd,其中对lockd我们可以用类似的方法来指定固定端口,

  1. # vi /etc/services 

添加

  1. lockd 35000/ucp  
  2. lockd 35000/tdp  
  3. # stopsrc -s rpc.lockd  
  4. # startsrc -s rpc.lockd  
  5. # exportfs -a 

nfs客户端mount文件系统

  1. # rpcinfo -p Hostname 

但 rpc.statd无法通过该方法来指定端口,它只能使用随机端口,如有必要,在防火墙上要根据下面命令的显示来开放随机端口:

  1. # no -a |grep ephemeral  
  2. tcp_ephemeral_high = 65535 
  3. tcpp_ephemeral_low = 32768 
  4. udp_ephemeral_high = 65535 
  5. udp_ephemeral_low = 32768 

当然也可以不开放 rpc.statd需要的随机端口,带来的影响就是如果 nfs连接中断比如server或client宕掉了),系统将无法通过statd来恢复连接中断前的状态,而必须重新 mount该nfs文件系统.

有关statd的详细功能说明,请参阅 http://publib.boulder.ibm.com/infocenter/

pseries/v5r3/topic/com.ibm.aix.cmds/doc/aixcmds5/statd.htm

相关内容