NFS网络文件系统
linux中挂载常用命令nfs参数说明挂载开启防火墙端口
windows中挂载
linux中挂载
常用命令
yum -y install nfs-utils //nfs客户端和服务端以及rpcbind自动安装
端口配置文件/etc/sysconfig/nfs
showmount [参数] IP
-e 查看nfs提供共享的文件系统
-a 查看nfs服务器所有被挂载的文件系统及其挂载的客户端对应关系列表
-d 显示nfs所有文件系统
exportfs 用于查看挂载信息
-r 重新导出
-u 取消导出
-a 同-r或-u 同时使用,表示重新挂载所有文件系统或取消导出所有文件系统,/etc/exports中的内容
-v 显示共享参数详细信息
nfs参数说明
权限参数说明
all_squash:对任何连接服务端的用户,服务端都映射为匿名用户anonymous,适合公用目录
no_all_squash:访客映射为服务器上相同的uid用户
root_squash:访客以root用户访问NFS服务端,映射为nfsnobody用户
no_root_squash:nfs客户端连接服务段使用root,对服务端目录也拥有root权限,开启此选项不安全
其它选项
ro:共享目录只读
rw:共享目录可读可写
secure:限制客户端只能从小于1024的tcp/ip端口连接服务器
linsecure:允许客户端从大于1024的tcp/ip端口连接服务器
sync:将数据同步写入内存缓冲区与磁盘中,效率低,但可以保证数据的一致性
async:将数据先保存在内存缓冲区中,必要时才写入磁盘
wdelay:检查是否有相关的写操作,如果有则将这些写操作一起执行,这样可以提高效率
no_wdelay:若有写操作则立即执行,应与sync配合使用
subtree_check:若输出目录是一个子目录,则nfs服务器将检查其父目录的权限
no_subtree_check:即使输出目录是一个子目录,nfs服务器也不检查其父目录的权限,这样可以提高效率
anonuid=xxx:同步文件属性uid
anongid=xxx:同步文件属性gid
挂载
服务端开启共享
mkdir /document
vim /etc/exports
/document 192.168.11.0/24(rw,sync,no_subtree_check,secure,no_all_squash) #共享目录,允许访问的客户端,访问权限
exportfs -r #重新加载exports配置
systemctl restart rpcbind nfs nfs-server #重新启动
客户端挂载
mount -t 192.168.11.124:/document /document #直接挂载,临时重启后失效
在fstab中添加开机自动挂载
vim /etc/fstab
192.168.11.124:/document /document nfs defaults 0 0
开启防火墙端口
rpcinfo -p 查看nfs的rpc相关端口
默认nfs端口2049,portmapper端口是111,mountd端口20048
status和nlockmgr是随机端口
在设置了防火墙的环境中使用NFS,需要在防火墙上打开如下端口:
1. portmapper 端口 111 udp/tcp
2. nfs 端口 2049 udp/tcp
3. mountd 端口 "xxx" udp/tcp
系统 RPC服务在 nfs服务启动时默认会为 mountd动态选取一个随机端口(32768—65535,更精确的范围是32770-32900)来进行通讯
ss -ln | grep 30001 查看端口占用情况
NFS端口固定:
vim /etc/sysconfig/nfs #在最后添加选项,固定端口,确定指定端口没有被占用
RQUOTAD_PORT=30001
LOCKD_TCPPORT=30002
LOCKD_UDPPORT=30002
MOUNTD_PORT=30003
STATD_PORT=30004
vim /etc/modprobe.d/lockd.conf #添加参数
options lockd nlm_tcpport=30002
options lockd nlm_udpport=30002
firewalld开启的情况下添加端口:
firewall-cmd --zone=public --add-port=111/tcp --permanent
firewall-cmd --zone=public --add-port=111/udp --permanent
firewall-cmd --zone=public --add-port=2049/tcp --permanent
firewall-cmd --zone=public --add-port=2049/udp --permanent
firewall-cmd --zone=public --add-port=30001-30004/tcp --permanent
firewall-cmd --zone=public --add-port=30001-30004/udp --permanent
firewall-cmd --reload 重新加载配置
systemctl restart nfs nfs-config nfs-idmap nfs-lock nfs-server #重启nfs相关服务
showmount -e 192.168.112.120 #在客户端查看服务端共享区
windows中挂载
win7(win10)中打开控制面板,找到程序,然后进入启用或关闭windows功能,找到NFS相关选项进行安装,开启NFS功能。家庭版不含此功能,需要升级为企业版
win+R进入cmd命令窗口:
mount 192.168.20.21:/document S:
net use 192.168.112.110:/document S: /persistent:yes #强制网络映射每次登陆有效
net use S: /delete 删除网络映射 #挂载点只能是计算机中没有使用的盘符
开机自动挂载
计算机→映射网络驱动器→输入网络共享文件路径
选择一个驱动器(盘符,没有被使用的盘符),下面输入要挂载的文件路径,如:\\192.168.1.1\share
添加权限,默认只有读权限
win+R输入regedit,进入注册表,找到下面的路径:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ClientForNFS\CurrentVersion\Default
点击新建QWORD(64位)值,添加两项AnonymousUid和AnonymousGid,默认数值数据为0,然后重启计算机
卸载:net use S: /delete