1、NFS简介
(1)什么是NFS?
1)NFS是Net File System的简写,即网络文件系统。NFS是由SUN公司开发,并于1984年推出的一个RPC(远程过程调用)服务系统,它使我们能够达到文件的共享,在不同的系统间使用,所以它与通信协议、主机及操作系统无关。当用户想使用远程文件时只要用“mount”命令就可把远程文件系统挂接在自己的文件系统之下,使远程的文件与使用本地计算机上的文件一样。
例如在计算机A上,要把计算机B上的/usr/man挂接到A的/usr/man只需执行如下命令即可:mount B:/usr/man A:/usr/man
2)用户不但可以mount(挂接)目录,而且可以挂接一个文件。在挂接之后用户只能对文件做读取(或者写入)的操作,而不能在远程计算机上把此文件或目录移动或删除。
3)NFS至少有两个主要部分:一台服务器和一台(或者更多)客户机。客户机远程访问存放在服务器上的数据。一台计算机也可同时作为NFS服务器和NFS客户机。
(2)NFS有什么作用?
1)本地工作站使用更少的磁盘空间,因为通常的数据可以存放在一台机器上而且可以通过网络访问到。
2)用户不必在每个网络上机器里头都有一个home目录。Home目录可以被放在NFS服务器上并且在网络上处处可用。
3)诸如软驱和CDROM之类的存储设备可以在网络上面被别的机器使用。这可以减少整个网络上的可移动介质设备的数量。
2、实验要求
(1)在内网中搭建一个NFS服务器
(2)创建两个共享文件夹/tmp/nfs-test1, /tmp/nfs-test2,给予所有用户写的权限
(3)在/tmp/nfs-test1创建文件a1.txt, 在/tmp/nfs-test2创建文件b1.txt
(4)使两台客服机均能访问nfs-test1,而nfs-test2只有192.168.0.9的客服机才能访问
3、实验拓扑
4、实验步骤
(1)搭建好基础网络(均为NAT)
(2)在192.168.0.99上
1)安装NFS服务(默认已安装)
2)创建共享文件夹/tmp/nfs-test1, /tmp/nfs-test2,给予所有用户写的权限,在/tmp/nfs-test1创建文件a1.txt, 在/tmp/nfs-test2创建文件b1.txt
[root@lyy 桌面]# mkdir /tmp/nfs-test1 /tmp/nfs-test2
[root@lyy 桌面]# chmod 777 /tmp/nfs-test1 /tmp/nfs-test2 //给予最高权限
[root@lyy 桌面]# touch /tmp/nfs-test1/a1.txt /tmp/nfs-test2/b1.txt
3)编辑/etc/exports文件
4)使配置文件生效
[root@lyy 桌面]# exportfs -arv
5)编辑/etc/sysconfig/nfs(该文件用以固定NFS服务端口)
[root@lyy 桌面]# gedit /etc/sysconfig/nfs
6)启动NFS
注意:启动NFS的两条命令顺序不能颠倒
7)查看nfs开启的rpc端口
[root@lyy 桌面]# rpcinfo -p | grep -E '(rquota|mount|nlock)'
8)本机测试
[root@lyy 桌面]# showmount -e localhost
9) 配置防火墙,对外开放NFS服务
[root@lyy ~]# iptables -F
[root@lyy ~]# iptables -X
[root@lyy ~]# iptables -Z
[root@lyy ~]# iptables -P INPUT DROP
[root@lyy ~]# iptables -P OUTPUT ACCEPT
[root@lyy ~]# iptables -p FORWARD DROP
[root@lyy ~]# iptables -A INPUT -i lo -j ACCEPT
[root@lyy ~]# iptables -A INPUT -p tcp --dport -j ACCEPT
[root@lyy ~]# iptables -A INPUT -p udp --dport -j ACCEPT
[root@lyy ~]# iptables -A INPUT -p tcp --dport -j ACCEPT
[root@lyy ~]# iptables -A INPUT -p udp --dport -j ACCEPT
[root@lyy ~]# iptables -A INPUT -p tcp --dport -j ACCEPT
[root@lyy ~]# iptables -A INPUT -p udp --dport -j ACCEPT
[root@lyy ~]# iptables -A INPUT -p tcp --dport 892 -j ACCEPT
[root@lyy ~]# iptables -A INPUT -p udp --dport 892 -j ACCEPT
[root@lyy ~]# iptables -A INPUT -p tcp --dport -j ACCEPT
[root@lyy ~]# iptables -A INPUT -p udp --dport -j ACCEPT
[root@lyy ~]# iptables -A INPUT -p tcp --dport -j ACCEPT
[root@lyy ~]# iptables -A INPUT -p udp --dport -j ACCEPT
当然,这样一条一条加,显得很麻烦,可以用一条规则添加多个端口,如:
iptables -A INPUT -p tcp -m multiport --doprts 111,2049,875,892,32769,32803 -j ACCEPT
iptables -A INPUT -p udp -m multiport --doprts 111,2049,875,892,32769,32803 -j ACCEPT
(3)在192.168.0.9上
1)显示NFS服务器的共享目录
注意:若显示目录失败,检查网络是否为NAT,或nfs-s的防火墙配置是否正确
2)挂载/tmp/nfs-test1和/tmp/nfs-test2
注意:若挂载时显示“mount.nfs: access denied by server while mounting···”的提示,
这是因为NFS分为三个版本,即NFS-2 NFS-3 NFS-4,该配置文件默认关闭了这三个的NFS版本,我们只需要打开NFS-4即可。
操作:在NFS服务器上修改/etc/sysconfig/nfs文件,将#RPCNFSDARGS="-N 4"的#号去掉即可
再次尝试挂载,发现能挂载成功!
3)在/mnt/nfs1中创建a2.txt,切换到NFS服务器上,进行查看
4、在192.168.0.10上进行网络挂载
发现不能挂载nfs-test2,因为在NFS服务器中未对其开放。
【版权所有,转载请注明原文出处:http://www.cnblogs.com/liaoyuanyang/p/6754643.html 】