`
bigfirebird
  • 浏览: 127549 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Ubuntu上NFS的安装配置

阅读更多
NFS用于Linux主机访问网络中其他Linux主机上的共享资源。NFS的原理是在客户端上通过网络将远程主机共享文件系统以挂载(Mount)的方式加入本机的文件系统,之后的操作就如同在本机上一样。



NFS服务器(宿主机)



1.安装NFS

Ubuntu上默认是没有安装NFS服务器的,首先要安装NFS服务程序:

                      $ sudo apt-get install nfs-kernel-server

(安装nfs-kernel-server时,apt会自动安装nfs-common和portmap)

这样,宿主机就相当于NFS Server。



2. 配置NFS

1)配置portmap

方法1: 编辑/etc/default/portmap, 将 -i 127.0.0.1 去掉.

方法2:            

       $ sudo dpkg-reconfigure portmap

对Should portmap be bound to the loopback address? 选N.

2)配置/etc/hosts.deny

                                      $ sudo gedit /etc/hosts.deny

(禁止任何host(主机)能和你的NFS服务器进行NFS连接),加入:

### NFS DAEMONS

portmap:ALL

lockd:ALL

mountd:ALL

rquotad:ALL

statd:ALL



3)配 置/etc/hosts.allow

                                     $ sudo gedit /etc/hosts.allow

允许那些你想要的主机和你的NFS服务器建立连接。下列步骤将允许任何IP地址以192.168.1开头的主机(连接到NFS服务器上),也可以指定特定的IP地址。

### NFS DAEMONS

portmap: 192.168.1.

lockd: 192.168.1.

rquotad: 192.168.1.

mountd: 192.168.1.

statd: 192.168.1.

起用保护机制

    上面设置了只要在192.168.1.*这个网段的所有IP地址用户都可以访问共享目录,但我只想让一个IP地址访问,比如 192.168.1.101那么就可以这样设置了。

可以通过设定/etc/hosts.deny和/etc/hosts.allow文件来限制网络服务的存取权限。

***/etc/hosts.deny***

portmap:ALL

lockd:ALL

mountd:ALL

rquotad:ALL

statd:ALL

***/etc/hosts.allow***

portmap:192.168.1.101

lockd:192.168.1.101

mountd:192.168.1.101

rquotad:192.168.1.101

statd:192.168.1.101

   

      同时使用这两个文件就会使得只有ip为192.168.1.101的机器使用NFS服务。你的target board的ip地址设定为192.168.1.101,这样就可以了。

    /etc/hosts.deny 和 /etc/hosts.allow 设置对portmap的访问. 采用这两个配置文件有点类似"mask"的意思. 现在/etc/hosts.deny中禁止所有用户对portmap的访问. 再在/etc/hosts.allow 中允许某些用户对portmap的访问。



4)重启portmap daemon

     每次对/etc/hosts.deny 和 /etc/hosts.allow两文件的修改后都要重启portmap daemon。不然修改无效。

$ sudo /etc/init.d/portmap restart



5)配置/etc/exports

    NFS挂载目录及权限由/etc/exports文件定义。

                                              $sudo gedit /etc/exports

    比如我要将将我的home目录中的/home/lin/NFSshare目录让192.168.1.*的IP共享, 则在该文件末尾添加下列语句:

        /home/lin/NFSshare  192.168.1.*(rw,sync,no_root_squash)

      然后保存退出。

/home/lin/NFSshare就表示共享目录,当然,你可以随便换成自己喜欢的目录。

192.168.1.*:前面三位是你主机(NFS客户端)的ip地址(本机终端ifconfig命令就可以获得本机的ip地址)。

rw:读/写权限,只读权限的参数为ro;

sync:数据同步写入内存和硬盘,也可以使用async,此时数据会先暂存于内存中,而不立即写入硬盘。

no_root_squash:NFS 服务器共享目录用户的属性,如果用户是 root,那么对于这个共享目录来说就具有 root 的权限。



6)重启nfs服务

$ sudo /etc/init.d/nfs-kernel-server restart

 

    执行这个命令的时候可能会提示一些错误,如下:

* 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 "192.168.1.*:/home/lin/NFSshare".



  Assuming default behaviour ('no_subtree_check').



  NOTE: this default has changed since nfs-utils version 1.0.x

                                                                                                                   [ OK ]

* Starting NFS kernel daemon                                             [ OK ]



       我不知道具体原因,不用管,不影响后面的使用。



注意:每次对/etc/exports文件的修改,都要重启一下nfs服务。



7)nfs服务器端测试

      由于nfs服务器端默认是安装了nfs客户端(nfs-common)的,所以可以在服务器端挂载共享文件夹作测试。

                        $sudo mount 192.168.1.160:/home/lin/NFSshare /mnt

192.168.1.160是nfs服务器端IP地址,可以在服务器端终端通过命令ifconfig获得。
      有可能会出现错误

$mount 192.168.1.160:/home/lin/NFSshare /mnt

mount.nfs: access denied by server while mounting 192.168.1.160:/home/lin/NFSshare

      在nfs客户端执行上述命令,出现同样的错误。这个错误的意思是客户端地址不在NFS所允许的地址范围之内,但无论服务器端还是客户端IP都是192.168.1.*啊!

解决办法

      重新$sudo gedit /etc/exports,将“ 192.168.1.* ”换成“*”,要注意就这一个星星哦!修改完之后不要忘了重启一下nfs服务

$ sudo /etc/init.d/nfs-kernel-server restart

       这样修改之后,就可以看到/mnt文件下共享了/home/lin/NFSshare文件夹里的内容。测试完毕,要卸载nfs的挂载

                               $sudo umount /umt

NFS客户端

1.安装NFS

     客户端需要安装nfs客户端程序(nfs-common)

$ sudo apt-get install nfs-commmon   

2.nfs挂载

     挂载服务器端共享文件夹(假设服务器端IP地址为:192.168.1.160,将/home/lin/NFSshare挂载到/mnt)

$ sudo mount 192.168.1.160:/home/lin/NFSshare /mnt

      查看NFS server的export list

$ showmount -e 192.168.1.160

Export list for 192.168.1.160:

/home/lin/NFSshare 192.168.1.139

$ df 看看结果



       打开文件夹/mnt,可以看到实际访问到了服务器端的/home/lin/NFSshare文件夹

       使用完NFS后可以卸载NFS挂载。

$ sudo umount /mnt


与NFS相关的几个文件

1, /sbin/exportfs

    维护NFS的资源共享. 可以通过它重新设定 /etc/exports 的共享目录, 卸载NFS Server共享的目录或者重新共享等.

2, /usr/sbin/showmount

    用在 NFS Server 端,而 showmount 则主要用在 Client 端. showmount 可以用來查看 NFS 共享的目录资源.

3, /var/lib/nfs/xtab

    NFS的记录文档: 通过它可以查看有哪些Client 连接到NFS主机的记录.

下面这几个并不直接负责NFS, 实际上它们负责所有的RPC

4, /etc/default/portmap

    实际上, portmap负责映射所有的RPC服务端口, 它的内容非常非常之简单(后面详述)

5, /etc/hosts.deny

    设定拒绝portmap服务的主机

6, /etc/hosts.allow

    设定允许portmap服务的主机

7, /etc/exports

    对NFS卷的访问是由exports来批准, 它枚举了若干有权访问NFS服务器上文件系统的主机名。/etc/exports实际上就是nfs服务器的核心配置文件了. 鸟哥的Linux私房菜列举了一些exports文件的写法。

      除了编辑/etc/exports文件这种方法外,Ubuntu还提供图形管理工具——“共享的文件件”,可以用它来进行NFS服务器的维护和设置工作。

(1)打开“共享的文件件”

                第一种方法:“系统”——“系统管理”——“共享的文件夹”(我的Ubuntu8.10没有)

                第二种方法:终端   $ shares-admin

(2)要想修改,首先就要“解锁”。
(3)可以看到之前/home/lin/NFSshare在列表内,其实“共享的文件夹”不过是/etc/exports图形化。

(4)点“添加”添加一个新的共享文件夹


         选择“Unix网络(NFS)“。因为这是Linux之间的共享;如果是Linux和Windows之间的共享,选择“Windows网络(SMB)”。


(5)再点“添加“,可以设置”指定主机名”,“指定IP地址”,“指定网络”。


(6)设置完毕之后就可以关闭“共享的文件夹”,打开/etc/exports可以看到,相应的语句加入到了文件里。





参考资料:

1)在ubuntu7.10下配置nfs并挂载共享目录到目标板上

http://hi.baidu.com/lmzzyw/blog/item/a1582e3552985b1590ef39e1.html

2)Ubuntu上nfs的安装配置

http://hi.baidu.com/wangy0919/blog/item/79e726c68c1efc199d163d98.html

3)ubuntu测试本机nfs出错:mount.nfs:access denied by server while mounting

http://hi.baidu.com/dsfire/blog/item/100386f0b98b52a7a40f52c6.html
分享到:
评论

相关推荐

    Ubuntu 14.04下NFS安装配置

    Ubuntu 14.04 下 NFS 安装配置 NFS(Network File System)是一种允许不同主机之间共享文件的网络文件系统。下面是 Ubuntu 14.04 下 NFS 安装配置的详细步骤: 安装 NFS 服务器 首先,需要安装 NFS 服务器。使用...

    ubuntu下NFS安装配置详细步骤

    通过上述步骤,我们成功地在 Ubuntu 10.10 系统上安装并配置了 NFS 服务,实现了主机、虚拟机和开发板之间的文件共享。NFS 的安装配置并不复杂,但需要注意各个细节,尤其是网络配置和权限设置。掌握了这些基础知识...

    Ubuntu 14.04安装配置NFS服务器

    Ubuntu 14.04 安装配置 NFS 服务器 NFS(Network File System)是一种允许多个电脑通过网络共享文件的系统。它使得不同的计算机可以通过网络访问和共享对方的文件,实现了文件的共享和交换。在 Ubuntu 14.04 中,...

    ubuntu上NFS的安装配置

    首先,要在Ubuntu上安装NFS服务,你需要运行以下命令: ```bash sudo apt-get install nfs-kernel-server ``` 这将安装NFS服务器所需的组件,包括`nfs-kernel-server`包,该包提供了NFS服务。 安装完成后,你需要...

    Ubuntu 下 NFS 服务器配置

    #### 三、NFS配置常见问题及解决方法 **问题1:** 在Ubuntu上测试本机NFS出错,提示“access denied by server while connecting to mountd”。 **解决方案:** 这通常是因为NFS服务器配置中没有正确列出本机的IP...

    ubuntu离线安装nfs.zip

    通过以上步骤,你可以在Ubuntu系统上成功离线安装并配置NFS服务。注意,NFS的安全性和性能优化是后续需要关注的重点,例如限制特定IP访问,使用防火墙规则等。同时,定期更新和维护这些组件也非常重要,以保持系统的...

    Ubuntu14.04离线安装NFS方法和安装包

    在Ubuntu 14.04上离线安装NFS涉及到几个关键步骤,包括理解NFS的基本概念、准备安装包、配置NFS服务器以及设置客户端。下面将详细介绍这个过程。 1. **NFS基本概念**:NFS由Sun Microsystems开发,是一种标准的...

    Ubuntu 14.04版本 NFS 离线安装包

    在另一台机器上安装NFS客户端(如果尚未安装),然后挂载刚刚共享的目录,以确认服务正常工作: ``` sudo apt-get install nfs-kernel-client sudo mkdir /mnt/nfs-share sudo mount <NFS服务器IP>:/home/user/...

    Ubuntu18.04离线配置NFS客户端需要的deb文件

    总结一下,在离线环境中配置Ubuntu 18.04的NFS客户端,关键在于正确理解和处理各组件的依赖关系,以及使用`dpkg`和`apt-get`命令进行安装和修复。确保所有必要的组件都已安装并正确配置后,你就可以顺利地与NFS...

    ubuntn 离线安装 nfs 所需资源包

    在Ubuntu系统中,为了实现多台虚拟机之间的文件共享,我们常常会采用网络文件系统(NFS)。NFS是一种协议,允许一个系统(服务器)通过网络共享目录给...记住,始终关注安全性和稳定性,定期检查和更新你的NFS配置。

    ubuntu_nfs离线安装包.tgz.rar

    总结来说,这个离线安装包提供了在无网络环境下在Ubuntu系统上安装NFS服务的途径。用户需要知道如何解压不同类型的压缩文件,并使用`dpkg`命令进行安装。安装后,配置NFS服务和权限,以及处理可能的防火墙问题,是...

    ubuntu安装nfs服务

    通过以上步骤,可以在Ubuntu系统中成功安装并配置NFS服务,实现文件或目录的网络共享功能。需要注意的是,在实际应用过程中,还需要根据具体需求调整配置文件中的各项参数,以满足不同的安全性和性能要求。

    Ubuntu离线安装NFS的安装包

    1.在管理结点(也就是主机,也就是被挂载的那个机器)和刀片(也就是分机,也就是挂载那个机器)上安装相应软件包 2.管理结点上执行以下安装命令: sudo dpkg -i libgssglue1_0.4-2ubuntu1_amd64.deb sudo dpkg -i ...

    ubuntu系统NFS配置

    ### Ubuntu系统NFS配置详解 #### 一、NFS简介 NFS,即Network File System,是一种分布式文件系统协议,最初由Sun Microsystems开发,旨在使网络中的计算机能够像访问本地文件系统一样访问远端计算机上的文件。在...

    ubuntu 下安装配置 NFS服务

    Ubuntu下安装配置NFS服务的知识点: 1. NFS服务简介:NFS(Network File System)是一种网络...在实际操作中,应确保NFS配置文件中的权限设置正确,避免安全风险,同时需要确保NFS服务器和客户端之间的网络是互通的。

    Ubuntu上安装及配置NFS服务

    基于在Ubuntu上安装及配置NFS服务完整攻略

    ubuntu+开发板NFS配置(全)

    在 Debian/Ubuntu 上安装 NFS 服务器软件: ``` sudo apt-get install nfs-kernel-server ``` 如果需要安装客户端: ``` sudo apt-get install nfs-common ``` 2. **配置 Portmap** 方法 1:编辑 `/...

    ubuntu系统下配置nfs服务

    在深入探讨如何在Ubuntu系统下配置NFS(Network File System)服务之前,我们先来了解一下NFS的基本概念及其在Ubuntu中的重要性。NFS是一种分布式文件系统协议,它允许网络上的计算机共享彼此的文件系统,使得远程...

    Ubuntu下nfs服务器的搭建.

    在Ubuntu主机上,需要安装NFS服务和portmap服务。portmap是一个进程,负责地址转换,它将远程过程调用(RPC)的程序号映射到对应的TCP/UDP端口号。安装命令如下: 1. sudo apt-get install nfs-kernel-server 2. ...

Global site tag (gtag.js) - Google Analytics