CentOS下NFS服务器配置实例
LINUX下NFS的配置与安全设置
###############################################################################################################
一,应用环境介绍:
用途 |
操作系统 |
IP地址 |
服务器端 |
CentOS 5.2 X86_64 |
192.168.0.121 |
客户端 |
CentOS 5.2 X86_64 |
192.168.0.122 |
二,NFS相关软件的安装:
[root@youxia122 ~]# yum -y install portmap nfs*
三,服务器端配置:
1,创建共享的目录:
[root@youxia121 data]# mkidr /usr/local/data/
2,修改NFS配置文件:
[root@youxia121 data]# vi /etc/exports
/usr/local/data/ 192.168.0.122(rw,no_root_squash,no_all_squash,sync)
注:配置文件说明:
/usr/local/data/ 为共享的目录,使用绝对路径。
192.168.0.122(rw,no_root_squash,no_all_squash,sync) 为客户端的地址及权限,地址可以是一个网段,一个IP地址或者是一个域名,域名支持通配符,如:*.youxia.com,地址与权限中间没有空格,权限说明:
rw:read-write,可读写;
ro:read-only,只读;
sync:文件同时写入硬盘和内存;
async:文件暂存于内存,而不是直接写入内存;
no_root_squash:NFS客户端连接服务端时如果使用的是root的话,那么对服务端分享的目录来说,也拥有root权限。显然开启这项是不安全的。
root_squash:NFS客户端连接服务端时如果使用的是root的话,那么对服务端分享的目录来说,拥有匿名用户权限,通常他将使用nobody或nfsnobody身份;
all_squash:不论NFS客户端连接服务端时使用什么用户,对服务端分享的目录来说都是拥有匿名用户权限;
anonuid:匿名用户的UID值,通常是nobody或nfsnobody,可以在此处自行设定;
anongid:匿名用户的GID值。
NFS服务器配置:
创建一个目录用于共享,然后再用vi /etc/exports编辑文件,在里面
添加内容,格式如下:
[共享的目录] [主机名或ip(参数1,参数2)] [主机名或ip(参数1,参数2)] ...
NFS常用到的参数有:
ro 只读
rw 读写
sync 所有数据在请求时写入共享
async nfs在写入数据前可以相应的请求
secure nfs通过1024以下端口发送
insecure nfs通过1024以上端口发送
wdenlay 有多个用户写入nfs目录,则归组写入
no_wdelay 有多个用户写入nfs目录,则立即写入
hide 不共享子目录
no_hide 共享子目录
subtree_check 如果共享/usr/bin之类的子目录,强制nfs检查父目录的权限
no_subtree_check不检查父目录权限
all_squash 共享文件的uid和gid映射匿名用户anonymous,适用公用目录
no_all_squash 保留共享文件的uid和gid
root_squash root用户的所有请求映射成和anonymous用户一样的权限
no_root_squash root用户具有根目录的完全管理访问权限
anonuid=xxx 指定nfs服务器/etc/passwd文件匿名用户的uid
anongid=xxx 指定nfs服务器/etc/passwd文件匿名用户的gid
配置完成后要重启nfs服务例如:/etc/init.d/nfs restart
在linux客户机上要查看nfs资源可以用showmount -e 服务端ip地址,测试是否通讯成功
如果要用windows系统不能直接访问NFS服务器,如果要共享可以用samba服务器。
四,启动NFS服务器并进行测试:
1,启动NFS服务器:
[root@youxia121 data]# service portmap start
启动 portmap:[确定]
[root@youxia121 data]# service nfs start
启动 NFS 服务: [确定]
关掉 NFS 配额:[确定]
启动 NFS 守护进程:[确定]
启动 NFS mountd:[确定]
2,在客户端进行测试:
创建需要挂载的目录:
[root@youxia122 local]# mkdir /usr/local/data/
执行挂载命令:
[root@youxia122 local]# mount -t nfs 192.168.0.121:/usr/local/data /usr/local/data -o proto=tcp -o nolock
在客户端创建一个测试文件并进行检查:
[root@youxia122 ~]# cd /usr/local/data/
[root@youxia122 data]# echo "this is a test" >> /usr/local/data/hehehe
[root@youxia122 data]# ll -h
总计 8.0K
-rw-r--r-- 1 root root 15 02-23 16:47 hehehe
在服务器端检查:
[root@youxia121 usr]# ll -h /usr/local/data/
总计 8.0K
-rw-r--r-- 1 root root 15 02-23 16:47 heheh
五,我在配置中遇到的问题:
1,在启动NFS服务器的时候遇到的一个问题如下,原因在于NFS配置文件中地址与权限中间多了一个空格,去掉空格重新启动即可:
[root@youxia121 local]# service nfs restart
关闭 NFS mountd:[确定]
关闭 NFS 守护进程:[确定]
关闭 NFS 服务: [确定]
启动 NFS 服务: exportfs: No options for /usr/local/data/ 192.168.0.122: suggest 192.168.0.122(sync) to avoid warning
exportfs: No host name given with /usr/local/data (rw,no_root_squash,no_all_squash,sync), suggest *(rw,no_root_squash,no_all_squash,sync) to avoid warning
[确定]
关掉 NFS 配额:[确定]
启动 NFS 守护进程:[确定]
启动 NFS mountd:[确定]
2,客户端在挂载的时候遇到的一个问题如下,可能是网络不太稳定,NFS默认是用UDP协议,换成TCP协议即可:
[root@youxia122 local]# mount -t nfs 192.168.0.121:/usr/local/data /usr/local/data
mount.nfs: Input/output error
解决方法:mount -t nfs 192.168.0.121:/usr/local/data /usr/local/data -o proto=tcp -o nolock
本篇文章没有结论,只有思路。有兴趣的自己做做吧。
所有的事情都有个缘由的,这个事情我就比较烦。用来NFS,以前觉得简单,所以没有特别在意。这次想用NFS,并且打开iptables的情况下,就发现了问题。
问题描述:已经在Server端iptables上,打开portmap的端口111,后来得知NFS 4用的端口是2049,当时使用图形界面配置,所以也打开了。但是客户端就是错误。showmount -e serverIP的时候报mount clntudp_create: RPC: Port mapper failure - RPC: Unable to receive,关闭iptalbes就OK。再查,知道了。NFS和RPC的关系得知了一些NFS在2、3版本的时候的一些相关进程。(这些具体进程,可以看我的参考文档),总之,当使用3的版本时,要将相关联的端口打开。而那几个端口是随机的,如果想指定为固定端口,需要在/etc/sysconfig/nfs里面定义。而NFS 4的版本是不需要portmap的。但是需要配合krb5来做。很麻烦,都是思路。除非真的用。我是不想弄了。
写写思路就得了。
几个命令用得着:
man -k nfs
exportfs -r
nfsstat
参考文档:
1: RHEL5 Deployment_Guide.eng.pdf
2: http://slackwiki.org/NFS_and_Firewall
3: http://www.guyong.cn/blog/article.asp?id=168
4: http://wiki.linux-nfs.org/wiki/index.php/Main_Page
忍不住,还是处理了。具体操作如下:
修改/etc/sysconfig/nfs
[root@kook ~]# grep -v ^# /etc/sysconfig/nfs
LOCKD_TCPPORT=4001
LOCKD_UDPPORT=4001
MOUNTD_PORT=4002
STATD_PORT=4003
[root@kook ~]# cat /etc/sysconfig/iptables
.................
-A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 111 -j ACCEPT
-A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 2049 -j ACCEPT
-A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 4001 -j ACCEPT
-A RH-Firewall-1-INPUT -p udp -m state --state NEW -m udp --dport 4001 -j ACCEPT
-A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 4002 -j ACCEPT
-A RH-Firewall-1-INPUT -p udp -m state --state NEW -m udp --dport 4002 -j ACCEPT
-A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 4003 -j ACCEPT
-A RH-Firewall-1-INPUT -p udp -m state --state NEW -m udp --dport 4003 -j ACCEPT
.................
CentOS下NFS服务器配置实例相关推荐
- NFS笔记(二)NFS服务器配置实例
一.NFS服务器配置实例 实验拓扑 二.实验要求及环境 2.1实验环境 NFS服务器 IP:192.168.8.5 环境: [root@server7 ~]# uname -a Linux serve ...
- RHEL5下NFS服务器配置与应用
RHEL5下NFS服务器配置与应用 试验环境 1.一台安装有RHEL5的计算机: 2.系统安装盘: 试验内容 1.安装nfs软件包 2.配置nfs服务器 3.nfs服务器管理 4.客户端测试 试验步骤 ...
- CentOS下Samba服务器配置
CentOS下Samba服务器配置 感谢http://www.linuxsir.org/main/?q=node/158#4提供参考 第一节.samba是干什么的?它有什么用? Samba(SMB是其 ...
- centos下mysql多实例安装3306、3307实例(2014-10-15)
背景说明 mysql的安装方法有多种,如二进制安装.源代码编译安装.yum安装等.yum安装仅仅能安装mysql 5.1 版本号:源代码安装编译的过程比較长.若没有对源代码进行改动且要求使 ...
- Centos安装NFS服务器配置及挂载教程
为什么80%的码农都做不了架构师?>>> 一.环境介绍: 服务器:centos 192.168.1.225 客户端:centos 192.168.1.226 二.安装: NFS ...
- CentOS 6.3下NFS安装配置
CentOS 6.3下NFS安装配置 一.环境介绍 NFS服务器:CentOS6.3 192.168.8.20 NFS客户端:CentOS6.5 192.168.8.39 二.服务器端安装配置 ...
- RHEL5(CentOS)下nginx+php+mysql+tomcat+memchached配置全过程(转)
RHEL5(CentOS)下nginx+php+mysql+tomcat+memchached配置全过程 一.准备工作:SSH,telnet终端中文显示乱码解决办法vi /etc/sysconfig/ ...
- CentOS下IPTABLES配置详解
iptables是与Linux内核集成的IP信息包过滤系统,其自带防火墙功能,我们在配置完服务器的角色功能后,需要修改iptables的配置. 配置CentOS和Ubuntu等linux服务器时需要对 ...
- NFS服务器配置与管理笔记
目录 1.概述 1.1)NFS简介 1.2)NFS工作机制 2.NFS的安装与启动 3.配置NFS服务 1.概述 1.1)NFS简介 NFS是Network File System的缩写,及网络文件系 ...
最新文章
- python程序实例源代码-python下10个简单实例代码
- 【安全漏洞】ProxyShell漏洞复现详解
- 几本推荐的Java书
- ​关于深度学习、NLP和计算机视觉的30个顶级Python库
- python 爬虫可视化编程_Python爬虫爬取博客实现可视化过程解析
- md5生成一个加盐程序c语言,MD5在编程中的实现 (C语言)
- python函数和方法的编写原则_跟老齐学Python之传说中的函数编写条规
- axis2开发webservice之编写Axis2模块(Module)
- 最优化学习笔记(十八)——拟牛顿法(4)DFP算法
- 商汤使用AutoML设计Loss函数,全面超越人工设计
- 随机过程中的功率谱密度
- 制药企业核算报表系统整体方案
- 连载:面向对象的葵花宝典:思维、技能与实践(40) - DECORATOR模式
- 安卓12使用VNET免ROOT抓包微信小程序
- 2005冬季转会名单-PS
- C51 数码管的动态显示 dynamic display method of digital tube
- WSA(win11子系统)安卓应用抢先体验
- ARM Cortex-M3
- 无法下载钉钉群内回放视频?
- securefx显示linux目录,使用secureFX连接到linux上需要在linux上配置什么
热门文章
- MATLAB——如何转换pointcloud格式并读取txt文件并赋值给矩阵
- 在一个PHP中调用另一个php函数,php调用函数 php如何调用函数?
- nysit 42 欧拉通路(一笔画图)
- C++ QT QTcpSocket基操
- mac brew 测速 软件_黄哥Python: Mac 下一些免费软件
- 贵州安装杆塔倾斜在线监测装置
- 计算机英语compiler,compiler是什么意思_compiler的翻译_音标_读音_用法_例句_爱词霸在线词典...
- Gromacs统计原子间距离,生成csv格式文件
- 办公室局域网访问共享文件夹
- 办公室打印机 局域网打印教程