注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

有情况

学会慢生活,拥有平常心……

 
 
 

日志

 
 

NFS搭建,固定端口及防火墙配置  

2011-11-17 18:41:07|  分类: 操作系统 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

NFS说明
=======
NFS是Net File System的简写,即网络文件系统.
NFS允许一个系统在网络上与它人共享目录和文件。通过使用NFS,用户和程序可以象访问本地文件一样访问远端系统上的文件。


使用NFS的原因
=============
由于要在公司内部配置YUM,而且准备用Apache发布,能通过Http访问。A服务器上有http服务,但是空间不足。B服务器上有足够空间。A、B均为Linux
所以准备通过NFS,将B上的/yum挂载到A的/mnt/yum中。
假设A IP:192.168.0.100
假设B IP:192.168.0.200


NFS使用概括
===========
服务器端要求: //在上面的例子中B为服务器端
portmap 启动 # service portmap start
nfs 启动 # service nfs start

客户端要求: //在上面的例子中A为服务器端
portmap 启动 # service portmap start

在A上执行挂载命令:
# mount -t nfs 192.168.0.200:/yum /mnt/yum (注意主机后的冒号)
   

具体NFS Server 配置
===================
1.安装软件
包含的软件包:
NFS需要5个RPM,分别是:
setup-*:    共享NFS目录在/etc/exports中定义
initscripts-*: 包括引导过程中装载网络目录的基本脚本
nfs-utils-*:  包括基本的NFS命令与监控程序
portmap-*:   支持安全NFS RPC服务的连接
quota-*:    网络上共享的目录配额,包括rpc.rquotad (这个包不是必须的)
//检查系统是否安装好所需的套件
# rpm -qa | nfs
# rpm -qa | portmap
//启动nfs服务前必须启动portmap服务
nfs-utils包括rpc.nfsd和rpc.mountd
如果以上软件都安装了,下面就可以开始配置了.

2.Server 端配置

NFS 启动需要的服务:
rpc.nfsd: 管理Client是否能够登陆主机的权限,还包括登陆者的ID判别
rpc.mountd:管理NFS的文件系统,当client端通过rpc.nfsd登陆主机后
rpc.rquotad:磁盘配额管理

# vi /etc/exports

//编辑此文件增加NFS的共享内容,如果没有该文件则增加.
exports主要参数:
rw:可读写权限
ro:只读权限
no_root_squash:对于登陆NFS主机的共享目录用户如果是root的话则对该目录具有root权限。这样做极
不安全,建议不用为好!
root_squash:对于登陆NFS主机的共享目录用户使用者如果是root则它的权限将被压缩成匿名使用者,同
时它的UID和GID都会变成nobody那个系统账号的身份。
all_squash:不管登陆NFS主机用户身份如何,它的身份都会被压缩成匿名使用者,通常就是nobody
anonuid:anonuid=xxx,制定NFS服务器/etc/passwd中匿名用户的UID
anongid:anonuid=xxx,制定NFS服务器/etc/passwd中匿名用户的GID
sync:数据在请求时写入共享
async:NFS在写入数据前可响应请求
secure:NFS通过1024以下的安全端口发送
insecure:NFS通过1024以上端口发送
hide:不共享NFS目录的子目录
no_hide:共享NFS目录的子目录

设置实例:
/home/public 192.168.0.*(rw)   *(ro)
//允许192.168.0网段用户对/home/public有读写权限,其他用户只读权限

/home/test  192.168.0.100(rw)
//允许IP为192.168.0.100的用户访问/home/test,并且有读写权限

/home/linux  *.linux.org(rw,all_squash,anonuid=40,anongid=40)
//只要是linux.org域用户都可以访问,而且是读写权限,不管你是哪个用户你的身份都被改成:UID=40
这个账号名称

/tmp     *(rw,no_root_squash)
//允许所有用户对tmp有可读写权限,如果是root则对该目录有root权限

启动服务:
#service portmap start
#service nfs start

3.Client设置
--启动portmap服务
#service portmap start

--在client上挂载NFS 共享目录
#mount -t nfs 172.17.196.10:/home/test /mnt/share

//把nfs上的共享目录/home/test挂载到本机的/mnt/share下(/mnt/share目录必须首先创建)
连接成功后nfs的test目录就mount到本机share上了.

4.调试监控
察看NFS 运行状态:
#nfsstat
察看RPC运行信息:
#rpcinfo -p IP
#rpcinfo -u hostname

exportfs [-aruv]
-a:全部挂载(或卸载) /etc/exports文件设定
-r:重新挂载 /etc/exports设定,也可以同步更新/etc/exports设定
-u:卸载某一目录
-v:在export时,将共享目录显示在屏幕上

在NFS Server上重新挂载exports内容(一般用在及时更改过exports但又不想重新启动机器的时候)
#exportfs -rv

卸载全部mount 目录 exportfs -au,这样在NFS Client上将看不到原来mount的目录
# exportfs -au

在NFS Server上显示已经mount上本机NFS目录的Client机器。
# showmount -a
All mount points on test:
172.17.196.11:/share

显示被mount出来的目录
# showmount -e 172.17.196.10
Export list for 172.17.196.10:
/share 172.17.196.11

5.会发生的问题
//使用者权限不符:
# mount -t nfs 172.17.196.10:/home/test /mnt/share
mount: 172.17.196.10:/home/test failed, reason given by server: Permission denied

//portmap服务未启动
# mount -t nfs localhost:/home/test /home/nfs
mount: RPC: Port mapper failure - RPC: Unable to receive
或mount: RPC: Program not registered

注意:
1. 如果有客户端连接,nfs服务器是不能关机的。想要解决这个问题。要在关机之前先关闭portmap服务及nfs服务。
2. 在ubuntu机器上挂载nfs前,必须先安装:apt-get install nfs-common,不然无法mount nfs



NFS服务 固定端口及防火墙配置

1.在LINUX上正常安装NFS服务
2.修改/etc/service,添加以下内容(端口号必须在1024以下,且未被占用)

    # Local services

    mountd 1011/tcp #rpc.mountd

    mountd 1011/udp #rpc.mountd

    rquotad 1012/tcp #rpc.rquotad

    rquotad 1012/udp #rpc.rquotad

3.重起nfs服务

  service nfs restart

4.此时rpc相关端口已经被固定,可以添加防火墙规则

#portmap

/sbin/iptables -A INPUT -s 192.168.1.0/24 -p tcp --dport 111 -j ACCEPT

/sbin/iptables -A INPUT -s 192.168.1.0/24 -p udp --dport 111 -j ACCEPT

#nfsd

/sbin/iptables -A INPUT -s 192.168.1.0/24 -p tcp --dport 2049 -j ACCEPT

/sbin/iptables -A INPUT -s 192.168.1.0/24 -p udp --dport 2049 -j ACCEPT

#mountd

/sbin/iptables -A INPUT -s 192.168.1.0/24 -p tcp --dport 1011 -j ACCEPT

/sbin/iptables -A INPUT -s 192.168.1.0/24 -p udp --dport 1011 -j ACCEPT

#rquotad

/sbin/iptables -A INPUT -s 192.168.1.0/24 -p tcp --dport 1012 -j ACCEPT

/sbin/iptables -A INPUT -s 192.168.1.0/24 -p udp --dport 1012 -j ACCEPT

#rpc.statd

/sbin/iptables -A INPUT -s 192.168.1.0/24 -p tcp --dport 32768 -j ACCEPT

/sbin/iptables -A INPUT -s 192.168.1.0/24 -p udp --dport 32768 -j ACCEPT


  评论这张
 
阅读(793)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2016