linux开启防火墙挂载nfs
2015-12-14 13:54
549 查看
一、配置nfs需要安装的软件包:
nfs-utils-lib-1.0.8-7.9.el5
nfs-utils-1.0.9-60.el5
nfs-utils-lib-devel-1.0.8-7.9.el5
portmap-4.0-65.2.2.1(或者是CentOS6.X之后的rpcbind-0.2.0-11.el6.x86_64都可以)
(安装的时候可以用yum库来安装,会智能安装所需的依赖包)
二、配置nfs共享文件:
1、开启portmap服务:service portmap start;
2、修改配置文件/etc/sysconfig/nfs:删除MOUNTD_PORT=892前面的#号,也可以修改成其余没有被占用的端口号
3、添加需要的共享文件/etc/exports:
例如:/first *(rw,sync,no_root_squash)
vim /etc/exports
在exports文件中添加
/sharedisk 192.168.0.0/24(rw,no_root_squash,async) *(ro)
/testdisk *(ro)
第一行表示所有192.168.0.0网段的都可以以root身份读写该目录下的文件,其他用户或者主机只有读的权限。
第二行则表示任意主机或者用户都只有的读取的权限
(修改完这个文件后可以立即更新到系统内核,一种方式是重启服务,但是还可以通过执行这个命令来实现:exportfs -arv)
#表示将/sharedisk这个目录共享给192.168.0.*这些客户机,括号中的参数设置意义为:
ro 该主机对该共享目录有只读权限
rw 该主机对该共享目录有读写权限
root_squash 客户机用root用户访问该共享文件夹时,将root用户映射成匿名用户
no_root_squash 客户机用root访问该共享文件夹时,不映射root用户
all_squash 客户机上的任何用户访问该共享目录时都映射成匿名用户
anonuid 将客户机上的用户映射成指定的本地用户ID的用户
anongid 将客户机上的用户映射成属于指定的本地用户组ID
sync 资料同步写入到内存与硬盘中
async 资料会先暂存于内存中,而非直接写入硬盘
insecure 允许从这台机器过来的非授权访问
4、启动portmap(CentOS5.X之前)或者rpcbind(CentOS 6.X之后)
5、启动nfs服务:service nfs start;
6、命令查看nfs使用的端口:netstat -nultp
portmap(111端口),nfs(2049端口),nfs挂载端口(892端口),其中111和892是tcp,udp都用。
7、添加防火墙策略(记得先查看默认策略):
iptables -I INPUT -p tcp -m multiport --dports 111,892,2049 -j ACCEPT
iptables -I INPUT -p udp -m multiport --dports 111,892 -j ACCEPT
(当然,防火墙出口也需要添加这些策略)
三、客户端挂在nfs共享:
1、查看服务器共享目录:showmount -e 服务器ip;
2、挂载服务器共享目录:mount -t nfs server-ip:/first 本地目录
四、相关问题以及解决方案:
1、NFS服务启动失败:
Starting NFS quotas: Cannot register service: RPC: Unable to receive; errno = Connection refused
rpc.rquotad: unable to register (RQUOTAPROG, RQUOTAVERS, udp).[FAILED]
解决方法:没有启动portmap,将portmap启动即可。
2、客户端showmount报错:
mount clntudp_create: RPC: Port mapper failure - RPC: Unable to receive
解决方法:没有打开配置文件中的892端口或者是防火墙禁止了tcp协议的892端口,修改配置文件,启用892端口并且防火墙允许tcp端口892通过。
3、可以showmount看到共享,可是mount的时候报错:
mount: mount to NFS server 'server-ip' failed: timed out (retrying).
解决方法:没有将892或者111端口的udp协议允许。添加iptables策略允许相应端口通过。
4、可以showmount看到共享,可是mount的时候报错:
mount: mount to NFS server 'server-ip' failed: System Error: Connection refused.
解决方法:没有允许tcp协议2094或者111端口通过,添加iptables策略允许响应端口通过。
nfs-utils-lib-1.0.8-7.9.el5
nfs-utils-1.0.9-60.el5
nfs-utils-lib-devel-1.0.8-7.9.el5
portmap-4.0-65.2.2.1(或者是CentOS6.X之后的rpcbind-0.2.0-11.el6.x86_64都可以)
(安装的时候可以用yum库来安装,会智能安装所需的依赖包)
二、配置nfs共享文件:
1、开启portmap服务:service portmap start;
2、修改配置文件/etc/sysconfig/nfs:删除MOUNTD_PORT=892前面的#号,也可以修改成其余没有被占用的端口号
3、添加需要的共享文件/etc/exports:
例如:/first *(rw,sync,no_root_squash)
vim /etc/exports
在exports文件中添加
/sharedisk 192.168.0.0/24(rw,no_root_squash,async) *(ro)
/testdisk *(ro)
第一行表示所有192.168.0.0网段的都可以以root身份读写该目录下的文件,其他用户或者主机只有读的权限。
第二行则表示任意主机或者用户都只有的读取的权限
(修改完这个文件后可以立即更新到系统内核,一种方式是重启服务,但是还可以通过执行这个命令来实现:exportfs -arv)
#表示将/sharedisk这个目录共享给192.168.0.*这些客户机,括号中的参数设置意义为:
ro 该主机对该共享目录有只读权限
rw 该主机对该共享目录有读写权限
root_squash 客户机用root用户访问该共享文件夹时,将root用户映射成匿名用户
no_root_squash 客户机用root访问该共享文件夹时,不映射root用户
all_squash 客户机上的任何用户访问该共享目录时都映射成匿名用户
anonuid 将客户机上的用户映射成指定的本地用户ID的用户
anongid 将客户机上的用户映射成属于指定的本地用户组ID
sync 资料同步写入到内存与硬盘中
async 资料会先暂存于内存中,而非直接写入硬盘
insecure 允许从这台机器过来的非授权访问
4、启动portmap(CentOS5.X之前)或者rpcbind(CentOS 6.X之后)
5、启动nfs服务:service nfs start;
6、命令查看nfs使用的端口:netstat -nultp
portmap(111端口),nfs(2049端口),nfs挂载端口(892端口),其中111和892是tcp,udp都用。
7、添加防火墙策略(记得先查看默认策略):
iptables -I INPUT -p tcp -m multiport --dports 111,892,2049 -j ACCEPT
iptables -I INPUT -p udp -m multiport --dports 111,892 -j ACCEPT
(当然,防火墙出口也需要添加这些策略)
三、客户端挂在nfs共享:
1、查看服务器共享目录:showmount -e 服务器ip;
2、挂载服务器共享目录:mount -t nfs server-ip:/first 本地目录
四、相关问题以及解决方案:
1、NFS服务启动失败:
Starting NFS quotas: Cannot register service: RPC: Unable to receive; errno = Connection refused
rpc.rquotad: unable to register (RQUOTAPROG, RQUOTAVERS, udp).[FAILED]
解决方法:没有启动portmap,将portmap启动即可。
2、客户端showmount报错:
mount clntudp_create: RPC: Port mapper failure - RPC: Unable to receive
解决方法:没有打开配置文件中的892端口或者是防火墙禁止了tcp协议的892端口,修改配置文件,启用892端口并且防火墙允许tcp端口892通过。
3、可以showmount看到共享,可是mount的时候报错:
mount: mount to NFS server 'server-ip' failed: timed out (retrying).
解决方法:没有将892或者111端口的udp协议允许。添加iptables策略允许相应端口通过。
4、可以showmount看到共享,可是mount的时候报错:
mount: mount to NFS server 'server-ip' failed: System Error: Connection refused.
解决方法:没有允许tcp协议2094或者111端口通过,添加iptables策略允许响应端口通过。
相关文章推荐
- Linux下主机充当防火墙的巧妙应用之iptables
- iptables做策略屏蔽QQ与MSN
- Nginx+iptables屏蔽访问Web页面过于频繁的IP(防DDOS,恶意访问,采集器)
- Shell脚本实现监控iptables规则是否被修改
- 修改iptables防火墙规则解决vsftp登录后不显示文件目录的问题
- 一键配置CentOS iptables防火墙的Shell脚本分享
- linux增加iptables防火墙规则的示例
- Linux防火墙iptables入门教程
- linux服务器下通过iptables+Denyhost抵御暴力破解的配置方法
- CentOS最严格iptables规则
- 簡單認識 snort rules 條件格式 IDS
- 簡單使用 psad 端口功擊偵測系統 iptables snort
- 簡單設定 kernel 選項在使用 iptables 前
- iptables之SNAT和DNAT
- Debian系统关闭iptables的conntrack跟踪
- iptables简易脚本
- iptables的详细介绍和部分设置
- 如何用iptables限制BT、电驴等网络流量
- iptables下udp穿越实用篇----iptables与natcheck
- 红旗Linux上的iptables使用简介(一)