Chinaunix首页 | 论坛 | 博客
  • 博客访问: 6843503
  • 博文数量: 3857
  • 博客积分: 6409
  • 博客等级: 准将
  • 技术积分: 15948
  • 用 户 组: 普通用户
  • 注册时间: 2008-09-02 16:48
个人简介

迷彩 潜伏 隐蔽 伪装

文章分类

全部博文(3857)

文章存档

2017年(5)

2016年(63)

2015年(927)

2014年(677)

2013年(807)

2012年(1241)

2011年(67)

2010年(7)

2009年(36)

2008年(28)

分类: 系统运维

2015-07-28 06:51:47

CentOS的NFS

[日期:2015-07-25] 来源:Linux社区  作者:Linux [字体:  ]

NFS是古老的协议了,到了Linux不断更新和完善,从以前只支持UDP,现在支持TCP,现在到了V4版本。不过还是不安全,最大的毛病就是不需要身份认证,也只建议在内网用一下。
NFS一方是服务方,一方是客户端。
客户端使用需要启用portmap服务(service portmap start),不然不能接入,有很多文章说需要启用NFS相关的服务,其实作为客户端是不必的,portmap作为RPC接入服务就可以了。而到了CentOS6,portmap就没有了,而变成了rpcbind,默认是开启的,就不需要再麻烦处理了。
服务器端默认是安装了,但是没有启用。
无论是portmap还是rpcbind都在网络上监听UDP和TCP的111端口
NFS监听在UDP和TCP的2049端口,还有些动态的下面在细说。
它的共享目录配置文件在/etc/exports,服务配置文件在/etc/sysconfig/nfs

共享目录
/var/tmp/share 172.26.1.0/24(rw,no_all_squash)
一般就是目录位置和许可IP地址范围加(),括号里规定了读写rw还是只读ro,
是规定了服务器和客户端里Linux用户的映射关系,no_all_squash是映射用户和组的关系,但不包括root,all_squash映射到匿名组以及匿名用户,就是所谓的nfsnobody,如果客户端没有安装NFS,那么它的所有者和组就是65534,其实nfsnobody就是65534,如果启用NFS服务就会建立起组,就会自动映射出组的名字,其实最本质的就是组的以及用户的数字号码,比如root用户就是0,root组也是0。root_squash是把root映射为匿名,no_root_squash是root映射为root,还有anonuid=xxx,anongid=xxx映射为指定的用户和组,xxx就是用户和组的数字号码。
其它一些参数基本上用不上。比如:sync:将数据同步写入内存缓冲区与磁盘中,效率低,但可以保证数据的一致性;async:将数据先保存在内存缓冲区中,必要时才写入磁盘。

服务配置文件
这个文件一般是不进行配置,默认就可以了。
但是当启用了防火墙iptable就不得不配置了。
通过抓包可以看到,nfs的连接过程不仅仅需要111和2049端口,还有些动态的端口,这些动态的端口在每次重启动nfs服务都会变化,iptable防火墙看可没有那么智能可以动态的打开端口,这时候就需要固化监听的端口了。
编辑/etc/sysconfig/nfs文件
RQUOTAD_PORT=875
LOCKD_TCPPORT=32803
LOCKD_UDPPORT=32769
MOUNTD_PORT=892
我没改端口号,就是把#去掉了。
重启服务
netstat -lpn | grep -v unix
tcp    0    0.0.0.0:892                0.0.0.0:*                  LISTEN      3959/rpc.mountd
tcp    0    0.0.0.0:875                0.0.0.0:*                  LISTEN      3954/rpc.rquotad
tcp    0    0 0.0.0.0:32803              0.0.0.0:*                  LISTEN      -
udp  0    0 0.0.0.0:32769              0.0.0.0:*                              -
然后当然是配置防火墙,把这些端口加上了。
cat /etc/sysconfig/iptables
-A INPUT -p udp -m udp --dport 111 -j ACCEPT
-A INPUT -p udp -m udp --dport 32769 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 32803 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 892 -j ACCEPT
-A INPUT -p udp -m udp --dport 892 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 875 -j ACCEPT
-A INPUT -p udp -m udp --dport 875 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 2049 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 111 -j ACCEPT

服务器端
查看状态命令
nfsstat
查看配置
exportfs
查看RPC情况
rpcinfo -p
查看目前已经连进本机的情况
showmount -a

客户端
临时建立命令
mount 172.26.1.73:/var/tmp/share /home/shenxu/source
172.26.1.73服务器IP
/var/tmp/share服务器共享的目录
/home/shenxu/source映射到本地的目录
长期建立映射,编辑/etc/fstab,添加下面一行
172.26.1.73:/var/tmp/share /home/shenxu/source  nfs    defaults 0 0

另外有些时候用showmount -a能看到根本没有的连接,是以前连接的痕迹,重启也还有。虽然没啥影响,但是我们追求完美,Linux基本上都是以文件形式存在的,那么这个重启以后还有,肯定是存在硬盘上的某个文件,它就是/var/lib/nfs/rmtab,清空需要清的项目就好。

--------------------------------------分割线 --------------------------------------

Ubuntu 12.04安装NFS server 

NFS服务器安装配置实现Ubuntu 12.04与ARM文件共享 

Ubuntu搭建nfs服务器 

文件服务器NFS配置详解 

Ubuntu下搭建NFS网络文件系统服务器 

Heartbeat_ldirector+LB+NFS实现HA及LB、文件共享 

CentOS 5.5配置NFS服务器教程 

Ubuntu 12.10下NFS的安装使用 

--------------------------------------分割线 --------------------------------------

更多CentOS相关信息见CentOS 专题页面 

本文永久更新链接地址

阅读(824) | 评论(0) | 转发(0) |
0

上一篇:CentOS 7安装Nginx

下一篇:Java 内存区域详解

给主人留下些什么吧!~~