mount

 

 

产品,平台,RS6000, pseries
软件版本, aix 当NFS在NFS客户端加载时,系统会问是使用 soft-mount 还是hard-mount, 它们之间有什么区别?

它们的区别在于当发生网络或NFS服务器端故障时,选用hard-mount选项会引起NFS客户端的程序挂起,而soft-mount则不会。

soft-mount: 当客户端加载NFS不成功时,重试retrans设定的次数.如果retrans次都不成功,则放弃此操作,返回错误信息 "Connect time out"

hard-mount: 当客户端加载NFS不成功时,一直重试,直到NFS服务器有响应。hard-mount 是系统的缺省值。在选定hard-mount 时,最好同时选 intr , 允许中断系统的调用请求,避免引起系统的挂起。当NFS服务器不能响应NFS客户端的 hard-mount请求时, NFS客户端会显示
"NFS server hostname not responding, still trying

http://codex.wordpress.org.cn/Linux%E5%91%BD%E4%BB%A4:Nfsstat

 

nfs版本介绍

二、各NFS协议版本的主要区别 
 V3相对V2的主要区别: 
 1、文件尺寸 
 V2最大只支持32BIT的文件大小(4G),而NFS V3新增加了支持64BIT文件大小的技术。 
 2、文件传输尺寸 
 V3没有限定传输尺寸,V2最多只能设定为8k,可以使用-rsize and -wsize 来进行设定。 
 3、完整的信息返回 
 V3增加和完善了许多错误和成功信息的返回,对于服务器的设置和管理能带来很大好处。 
 4、增加了对TCP传输协议的支持 
 V2只提供了对UDP协议的支持,在一些高要求的网络环境中有很大限制,V3增加了对TCP协议的支持 
 *5、异步写入特性 
 6、改进了SERVER的mount性能 
 7、有更好的I/O WRITES 性能。 
 9、更强网络运行效能,使得网络运作更为有效。 
 10、更强的灾难恢复功能。

mount -t nfs -o rsize=65536,wsize=65536,vers=3,noatime 

 rsize=n        The  number  of  bytes  NFS  uses  when reading files from an NFS server.  The rsize is negotiated

                      between the server and client to determine the largest block size  that  both  can  support.   The

                      value  specified  by  this option is the maximum size that could be used; however, the actual size

                      used may be smaller.  Note: Setting this size to a value less than  the  largest  supported  block

                      size will adversely affect performance.

 

       wsize=n        The number of bytes NFS uses when writing files to an NFS server.  The wsize is negotiated between

                      the server and client to determine the largest block size that both can support.  The value speci-

                      fied  by  this option is the maximum size that could be used; however, the actual size used may be

                      smaller.  Note: Setting this size to a value less than  the  largest  supported  block  size  will

                      adversely affect performance.

--文件的 inode 访问时间,可以提高速度

 

 

 

NFS协议是网络当中比较常用的一类协议,在很多开发系统平台中,都需要加载这个协议。所以,我们这里就来详细介绍一下NFS协议的启动以及写在等内容。希望对大家有所帮助。

一:服务器端的设定(以LINUX为例)

服务器端的设定都是在/etc/exports这个文件中进行设定的,设定格式如下:

欲分享出去的目录 主机名称1或者IP1(参数1,参数2) 主机名称2或者IP2(参数3,参数4)

上面这个格式表示,同一个目录分享给两个不同的主机,但提供给这两台主机的权限和参数是不同的,所以分别设定两个主机得到的权限.

可以设定的参数主要有以下这些:

rw:可读写的权限;

ro:只读的权限;

no_root_squash:登入到NFS 主机的用户如果是ROOT用户,他就拥有ROOT的权限,此参数很不安全,建议不要使用.

root_squash:在登入 NFS协议主机使用分享之目的使用者如果是使用者的都成 nobody 身份;

all_squash:不管登陆NFS主机的用户是什么都会被重新设定为nobody.

anonuid:将登入NFS主机的用户都设定成指定的user id,此ID必须存在于/etc/passwd中.

anongid:同 anonuid ,但是?成 group ID 就是了!

sync:资料同步写入存储器中.

async:资料会先暂时存放在内存中,不会直接写入硬盘.

insecure 允许从这台机器过来的非授权访问.

例如可以编辑/etc/exports为:

/tmp  *(rw,no_root_squash)

/home/public 192.168.0.*(rw) *(ro)

/home/test 192.168.0.100(rw)

/home/linux   *.the9.com(rw,all_squash,anonuid=40,anongid=40)

设定好后可以使用以下命令启动NFS协议:

/etc/rc.d/init.d/portmap start (在RedHat中PORTMAP是默认启动的)

/etc/rc.d/init.d/nfs start

exportfs命令:

如果我们在启动了NFS协议之后又修改了/etc/exports,是不是还要重新启动nfs呢?这个时候我们就可以用exportfs命令来使改动立刻生效,该命令格式如下:

exportfs [-aruv]

-a :全部 mount或者unmount /etc/exports中的内容

-r :重新mount /etc/exports中分享出来的目录

-u :umount 目录

-v :在 export 的?r候,将详细的信息输出到屏幕上.

具体例子:

[root @test root]# exportfs -rv <== 全部重新 export 一次!

exporting 192.168.0.100:/home/test

exporting 192.168.0.*:/home/public

exporting *.the9.com:/home/linux

exporting *:/home/public

exporting *:/tmp

reexporting 192.168.0.100:/home/test to kernel

exportfs -au <== 全部都卸载了.

二、客户端的操作:

1?showmout命令对于NFS协议的操作和查错有很大的帮助,所以我们先来看一下showmount的用法

showmout

-a :这个参数是一般在NFS SERVER上使用,是用来显示已经 mount上本机nfs目录的cline机器.

-e :显示指定的NFS SERVER上export出来的目录.

例如:

showmount -e 192.168.0.30

Export list for localhost:

/tmp *

/home/linux *.linux.org

/home/public (everyone)

/home/test 192.168.0.100

 

 

2? mount nfs目录的方法:

mount -t nfs hostname(orIP):/directory /mount/point

具体例子:

Linux: mount -t nfs 192.168.0.1:/tmp /mnt/nfs

Solaris:mount -F nfs 192.168.0.1:/tmp /mnt/nfs

BSD: mount 192.168.0.1:/tmp /mnt/nfs

3?mount nfs的其它可选参数:

HARD mount 和SOFT MOUNT:

HARD: NFS CLIENT会不断的尝试与SERVER的连接(在后台,不会给出任何提示信息,在LINUX 下有的版本仍然会给出一些提示),直到MOUNT上.

SOFT:会在前台尝试与SERVER的连接,是默认的连接方式.当收到错误信息后终止 mount尝试,并给出相关信息.

例如:mount -F nfs -o hard 192.168.0.10:/nfs /nfs

对 于到底是使用hard还是soft的问题,这主要取决于你访问什么信息有关.例如你是想通过NFS协议来运行X PROGRAM的话,你绝对不会希望由于一些意外的情况(如网络速度一下子变的很慢,插拔了一下网卡插头等)而使系统输出大量的错误信息,如果此时你用的 是HARD方式的话,系统就会等待,直到能够重新与NFS SERVER建立连接传输信息.另外如果是非关键数据的话也可以使用SOFT方式,如FTP数据等,这样在远程机器暂时连接不上或关闭时就不会挂起你的会 话过程.

rsize和wsize:

文件传输尺寸设定:V3没有限定传输尺寸,V2最多只能设定为8k,可以使用-rsize and -wsize 来进行设定.这两个参数的设定对于NFS的执行效能有较大的影响

bg:在执行mount时如果无法顺利mount上时,系统会将mount的操作转移到后台并继续尝试mount,直到mount成功为止.(通常在设定/etc/fstab文件时都应该使用bg,以避免可能的mount不上而影响启动速度)

fg:和bg正好相反,是默认的参数

nfsvers=n:设定要使用的 NFS版本,默认是使用2,这个选项的设定还要取决于server端是否支持NFS VER 3

mountport:设定mount的端口

port:根据server端export出的端口设定,例如如果server使用5555端口输出NFS,那客户端就需要使用这个参数进行同样的设定

timeo=n: 设置超时时间,当数据传输遇到问题时,会根据这个参数尝试进行重新传输.默认值是7/10妙(0.7秒).如果网络连接不是很稳定的话就要加大这个数值, 并且推荐使用HARD MOUNT方式,同时最好也加上INTR参数,这样你就可以终止任何挂起的文件访问.

intr 允许通知中断一个NFS调用.当服务器没有应答需要放弃的时候有用处.

udp:使用udp作为nfs协议的传输协议(NFS V2只支持UDP)

tcp:使用tcp作为nfs的传输协议

namlen=n:设定远程服务器所允许的最长文件名.这个值的默认是255

acregmin=n:设定最小的在文件更新之前cache时间,默认是3

acregmax=n:设定最大的在文件更新之前cache时间,默认是60

acdirmin=n:设定最小的在目录更新之前cache时间,默认是30

acdirmax=n:设定最大的在目录更新之前cache时间,默认是60

actimeo=n:将acregmin?acregmax?acdirmin?acdirmax设定为同一个数值,默认是没有启用.

retry=n:设定当网络传输出现故障的时候,尝试重新连接多少时间后不再尝试.默认的数值是10000 minutes

noac:关闭cache机制.

同时使用多个参数的方法:mount -t nfs -o timeo=3,udp,hard 192.168.0.30:/tmp /nfs

请注意,NFS客户机和服务器的选项并不一定完全相同,而且有的时候会有冲突.比如说服务器以只读的方式导出,客户端却以可写的方式mount,虽然可以成功mount上,但尝试写入的时候就会发生错误.一般服务器和客户端配置冲突的时候,会以服务器的配置为准.

4?/etc /fstab的设定方法

/etc/fstab的格式如下:

fs_spec fs_filefs_type  fs_optionsfs_dump fs_pass

fs_spec:该字段定义希望加载的文件系统所在的设备或远程文件系统,对于 nfs这个参数一般设置为这样:192.168.0.1:/NFS

fs_本地的挂载点

fs_type:对于NFS协议来说这个字段只要设置成nfs就可以了

fs_options:挂载的参数,可以使用的参数可以参考上面的mount参数.

fs_dump  - 该选项被"dump"命令使用来检查一个文件系统应该以多快频率进行转储,若不需要转储就设置该字段为0

fs_pass - 该字段被 fsck命令用来决定在启动时需要被扫描的文件系统的顺序,根文件系统"/"对应该字段的值应该为1,其他文件系统应该为2.若该文件系统无需在启动时扫描则设置该字段为0 .

5?与NFS有关的一些命令介绍

nfsstat:

查看NFS的运行状态,对于调整 NFS的运行有很大帮助

rpcinfo:

查看rpc执行信息,可以用于检测rpc运行情况的工具.

 

 

NFS服务器中mount命令的使用

 

对 于NFS服务器的客户端搭建,我们需要进行一下讨论。首先我们来了解一下mount命令的使用。用户既可以通过mount命令挂载,也可以通过在/etc /fstab中加入条目项实现,/etc/fstab中的条目项中包括一个NFS的挂载类型。NFS文件系统的名称由文件所在的主机名加上被挂载目录的路 径名组成,两个部分通过冒号分开。例如,computer1:/home/project指示一个文件系统被挂载在计算机computer1中的 /home/project中。

这里推荐客户端使用mount命令来挂载,下面主要挂载的相关知识和方法,然后简单介绍直接编辑/etc/fstab文件的方法。

用 户同样可以在NFS的条目项中修改多个NFS特定的挂载选项,例如,可以指定往返数据包的大小和计算机等待系统响应的时间大小,或者指定一个文件系统是被 硬挂载(hard-mounted)还是软挂载(soft-mounted)。对硬挂载文件系统来说,如果因为某种原因远程系统的响应失败,计算机将会持 续地尝试建立连接;对软挂载文件系统来说,同样情况下,在指定的时间间隔后计算机将会放弃尝试建立连接而发送一个错误消息。默认采用硬挂载文件系统,系统 硬挂载尝试失败时,对用户输入的响应也会停止。正是因为这样,有的用户更喜欢采用软挂载,它会使系统在尝试挂载失败后停止尝试。

mount命令的格式如下:

mount[-t vfstype] [-o  options] device dir

mount命令参数非常多,如下为与NFS相关的参数。

(1)-a:把/etc/fstab中列出的路径全部挂载。

(2)-t:需要mount的类型,如nfs等。

(3)-r:将mount的路径定为read only。

(4)-v mount:过程的每一个操作都有message传回到屏幕上。

(5)rsize=n:在NFS服务器读取文件时NFS使用的字节数,默认值是1 024个字节。

(6)wsize=n:向NFS服务器写文件时NFS使用的字节数,默认值是1 024个字节。

(7)timeo=n:从超时后到第1次重新传送占用的1/7秒的数目,默认值是7/7秒。

(8)retry=n:在放弃后台mount操作之前可以尝试的次数,默认值是7 000次。

(9)soft:使用软挂载的方式挂载系统,若Client的请求得不到回应,则重新请求并传回错误信息。

(10)hard:使用硬挂载的方式挂载系统,该值是默认值,重复请求直到NFS服务器回应。

(11)intr:允许NFS中断文件操作和向调用它的程序返回值,默认不允许文件操作被中断。

(12)fg:一直在提示符下执行重复挂载。

(13)bg:如果第1次挂载文件系统失败,继续在后台尝试执行挂载,默认值是失败后不在后台处理。

(14)tcp:对文件系统的挂载使用TCP,而不是默认的UDP。

说明:mount NFS服务器的另一个重要参数是hard(硬)mount或soft(软)mount。

采用hard mount,NFS客户机会不断地尝试与NFS服务器连接(在后台一般不会给出任何提示信息),直到挂载上为止。

采用soft mount,会在前台尝试与NFS服务器连接,当收到错误信息后终止mount尝试,并给出相关信息。

例如,hard mount:

# mount -t nfs -o hard 192.168.1.4:/home/cao /home/nfs/cao

使 用hard还是soft主要取决于访问的信息。例如,要查看NFS服务器的视频文件,不会希望由于一些意外的情况(如网络速度变得很慢)而使系统输出大量 的错误信息。如果此时使用hard方式,系统就会等待,直到能够重新与NFS服务器建立连接传输信息。另外,如果是非关键数据,也可以使用hard方式, 如FTP一些数据等,这样在远程机器暂时连接不上或关闭时就不会挂起会话过程。

 

查看 nfs 版本

均在客户端操作

  1. # df -h 
  2. Filesystem            Size  Used Avail Use% Mounted on 
  3. /dev/sda3              77G   21G   53G  28% / 
  4. tmpfs                 3.8G  284K  3.8G   1% /dev/shm 
  5. /dev/sda1             485M   35M  426M   8% /boot 
  6. /dev/sda2              97G   85G  7.2G  93% /var 
  7. /dev/sda6              99G   26G   69G  27% /win7 
  8. 10.10.60.89:/home/nfs 
  9.                       858G  210M  814G   1% /mnt 

 

挂接nfs server的client端执行nfsstat -m命令,可以得出nfs server端nfs版本为4

:查看vers=4得出

  1. # nfsstat -m 
  2. /mnt from 10.10.60.89:/home/nfs 
  3.  Flags:    rw,relatime,vers=4,rsize=1048576,wsize=1048576
  4.  
  5. namlen=255,hard,proto=tcp,port=0,timeo=600,retrans=2,sec=sys
  6.  
  7. clientaddr=10.10.60.98,minorversion=0,addr=10.10.60.89 

 

超全的NFS server教程手册(2)

  文件传输尺寸设定:V3没有限定传输尺寸,V2最多只能设定为8k,可以使用-rsize and -wsize 来进行设定。这两个参数的设定对于 NFS的执行效能有较大的影响 bg:在执行mount时如果无法顺利mount上时,系统会将mount的操作转移到后台并继续尝试mount,直到 mount成功为止。(通常在设定/etc/fstab文件时都应该使用bg,以避免可能的mount不上而影响启动速度)fg:和bg正好相反,是默认的参数 

  nfsvers=n:设定要使用的NFS版本,默认是使用2,这个选项的设定还要取决于server端是否支持NFS VER 3 

  mountport:设定mount的端口 

  port:根据server端export出的端口设定,例如如果server使用5555端口输出NFS,那客户端就需要使用这个参数进行同样的设定 

  timeo=n:设置超时时间,当数据传输遇到问题时,会根据这个参数尝试进行重新传输。默认值是7/10妙(0.7秒)。如果网络连接不是很稳定的话就要加大这个数值,并且推荐使用HARD MOUNT方式,同时最好也加上INTR参数,这样你就可以终止任何挂起的文件访问。 

  intr 允许通知中断一个NFS调用。当服务器没有应答需要放弃的时候有用处。 
  udp:使用udp作为nfs的传输协议(NFS V2只支持UDP) 
  tcp:使用tcp作为nfs的传输协议 
  namlen=n:设定远程服务器所允许的最长文件名。这个值的默认是255 
  acregmin=n:设定最小的在文件更新之前cache时间,默认是3 
  acregmax=n:设定最大的在文件更新之前cache时间,默认是60 
  acdirmin=n:设定最小的在目录更新之前cache时间,默认是30 
  acdirmax=n:设定最大的在目录更新之前cache时间,默认是60 
  actimeo=n:将acregmin、acregmax、acdirmin、acdirmax设定为同一个数值,默认是没有启用。 
  retry=n:设定当网络传输出现故障的时候,尝试重新连接多少时间后不再尝试。默认的数值是10000 minutes 
  noac:关闭cache机制。 

  同时使用多个参数的方法:mount -t nfs -o timeo=3,udp,hard 192.168.0.30:/tmp /nfs

  请注意,NFS客户机和服务器的选项并不一定完全相同,而且有的时候会有冲突。比如说服务器以只读的方式导出,客户端却以可写的方式mount,虽然可以成功mount上,但尝试写入的时候就会发生错误。一般服务器和客户端配置冲突的时候,会以服务器的配置为准。 

  4、/etc/fstab的设定方法 

  /etc/fstab的格式如下: 
  fs_spec   fs_file  fs_type   fs_options  fs_dump fs_pass  

  fs_spec:该字段定义希望加载的文件系统所在的设备或远程文件系统,对于nfs这个参数一般设置为这样:192.168.0.1:/NFS 
  fs_file:本地的挂载点 
  fs_type:对于NFS来说这个字段只要设置成nfs就可以了 
  fs_options:挂载的参数,可以使用的参数可以参考上面的mount参数。 
  fs_dump - 该选项被"dump"命令使用来检查一个文件系统应该以多快频率进行转储,若不需要转储就设置该字段为0 
  fs_pass - 该字段被fsck命令用来决定在启动时需要被扫描的文件系统的顺序,根文件系统"/"对应该字段的值应该为1,其他文件系统应该为2。若该文件系统无需在启动时扫描则设置该字段为0 。 

  5、与NFS有关的一些命令介绍 
  nfsstat: 查看NFS的运行状态,对于调整NFS的运行有很大帮助 
  rpcinfo: 查看rpc执行信息,可以用于检测rpc运行情况的工具。 

  NFS调优 

  调优的步骤: 

  1、测量当前网络、服务器和每个客户端的执行效率。 

  2、分析收集来的数据并画出图表。查找出特殊情况,例如很高的磁盘和CPU占用、已经高的磁盘使用时间 
  3、调整服务器 
  4、重复第一到第三步直到达到你渴望的性能 

  与NFS性能有关的问题有很多,通常可以要考虑的有以下这些选择: WSIZE,RSIZE参数来优化NFS的执行效能 WSIZE、RSIZE对于NFS的效能有很大的影响。 

  wsize和rsize设定了SERVER和CLIENT之间往来数据块的大小,这两个参数的合理设定与很多方面有关,不仅是软件方面也有硬件方面的因素会影响这两个参数的设定(例如LINUX KERNEL、网卡交换机等等)。 

  下面这个命令可以测试NFS 的执行效能,读和写的效能可以分别测试,分别找到合适的参数。对于要测试分散的大量的数据的读写可以通过编写脚本来进行测试。在每次测试的时候最好能重复 的执行一次MOUNT和unmount。time dd if=/dev/zero of=/mnt/home /testfile bs=16k count=16384 

   用于测试的WSIZE,RSIZE最好是1024的倍数,对于NFS V2来说8192是RSIZE和WSIZE的最大数值,如果使用的是NFS V3 则可以尝试的最大数值是32768。如果设置的值比较大的时候,应该最好在CLIENT上进入mount上的目录中,进行一些常规操作(LS,VI等等),看看有没有错误信息出现。有可能出现的典型问题有LS的时候文件不能完整的列出或者是出现错误信息,不同的操作系统有不同的最佳数值,所以对于不同的操作系统都要进行测试。 

  设定最佳的NFSD的COPY数目

  linux中的NFSD的COPY数目是在/etc/rc.d/init.d/nfs这个启动文件中设置的,默认是8个NFSD,对于这个参数的设置一般是要根据可能的CLIENT数目来进行设定的,和WSIZE、RSIZE一样也是要通过测试来找到最近的数值。 

  UDP and TCP 可以手动进行设置,也可以自动进行选择。 

  mount -t nfs -o sync,tcp,noatime,rsize=1024,wsize=1024 EXPORT_MACHINE:/EXPORTED_DIR /DIR 
UDP 有着传输速度快,非连接传输的便捷特性,但是UDP在传输上没有TCP来的稳定,当网络不稳定或者黑客入侵的时候很容易使NFS 的 Performance 大幅降低甚至使网络瘫痪。所以对于不同情况的网络要有针对的选择传输协议。nfs over tcp比较稳 定,nfs over udp速度较快。在机器较少网络状况较好的情况下使用UDP协议能带来较好的性能,当机器较多,网络情况复杂时推荐使用TCP协议 (V2只支持UDP协议)。在局域网中使用UDP协议较好,因为局域网有比较稳定的网络保证,使用UDP可以带来更好的性能,在广域网中推荐使用TCP协议,TCP协议能让NFS在复杂的网络环境中保持最好的传输稳定性。可以参考这篇文章:
  http://www.hp.com.tw/ssn/unix/0212/unix021204.asp 

  版本的选择 

  V3作为默认的选择(RED HAT 8默认使用V2,SOLARIS 8以上默认使用V3),可以通过vers= mount option来进行选择。LINUX通过mount option的nfsvers=n进行选择。 

  NFS故障解决 

  1、NFSD没有启动起来 首先要确认 NFS 输出列表存在,否则 nfsd 不会启动。可用 exportfs 命令来检查,如果 exportfs 命令没有结果返回或返回不正确,则需要检查 /etc/exports 文件。 

   2、mountd 进程没有启动 mountd 进程是一个远程过程调用 (RPC) ,其作用是对客户端要求安装(mount)文件系统的申请作出响 应。mountd进程通过查找 /etc/xtab文件来获知哪些文件系统可以被远程客户端使用。另外,通过mountd进程,用户可以知道目前有哪些文 件系统已被远程文件系统装配,并得知远程客户端的列表。查看mountd是否正常启动起来可以使用命令rpcinfo进行查看,在正常情况下在输出的列表 中应该象这样的行: 
  100005 1 udp 1039 mountd 
  100005 1 tcp 1113 mountd 
  100005 2 udp 1039 mountd 
  100005 2 tcp 1113 mountd 
  100005 3 udp 1039 mountd 
  100005 3 tcp 1113 mountd 

  如果没有起来的话可以检查是否安装了PORTMAP组件。rpm -qa|grep portmap 

  3、fs type nfs no supported by kernel kernel不支持nfs文件系统,重新编译一下KERNEL就可以解决。 
  4、can't contact portmapper: RPC: Remote system error - Connection refused 
出现这个错误信息是由于SEVER端的PORTMAP没有启动。 

  5、mount clntudp_create: RPC: Program not registered NFS没有启动起来,可以用showmout -e host命令来检查NFS SERVER是否正常启动起来。 

  6、mount: localhost:/home/test failed, reason given by server: Permission denied 
这个提示是当client要mount nfs server时可能出现的提示,意思是说本机没有权限去mount nfs server上的目录。解决方法当然是去修改NFS SERVER咯。 

  7、被防火墙阻挡这个原因很多人都忽视了,在有严格要求的网络环境中,我们一般会关闭linux上的所有端口,当需要使用哪个端口的时候才会去打开。而NFS默认是使用111端口,所以我们先要检测是否打开了这个端口,另外也要检查TCP_Wrappers的设定。 


  NFS安全 
  NFS的不安全性主要体现于以下4个方面: 

  1、新手对NFS的访问控制机制难于做到得心应手,控制目标的精确性难以实现 
  2、NFS没有真正的用户验证机制,而只有对RPC/Mount请求的过程验证机制 
  3、较早的NFS可以使未授权用户获得有效的文件句柄 
  4、在RPC远程调用中,一个SUID的程序就具有超级用户权限. 

  加强NFS安全的方法: 

  1、合理的设定/etc/exports中共享出去的目录,最好能使用anonuid,anongid以使MOUNT到NFS SERVER的CLIENT仅仅有最小的权限,最好不要使用root_squash。 

  2、使用IPTABLE防火墙限制能够连接到NFS SERVER的机器范围 
  iptables -A INPUT -i eth0 -p TCP -s 192.168.0.0/24 --dport 111 -j ACCEPT 
  iptables -A INPUT -i eth0 -p UDP -s 192.168.0.0/24 --dport 111 -j ACCEPT 
  iptables -A INPUT -i eth0 -p TCP -s 140.0.0.0/8 --dport 111 -j ACCEPT 
  iptables -A INPUT -i eth0 -p UDP -s 140.0.0.0/8 --dport 111 -j ACCEPT 

  3、为了防止可能的Dos攻击,需要合理设定NFSD 的COPY数目。 
  4、修改/etc/hosts.allow和/etc/hosts.deny达到限制CLIENT的目的 
  /etc/hosts.allow 
  portmap: 192.168.0.0/255.255.255.0 : allow 
  portmap: 140.116.44.125 : allow 

  /etc/hosts.deny 
  portmap: ALL : deny 

  5、改变默认的NFS 端口 NFS默认使用的是111端口,但同时你也可以使用port参数来改变这个端口,这样就可以在一定程度上增强安全性。 

  6、使用Kerberos V5作为登陆验证系统  
posted @ 2014-03-23 18:17  咚咚锵锵  阅读(2933)  评论(0编辑  收藏  举报