CentOS6.9下NFS服务安装配置教程

服务器环境:CentOS6.9  Linux 2.6.32-696.el6.x86_64

安装NFS服务

nfs客户端和服务端都只需要安装nfs-utils包即可,并且yum安装时会连带安装rpcbind服务

  # yum -y install nfs-utils

开机启动

  # chkconfig rpcbind on  # chkconfig nfs on  

出于运维管理的需要,能够快速查找相关启动的服务,配置chkconfig的同时,追加开机启动脚本

  # tail -2 /etc/rc.local  /etc/init.d/rpcbind start   /etc/init.d/nfs start  

配置端口

nfs除了主程序端口2049和rpcbind的端口111是固定以外,还会使用一些随机端口,以下配置将定义这些端口,以便配置防火墙

  # vim /etc/sysconfig/nfs  #追加端口配置  MOUNT_PORT=4001    STATD_PORT=4002  LOCKD_TCPPORT=4003  LOCKD_UDPPORT=4004  RQUOTAD_PORT=4005  

配置要共享的目录

  # mkdir -p /var/nfs/simple-nfs  #要共享的目录  # vim /etc/exports  #配置访问权限  /var/nfs/simple-nfs  192.168.100.0/24(rw,async,root_squash)

访问权限:

rw:read-write,可读写; 注意,仅仅这里设置成读写客户端还是不能正常写入,还要正确地设置共享目录的权限,参考问题7
ro:read-only,只读;
sync:文件同时写入硬盘和内存;
async:文件暂存于内存,而不是直接写入内存;
no_root_squash:NFS客户端连接服务端时如果使用的是root的话,那么对服务端分享的目录来说,也拥有root权限。显然开启这项是不安全的。
root_squash:NFS客户端连接服务端时如果使用的是root的话,那么对服务端分享的目录来说,拥有匿名用户权限,通常他将使用nobody或nfsnobody身份;
all_squash:不论NFS客户端连接服务端时使用什么用户,对服务端分享的目录来说都是拥有匿名用户权限;
anonuid:匿名用户的UID值,通常是nobody或nfsnobody,可以在此处自行设定;
anongid:匿名用户的GID值。

配置防火墙

  # vim /etc/sysconfig/iptables  -A INPUT -p tcp -m tcp --dport 111 -j ACCEPT  -A INPUT -p udp -m udp --dport 111 -j ACCEPT  -A INPUT -p tcp -m tcp --dport 2049 -j ACCEPT  -A INPUT -p udp -m udp --dport 2049 -j ACCEPT  -A INPUT -p tcp -m tcp --dport 4001:4005 -j ACCEPT  -A INPUT -p udp -m udp --dport 4001:4005 -j ACCEPT

重启服务和防火墙

  # service nfs restart  # service iptables restart  #或reload  

Linux客户端挂载

  # mount -t nfs 192.168.100.110:/var/nfs/simple-nfs /mnt  

也可将挂载配置写入fstab文件中,与普通磁盘挂载一样,挂载时同样可以指定权限,只是类型为nfs。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

参与评论