安装NFS服务器
nfs-utils包为NFS服务器提供了NFS实用程序和守护程序。要安装它,请运行以下命令:
sudo dnf install nfs-utils
安装完成后,通过键入以下内容启用并启动NFS服务:
sudo systemctl enable --now nfs-server
设置文件共享目录
sudo vim /etc/exports
/home/nfs4 *(rw,sync,no_subtree_check,crossmnt,fsid=0) /srv/nfs4/backups 192.168.33.0/24(ro,sync,no_subtree_check) 192.168.33.3(rw,sync,no_subtree_check) #参数说明 #ro:共享目录只读 #rw:共享目录可读可写 #all_squash:所有访问用户都映射为匿名用户或用户组 #no_all_squash(默认):访问用户先与本机用户匹配,匹配失败后再映射为匿名用户或用户组 #root_squash(默认):将来访的root用户映射为匿名用户或用户组 #no_root_squash:来访的root用户保持root帐号权限 #anonuid=<UID>:指定匿名访问用户的本地用户UID,默认为nfsnobody(65534) #anongid=<GID>:指定匿名访问用户的本地用户组GID,默认为nfsnobody(65534) #secure(默认):限制客户端只能从小于1024的tcp/ip端口连接服务器 #insecure:允许客户端从大于1024的tcp/ip端口连接服务器 #sync:将数据同步写入内存缓冲区与磁盘中,效率低,但可以保证数据的一致性 #async:将数据先保存在内存缓冲区中,必要时才写入磁盘 #wdelay(默认):检查是否有相关的写操作,如果有则将这些写操作一起执行,这样可以提高效率 #no_wdelay:若有写操作则立即执行,应与sync配合使用 #subtree_check(默认) :若输出目录是一个子目录,则nfs服务器将检查其父目录的权限
防火墙设置
sudo firewall-cmd --new-zone=nfs --permanent sudo firewall-cmd --zone=nfs --add-service=nfs --permanent sudo firewall-cmd --zone=nfs --add-source=0.0.0.0/0 --permanent sudo firewall-cmd --reload
设置固定开放端口
查看nfs端口
rpcinfo -p
设置固定端口:
编辑 /etc/sysconfig/nfs 文件:
vim /etc/sysconfig/nfs
添加如下内容:
######### nfs 端口 ########## RQUOTAD_PORT=30001 LOCKD_TCPPORT=30002 LOCKD_UDPPORT=30002 MOUNTD_PORT=30003 STATD_PORT=30004 ###################
如果 nlockmgr Port 仍然无法修改,则要修改 /etc/sysctl.conf
cp /etc/sysctl.conf /etc/sysctl.conf.$(date +%F)
fs.nfs.nlm_tcpport=30002
fs.nfs.nlm_udpport=30002
sed -i '$a fs.nfs.nlm_tcpport=30002\nfs.nfs.nlm_udpport=30002' /etc/sysctl.conf
刷新配置生效:
sysctl -p systemctl restart rpcbind systemctl restart nfs-server
重启服务后再查看端口
客户端链接
showmount -e 192.168.0.11
mkdir /tmp/testnfs \ && mount -t nfs 192.168.0.11:/tem/nfs /tmp/testnfs \ && echo "hello nfs" >> /tmp/testnfs/test.txt \ && cat /tmp/testnfs/test.txt
原创文章,作者:慕辰,如若转载,请注明出处:https://www.bgweb.cn/231.html