NFS服务器安装与配置TCP固定端口

Published on 2015 - 12 - 18

服务器

yum -y install nfs-utils rpcbind
mkdir /nfs
vi /etc/exports
/nfs/ 192.168.1.1(rw,no_root_squash,no_all_squash,sync)
exportfs -r

注:配置文件说明:

为共享的目录,使用绝对路径。

192.168.1.1(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值。

启动

service rpcbind start
service nfs start

配置端口固定

vi /etc/sysconfig/nfs
RQUOTAD_PORT=30001
LOCKD_TCPPORT=30002
LOCKD_UDPPORT=30002
MOUNTD_PORT=30003
STATD_PORT=30004

service nfs restart

配置防火墙

-A INPUT -m state --state NEW -m tcp -p tcp --dport 111 -j ACCEPT
-A INPUT -m state --state NEW -m udp -p udp --dport 111 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 2049 -j ACCEPT
-A INPUT -m state --state NEW -m udp -p udp --dport 2049 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 30001:30004 -j ACCEPT
-A INPUT -m state --state NEW -m udp -p udp --dport 30001:30004 -j ACCEPT

客户端

创建挂载目录

mkdir /nfs
showmount -e 192.168.1.100

挂载

mount -t nfs 192.168.1.225:/nfs /usr/nfs
mount

解除挂载

umount /nfs

如果遇到

umount.nfs: /nfs: device is busy

执行

fuser -m -v /nfs

kill 掉应用程序
再次执行umount

挂载为TCP

mount -t nfs 192.168.1.100:/nfs /nfs -o proto=tcp -o nolock

设置TCP防火墙

-A INPUT -m state --state NEW -m tcp -p tcp --dport 111 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 2049 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 1011 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 1012 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 32768 -j ACCEPT