Linux系统下安装nfs并配置iptables

服务端安装

系统环境(Centos6.x)
nfs服务器IP:192.168.137.10
nfs客户端IP:192.168.137.11

1. 安装NFS

yum install -y nfs-utils
vim /etc/exports   ##nfs配置文件,写入如下信息
/home/ 192.168.137.0/24(rw,sync,all_squash,anonuid=501,anongid=501)

注:如上信息分为三部分,第一部分就是本地要共享出去的目录,第二部分为允许访问的主机(可以是一个IP也可以是一个IP段)第三部分就是小括号里面的,为一些权限选项。它表示:共享的目录为/home,信任的主机为192.168.137.0/24这个网段,权限为读写,同步,限定所有使用者,并且限定的uid和gid都为501。

2. NFS相关配置选项

未分类

3. 启动服务

service rpcbind start
service nfs start             ##成功启动的条件是防火墙没有做设置或者未开启。

客户端挂载NFS

yum install -y nfs-utils
#查看服务器端都共享了哪些目录 
showmount -e 192.168.137.10
/home 192.168.137.0/24(rw,sync,all_squash,anonuid=501,anongid=501)
#挂载
mount -t nfs -o nolock 192.168.137.10:/home /mnt
#查看挂载的情况
df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda3        28G  1.5G   25G   6% /
tmpfs           1.9G     0  1.9G   0% /dev/shm
/dev/sda1       194M   27M  158M  15% /boot
/home           480G   10G  470G  47% /mnt

iptables设置

以上nfs服务端和客户端能正常使用的前提是系统没设置防火墙,或者未开启iptables.
实际在生产环境下,为了系统和业务的安全性我们都有设置防火墙。那么需要添加iptables的端口。

vim /etc/sysconfig/nfs        #指定以下的端口号

RQUOTAD_PORT=10001
LOCKD_TCPPORT=10002
LOCKD_UDPPORT=10003
MOUNTD_PORT=10004
STATD_PORT=10005

查看当前这5个服务的端口并记录下来:

rpcinfo -p    #nfs  2049, portmapper  111, 将剩下的三个服务的端口随便选择一个记录下来

添加iptables设置:

iptables -A INPUT -p tcp --dport 111 -j ACCEPT
iptables -A INPUT -p udp --dport 111 -j ACCEPT
iptables -A INPUT -p tcp --dport 2049 -j ACCEPT
iptables -A INPUT -p udp --dport 2049 -j ACCEPT
iptables -A INPUT -p tcp --dport 10001:10005 -j ACCEPT
iptables -A INPUT -p udp --dport 10001:10005 -j ACCEPT
service iptables save
service iptables restart

重启服务:

service rpcbind restart
service nfs restart