NFS服务安装及配置

Posted 行走的日志

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了NFS服务安装及配置相关的知识,希望对你有一定的参考价值。

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

安装NFS服务

nfs客户端和服务端都只需要安装nfs-utils包即可,并且yum安装时会连带安装rpcbind服务。安装后会为nfs服务创建nfsnobody用户和组,用以共享目录。

# 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  #要共享的目录
# chmod 755 /var/nfs/simple-nfs  #配置共享目录的权限
# chown nfsnobody:nfsnobody -R /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。

 

以上是关于NFS服务安装及配置的主要内容,如果未能解决你的问题,请参考以下文章

NFS的介绍及服务端安装配置配置选项

NFS服务基本配置及使用

NFS服务器及Samba服务配置实现文件共享

NFS网络文件系统服务配置验证及错误解决

NFS配置及开机自动挂载

CentOS56 NFS的安装配置及mount方法