开发板配置NFS服务

NFS介绍

NFS(Network File System)是一种用于在网络上共享文件系统的协议。它允许不同的计算机之间通过网络访问和共享文件和目录,使文件在不同计算机之间的共享变得更加容易。NFS最初由Sun Microsystems开发,现在已经成为许多Unix-like操作系统(包括Linux)中的标准文件共享协议之一。

以下是有关Linux下的NFS的一些重要信息:

NFS版本

有多个版本的NFS,最常用的是NFSv3和NFSv4。NFSv3是较早的版本,广泛用于Linux系统。NFSv4引入了更多的安全性和功能,并在Linux中得到广泛支持。

NFS服务器和客户端

在NFS中,有两个关键的角色:NFS服务器和NFS客户端。NFS服务器是存储文件的系统,而NFS客户端是需要访问这些文件的系统。在Linux上,可以同时配置系统既为NFS服务器又为NFS客户端。

安装NFS

要在Linux上使用NFS,首先需要安装NFS服务器和客户端软件包,通常分别是nfs-kernel-server和nfs-common。你可以使用包管理工具如apt(Debian/Ubuntu)或yum(CentOS/RHEL)来安装这些软件包。

配置NFS服务器

要配置NFS服务器,你需要编辑NFS服务器的配置文件/etc/exports,并指定要共享的目录以及允许访问该目录的客户端。配置后,使用exportfs命令重新加载NFS共享。

启动NFS服务

启动NFS服务器服务,你需要运行systemctl start nfs-server(对于Systemd系统)或service nfs start(对于SysV系统)。

挂载NFS共享

要在NFS客户端上访问共享的文件系统,你需要将NFS共享挂载到本地文件系统。使用mount命令进行挂载,例如:mount -t nfs server_ip:/shared_directory /local_mount_point。

NFS安全性

NFS默认情况下可能不是最安全的,因为它使用基于IP地址的访问控制。你可以配置更复杂的安全性,例如使用Kerberos身份验证来提高安全性。

NFS日志

NFS服务器和客户端都会生成日志,可用于故障排除和监控。你可以查看/var/log/messages(对于SysV)或/var/log/syslog(对于Systemd)以获取有关NFS活动的信息。

NFS是一种方便的文件共享协议,特别适用于局域网中的文件共享需求。但需要注意,安全性配置和网络性能可能需要额外的关注和调整,以确保数据的保密性和可靠性。

开发板配置NFS环境

环境

环境 ubuntu 10.4 vm 7.1
终端
ifconfig 得到 ubuntu资料
INET ADDR 192.168.0.4
BCAST 192.168.0.255
MASK 255.255.255.0

操作前先关闭防火墙

关闭防火墙:
命令:sudo ufw disable
打开防火墙
命令:sudo ufw enable

配置过程

server端的配置

一 安装NFS
$ sudo apt-get install nfs-kernel-server
$ sudo apt-get install nfs-common
二 配置NFS
1 $ sudo dpkg-reconfigure portmap , 对Should portmap be bound to the loopback address? 选N
2 $ sudo gedit /etc/default/portmap 末行清除 “-i 127.0.0.1”
三 配置hosts.deny

$ sudo gedit  /etc/hosts.deny

文本末添加

   portmap:    ALL
   lockd:    ALL
   mountd:   ALL
   rquotad:    ALL
   statd:    ALL

四 配置hosts.allow

$ sudo gedit  /etc/hosts.allow

文本末加入

### NFS DAEMONS
   portmap:   192.168.0.
   lockd:     192.168.0.
   rquotad:   192.168.0.
   mountd:    192.168.0.
   statd:     192.168.0.

$ sudo /etc/init.d/portmap restart 重启portmap daemon.
显示如下

Since the script you are attempting to invoke has been converted to an
Upstart job, you may also use the restart(8) utility, e.g. restart portmap
portmap start/running, process   XXXX

在这里插入图片描述

五 配置/etc/exports

$ sudo gedit  /etc/exports

文本末添加
/home/yuanyi/QT_WORK *(rw,sync,no_root_squash)

chmod 777 -R /home/work
$ sudo showmount -e

显示 clnt-create : RPC : Program not registered
$ sudo exportfs -r 更新
在这里插入图片描述

$ sudo   showmount 192.168.0.4 -e

显示
Export list for 192.168.0.4:
/home/yuanyi/QT_WORK *
六 启用
$ sudo /etc/init.d/nfs-kernel-server restart 重启nfs服务
显示如下

* Stopping NFS kernel daemon                                                      [ OK ]
* Unexporting directories for NFS kernel daemon...                   [ OK ]
* Exporting directories for NFS kernel daemon...                           
   exportfs: /etc/exports [1]: Neither 'subtree_check' or 'no_subtree_check' specified for export "*:/home/work".
   Assuming default behaviour ('no_subtree_check').
   NOTE: this default has changed since nfs-utils version 1.0.x
                                                                   
* Starting NFS kernel daemon 
                                                         [ OK ]
                                                        

开发板的操作

进入uboot设置环境变量

nugget# setenv gatewayip 192.168.0.1
nugget# setenv netmask 255.255.255.0
nugget# setenv ipaddr 192.168.0.130
nugget# setenv serverip 192.168.0.136

开发板挂载

mount -t nfs 192.168.0.4:/home/yuanyi/QT_WORK   /nfsmnt  

常见问题

如果提示failed: Connection refused

请使用下面的命令

mount -t nfs 192.168.0.100:/home/yuanyi/QT_WORK   /mnt   -o nolock
卸载

Umonut /mnt

解决

mount.nfs: mount system call failed;
Mount.nfs: access denied by server while mogunting 192.168.2.1:/home ;
Clnt_create: RPC:Program no registered等问题
NFS不能挂接主要问题:
1、ip设置不正确
2 /etc/hosts.allow没有配置好
3、没关闭防火墙

  • 7
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值