1.配置文件/etc/exports文件的格式
<输出目录> [客户端1 (选项1,选项2,···)] [客户端2 (选项1,选项2,···)]
eg:#vi /etc/exports
/nfs/public 192.168.16.0/24(rw,async) *(ro)
/nfs/liu 192.168.16.20(rw,sync) *(ro,no_root_squash)
注:目录是必须的,其他可选,输出目录和客户端之间、客户端和客户端之间都使用空格分隔,但客户端和选项之间不能有空格
选项说明
2.1、访问权限选项
ro:设置输出目录只读
rw:设置输出目录可读写
2.2、用户映射选项
all_squash:将远程访问的普遍用户和所属组都映射为匿名用户或组(一般为nfsnobody)
no_all_squash:不将远程访问的普遍用户和所属组都映射为匿名用户或组(默认设置)
root_squash:将root用户及所属组都映射为匿名用户或组(默认设置)
no_root_squash:不将root用户及所属组都映射为匿名用户或组
anonuid=xxx:将远程访问的所有用户都映射为匿名用户,并指定匿名用户为本地用户(uid=xxx)
anongid=xxx:将远程访问的所有用户组都映射为匿名用户,并指定匿名用户组为本地用户组(gid=xxx)
2.3、其他选项
secure:限制客户端只能从小于1024的TCP/IP端口连接NFS服务器www.linuxidc.com(默认设置)
insecure:运行客户端从大于1024的TCP/IP端口连接NFS服务器
sync:将数据同步写入内存缓存区和磁盘中,效率较低但可以保证数据的一致行
async:将数据同步写入内存缓存区,必要时才写入磁盘
wdelay:检查是否有相关的写操作,如有则将这些写操作一并执行,可提高效率(默认设置)
no_wdelay:若有写操作则立即执行,应与sync配合使用
subtree_check:若输出目录是一个子目录,则NFS服务器将检查其父目录的权限(默认设置)
no_subtree_check:即使目录是一个子目录,NFS服务器也不检查其父目录的权限,可提供效率
维护NFS服务的输出目录列表(命令:exportfs)
#exportfs [选项]
-a:输出/etc/exports文件中说设置的所有目录
-r:重新读取/etc/exports文件中的设置,并使设置立即生效
-u:停止输出某一项目
-v:在输出目录时将目录显示到屏幕上
4、启动nfs服务
rpc.nfsd:主进程 port,2049
rpc.mountd:使用权限,port 随机,编辑/etc/sysconfig/nfs中相关选项,可固定端口
rpc.locked:锁定文件,防止多个客户端同时写入文件造成问题,非必要进程
portmap:进行端口映射工作,它对NFS服务是必不可少,port,111
rpc.rquotad,rpc.statd:文件一致性检查,非必要进程
#/etc/init.d/portmap start & stop
#/etc/init.d/nfs start & stop
#/etc/init.d/nfslock start & stop
查看NFS服务器的输出目录状态(showmount)
#showmount –e
-a:显示所有客户端主机及其所连接的目录
-d:显示已被客户端连接的所有输出目录
-e:显示所有输出的共享目录
客户端挂载NFS系统
#mount –t nfs 192.168.1.1:/cds /cds
#showmount –e 192.168.1.1
固定端口,NFS 穿过iptables
7.1 修改 /etc/sysconfig/nfs文件
[root@orderserver ~]#vi /etc/sysconfig/nfs
MOUNTD_PORT="4001"
STATD_PORT="4002"
LOCKD_TCPPORT="4003"
LOCKD_UDPPORT="4003"
7.2.添加防火墙策略
[root@orderserver ~]#iptables –A INPUT –i lo –j ACCEPT
[root@orderserver ~]#iptables –A INPUT –m state –state ESTABLISHED,RELATED –j ACCEPt
[root@orderserver ~]#iptables -A INPUT –p tcp –dport 111 –s 192.168.16.0/24 -j ACCEPT
[root@orderserver ~]#iptables -A INPUT –p udp –dport 111 –s 192.168.16.0/24 -j ACCEPT
[root@orderserver ~]#iptables -A INPUT –p tcp –dport 2049 –s 192.168.16.0/24 -j ACCEPT
[root@orderserver ~]#iptables -A INPUT –p udp –dport 2049 –s 192.168.16.0/24 -j ACCEPT
[root@orderserver ~]#iptables -A INPUT –p tcp –dport 4001:4003 –s 192.168.16.0/24 -j ACCEPT
[root@orderserver ~]#iptables -A INPUT –p udp –dport 4001:4003 –s 192.168.16.0/24 -j ACCEPT
[root@orderserver ~]#service iptables save
7.3. restart