系统环境:
SLES 11 SP4
NFS Server IP:192.168.74.141
NFS Client IP: 192.168.74.142
SLES环境下NFS套件是缺省安装的,可以使用zypper se nfs来确认一下.
#service nfsserver start #启动NFS服务器服务 #vi /etc/exports #添加以下内容 /tmp 192.168.74.142(rw,no_root_squash,no_all_squash,sync,anonuid=501,anongid=501) #exportfs -rv #导出NFS #showmount -e #服务器上确认导出NFS状态正常
接下来配置NFS Server上的防火墙(这部分是重点)
## rpcinfo -p program vers proto port service 100000 4 tcp 111 portmapper 100000 3 tcp 111 portmapper 100000 2 tcp 111 portmapper 100000 4 udp 111 portmapper 100000 3 udp 111 portmapper 100000 2 udp 111 portmapper 100005 1 udp 53075 mountd 100005 1 tcp 42607 mountd 100005 2 udp 49948 mountd 100005 2 tcp 48332 mountd 100005 3 udp 53662 mountd 100005 3 tcp 60244 mountd 100024 1 udp 57614 status 100024 1 tcp 45583 status 100003 2 tcp 2049 nfs 100003 3 tcp 2049 nfs 100003 4 tcp 2049 nfs 100227 2 tcp 2049 nfs_acl 100227 3 tcp 2049 nfs_acl 100003 2 udp 2049 nfs 100003 3 udp 2049 nfs 100003 4 udp 2049 nfs 100227 2 udp 2049 nfs_acl 100227 3 udp 2049 nfs_acl 100021 1 udp 43109 nlockmgr 100021 3 udp 43109 nlockmgr 100021 4 udp 43109 nlockmgr 100021 1 tcp 53998 nlockmgr 100021 3 tcp 53998 nlockmgr 100021 4 tcp 53998 nlockmgr
看到NFS服务端主要由portmapper(port 111),nfs(port 2049),mountd(port随机),nlockmgr(port随机)四个服务组成.portmapper和nfs的端口是固定的,而mountd,nlockmgr的端口不固定,这样就不能直接在防火墙上配置.
先自定义mountd的TCP/UDP port=20048, nlockmgr的TCP/UDP port=51000,打开/etc/sysconfig/nfs文件
#vi /etc/sysconfig/nfs MOUNTD_PORT="20048" LOCKD_TCPPORT="51000" LOCKD_UDPPORT="51000"
改变这三行就把mountd,nlockmgr的端口固定下来了,重启一下NFS服务让改变的配置文件生效
#service nfsserver restart # rpcinfo -p program vers proto port service 100000 4 tcp 111 portmapper 100000 3 tcp 111 portmapper 100000 2 tcp 111 portmapper 100000 4 udp 111 portmapper 100000 3 udp 111 portmapper 100000 2 udp 111 portmapper 100005 1 udp 20048 mountd 100005 1 tcp 20048 mountd 100005 2 udp 20048 mountd 100005 2 tcp 20048 mountd 100005 3 udp 20048 mountd 100005 3 tcp 20048 mountd 100024 1 udp 33747 status 100024 1 tcp 43717 status 100003 2 tcp 2049 nfs 100003 3 tcp 2049 nfs 100003 4 tcp 2049 nfs 100227 2 tcp 2049 nfs_acl 100227 3 tcp 2049 nfs_acl 100003 2 udp 2049 nfs 100003 3 udp 2049 nfs 100003 4 udp 2049 nfs 100227 2 udp 2049 nfs_acl 100227 3 udp 2049 nfs_acl 100021 1 udp 51000 nlockmgr 100021 3 udp 51000 nlockmgr 100021 4 udp 51000 nlockmgr 100021 1 tcp 51000 nlockmgr 100021 3 tcp 51000 nlockmgr 100021 4 tcp 51000 nlockmgr
接下来将nfs,111,20048,51000四个端口加入防火墙配置文件
#vi /etc/sysconfig/SuSEfirewall2 FW_SERVICES_EXT_TCP="ssh ftp 30000:30100 nfs 111 20048 51000" FW_SERVICES_EXT_UDP="nfs 111 20048 51000"
重启防火墙服务让配置文件生效
#/sbin/rcSuSEfirewall2 restart
由于SLES环境下NFS套件是缺省安装的,客户端不需要安装其它软件了
#showmount -e 192.168.74.141 #mount -t nfs 192.168.74.141:/tmp /mnt
最后测试文件在NFS上的读写情况即可.