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

(编辑:jimmy 日期: 2024/11/13 浏览:2)

服务器环境: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。

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