Ubuntu的使用已经渐渐为人们所注意。那么对于一些网络方面的设置,我们还是来了解一下。首先我们这里讲解的主要是Ubuntu的NFS服务器设置内容。看看具体的操作有哪些吧。

涉及文件

portmap hosts.deny  hosts.allow

涉及操作(按顺序如下)

./etc/init.d/portmap  restart
./etc/init.d/nfs-common restart
./etc/init.d/nfs-kernel-server restart

安装 server 和 client

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

$ sudo apt-get install nfs-kernel-server

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

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

同样地,目标系统作为NFS的客户端,需要安装NFS客户端程序.如果是Debian/Ubuntu系统,则需要安装nfs-common.

$ sudo apt-get install nfs-commmon
nfs-common和nfs-kernel-server都依赖于portmap!

这样就安装完了,下面进行配置


配置 NFS


配置portmap

方法1: 编辑/etc/default/portmap, 将 最后一行注释掉.

方法2: $ sudo dpkg-reconfigure portmap , 对Should portmap be bound to the loopback address? 选N.

配置/etc/hosts.deny

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

### NFS DAEMONS
portmap:ALL
lockd:ALL
mountd:ALL
rquotad:ALL
statd:ALL

配 置/etc/hosts.allow

允许那些你想要的主机和你的NFS服务器建立连接.下列步骤将允许任何IP地址以192.168.197开头的主机(连 接到NFS服务器上),也可以指定特定的IP地址.参看man页 hosts_access(5), hosts_options(5).加入:

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

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


配置/etc/exports

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

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

/home/liliming/arm2410     192.168.197.*(rw,sync,no_root_squash)

或者: /home/liliming/arm2410     192.168.197.0/24(rw,sync,no_root_squash)

注意这里,这样写有可能你的NFS还不能用,你可以允许所有IP共享你的目录,语句如下:

/home/liliming/arm2410    *(rw,sync,no_root_squash)

至此配置完成,下面启动NFS

启动NFS

sudo  ./etc/init.d/portmap  restart
sudo  ./etc/init.d/nfs-common restart
sudo  ./etc/init.d/nfs-kernel-server restart

测试 NFS

Ubuntu 下

sudo mount  localhost:/home/liliming/arm2410  /mnt
ls /mnt

看是否已经挂载成功

开发板 下

mount  192.168.197.75:/home/liliming/arm2410  /mnt
ls /mnt

看是否已经挂载成功(192.168.197.75 是Ubuntu的IP 地址)

可能出现的错误:

1. 挂载不成功,具体提示信息不记得了,可以这样试试

配置/etc/exports

/home/liliming/arm2410     *(rw,sync,no_root_squash)

也就是允许所有的IP 访问

2. 提示 mount rpc unable to receive errno connection refused

说明你的服务器端(Ubuntu )服务没设定好,原因可能如下:

a. NFS 没启动,按照上面的启动步骤 再重新启动一下

b. 看一下 文件 /etc/exports 和文件  /etc/hosts.allow 里面的IP 是不是 包含 你的开发板 IP,

不包含的话,把你的网段写上,重新启动 NFS