假想环境
10.0.0.1 - NFS Server
10.0.0.2 - NFS Client
1)在NFS Server上:
[code]# vi /etc/exports
添加一行:
/var/nfs 10.0.0.2(rw,async,anonuid=65534,anongid=65534)
# mkdir -p /var/nfs
# chown nfsnobody:nfsnobody /var/nfs
# chown -R nfsnobody:nfsnobody /var/nfs/.
# service portmap start
# service nfslock start
# service nfs start[/code]
2)在NFS Client上:
[code]# service portmap start
# chown nfsnobody:nfsnobody xxx/xxx/bbs/attachments
# chmod 777 xxx/xxx/bbs/attachments
# mount -t nfs -o soft,intr,bg,timeo=50 10.0.0.1:/var/nfs /xxx/xxx/bbs/attachments
# vi /etc/fstab
加入一行:
10.0.0.1:/var/nfs /xxx/xxx/bbs/attachments nfs soft,intr,bg,timeo=50 0 0[/code]
说明 & 注意
exports参数说明
rw: 读写模式;
async: 异步磁盘读写;
anonu(g)id: 指定NFS在进行操作时所使用的匿名用户uid/gid
NFS 管理命令
showmount -e 在NFS Server上执行此命令显示NFS Server上所有的共享卷;
showmount -e 10.0.0.1 在NFS Client上执行此命令显示NFS Server上所有共享卷;
export -av 根据/etc/exports导出所有卷;
export -rv 重新导出所有卷,增加/etc/exports中的新项目、删除不存在的项目、更新改变的项目;
NFS 相关文件
/etc/exports
是NFS Server最基本的配置文件之一,文件中列出了共享的文件系统和允许访问这些文件系统的主机。
/proc/fs/nfs/exports
导出文件列表的内核视图,包括导出的参数。
/var/lib/nfs/etab
状态文件,其中列出了当前的高级列表。此文件包含了/etc/exports中相同格式的所有项目,同时包含了由exportfs -i手工导入的项目。
/var/lib/nfs/rmtab
状态文件,列出了挂接导出文件的远程客户机清单。
/var/lib/nfs/xtab
状态文件,当前底层导出清单。
/etc/exports 中client的书写规则
(1) 单个主机
可以用短名及完全限定名,或者用IP地址,例如student01、student01.flying.com.cn或者192.168.10.1都是合法的主机名。
(2) Net-Group
可以列出/etc/netgroup文件中或NFS网组映射中定义的整组主机。网组名以@开头。
(3) 通配符主机
.discuz.net *.*.comsenz.com
(4) 掩码
192.168.1.0/255.255.255.0
起停顺序
启动:
portmap
nfslock
nfs
停止:
nfslock
nfs
portmap
安全性
portmap: 111 NFS: 2049
防止使用IP欺骗和RPC重定向技术通过lo回环进行攻击以及限定授权主机:
[code]iptables -A INPUT -p udp -d 127.0.0.1 --dport 111 -j DROP
iptables -A INPUT -p udp -d 127.0.0.1 --dport 2049 -j DROP
iptables -A INPUT -p udp -s 10.0.0.2 --dport 111 -j ACCEPT
iptables -A INPUT -p udp -s 10.0.0.2 --dport 2049 -j ACCEPT[/code]