系统环境:

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上的读写情况即可.

 

posted on 2017-10-13 13:01  zlg88  阅读(1250)  评论(0编辑  收藏  举报