电子说
简介
网络文件系统(NFS)可以同时在版本2、3、4中运行。NFS版本4(NFSv4)在NFSv2和NFSv3。我最喜欢的改进是:
NFSv4使配置防火墙变得简单,因为NFSv4仅使用一个端口(默认为2049),而NFSv2和NFSv3使用4个随机更改的端口
NFSv4 NFSv2和NFSv3不提供Kerberos时,它提供了强大的安全性。因此,将NFS服务器配置为仅在版本4中运行并禁用NFSv2和NFSv3是有利的。
完成此说明后,您可能会对学习如何使用自动挂载程序感兴趣。
Scope
此说明将显示:
如何安装NFSv4服务器
如何启用配置NFSv4服务器
如何禁用NFSv2和NFSv3
如何运行NFSv4服务器
如何测试NFSv4服务器
此说明将不会显示:
如何配置NFSv2和NFSv3服务器
如何实现NFS客户端
如何启用Kerberos
我的系统规范
Linux rpipro 3.18.7+#755 PREEMPT,星期四2月12日17:14:31 GMT 2015 armv6l GNU/Linux
步骤1:安装NFS
在Raspberry Pi中打开终端模拟器
sudo apt-get update sudo apt-get upgrade sudo apt-get dist-upgrade
安装NFS
sudo apt-get install nfs-common nfs-kernel-server
步骤2:共享目录
在Raspberry Pi中打开终端模拟器
将目录设置为共享
sudo mkdir -p /srv/nfs4/share cd /srv/nfs4/share
创建存根文件或将任何文件放入
sudo vi hello.txt
键入以下内容或任何内容:
Hello NFS
保存文件
添加要共享和导出的以上目录
sudo vi /etc/exports
添加以下内容(192.168.CCC.DDD是ip可以读取和写入共享目录的客户端的地址):
/srv/nfs4/share 192.168.CCC.DDD(rw,sync,no_subtree_check)
保存文件
步骤3:修改NFS初始化脚本
/etc/init.d/nfs-kernel-server脚本同时启动NFSv2,NFSv3和NFSv4或不使用NFSv4来启动NFS守护程序。该脚本不能使NFS仅在NFSv4中运行。我修改了脚本,使其可以同时在NFSv2,NFSv3和NFSv4中启动守护程序,或者仅在没有NFSv4或NFSv4的情况下启动守护程序。
在Raspberry Pi中打开终端模拟器
cd /etc/init.d
备份nfs-kernel-server脚本和配置文件
sudo cp /etc/init.d/nfs-kernel-server /etc/init.d/nfs-kernel-server.pristine sudo cp /etc/default/nfs-kernel-server /etc/default/nfs-kernel-server.pristine
下载我上传的nfs-kernel-server.script
阅读脚本
用下载的脚本替换当前脚本
sudo cp path/to/download/nfs-kernel-server.script /etc/init.d/nfs-kernel-server
下载我上传的nfs-kernel-server.cfg
读取配置文件
用下载的
sudo cp path/to/download/nfs-kernel-server.cfg/etc/default/nfs-kernel-server
替换当前脚本
备份nfs公用参数文件。
cd /etc/default sudo cp nfs-common nfs-common.pristine sudo vi nfs-common Change: NEED_STATD= to: NEED_STATD=“no” Change: NEED_IDMAPD= to: NEED_IDMAPD=“yes”
保存文件
步骤4:运行NFSv4守护程序
打开Raspberry Pi中的终端模拟器
启动NFS服务
sudo service nfs-kernel-server start [ ok ] Exporting directories for NFS kernel daemon.。.. [。..。] Starting NFS kernel daemon: nfsdrpc.nfsd: writing fd to kernel failed: errno 111 (Connection refused) rpc.nfsd: address family inet6 not supported by protocol TCP rpc.nfsd: unable to set any sockets for nfsd
failed!
说明:
nfsd无法启动。对于某些Raspberry Pi,此故障可能不会发生。 inet6是指实现ipv6协议。可以通过加载ipv6模块来解决此问题。指定在启动时加载ipv6模块
sudo vi /etc/modules
附加以下内容:
ipv6
重新启动Raspberry Pi
检查是否已加载ipv6模块
lsmod | grep ipv6
ipv6 351566 8
再启动一次NFS服务
sudo服务nfs -kernel-server start
[确定]导出NFS内核守护程序的目录。。..
[。..。]启动NFS内核守护程序:nfsdrpc.nfsd:检查netconfig的内容可见协议。
rpc.nfsd:启用inet udp。
rpc.nfsd:启用inet tcp。
rpc.nfsd:启用inet6 udp。
rpc.nfsd:启用inet6 tcp。
rpc.nfsd:knfsd当前已关闭
rpc.nfsd:将版本字符串写入内核:-2 -3 +4
rpc.nfsd:创建inet TCP套接字。
rpc.nfsd:创建inet UDP套接字。
rpc.nfsd:创建inet6 TCP套接字。
rpc.nfsd:创建inet6 UDP套接字。
[ok td。
说明:
消息“将版本字符串写入内核:-2 -3 +4”很重要减号表示已放弃对NFSv2和NFSv3的支持。最后的消息还可以。仅NFSv4守护进程已启动!
步骤5:使用NFSv2,NFSv3和NFSv4客户端进行测试
在第二个Raspberry Pi或任何其他Raspberry Pi中打开终端模拟器Linux系统
安装NFS客户端软件
sudo apt-get update sudo apt-get install nfs-common
nfs-common软件包提供了一个名为/sbin/showmount的程序。 showmount通过发送NFSv2和NFSv3请求来显示NFS服务器的安装信息。
使用showmount将NFSv3请求发送给在先前步骤中部署的NFSv4服务器(#192.168.XXX.YYY是服务器的IP地址。 NFSv4服务器)
showmount -e 192.166.XXX.YYY
clnt_create:RPC:端口映射器故障-无法接收:errno 111(连接被拒绝)
说明:该错误消息表明: NFSv4服务器没有按预期响应来自NFSv2和NFSv3客户端的任何请求。
使NFSv4客户端向NFSv4发送安装请求(#192.168.XXX.YYY是NFSv4服务器的IP地址)
sudo mount.nfs4 192.168.XXX.YYY:/ /mnt
查看在上一步中创建的hello.txt文件的内容
cat /mnt/srv/nfs4/share/hello.txt
责任编辑:wv
全部0条评论
快来发表一下你的评论吧 !