NFS的设置是比较复杂的。尤其是在防火墙和端口问题中,我们更需要注意。今天我们就来讲解一下有关NFS服务的端口设置。首先让我们看一下下面的问题,然后再来找一下解决的思路。
问题描述
某地调试彩信接口机(LINUX)时,需要把AIX服务器上的某个目录mount到彩信接口机上。彩信接口机和AIX服务器之间有防火墙,这样地话,需要放开防火墙的端口,由于AIX每次重启NFS服务,mountd端口会变,需要指定端口该端口。
解决方法
首先,需要在AIX上检查NFS服务启动时占用哪些端口,执行如下操作:
- #rpcinfo -p
- program vers proto port service
- 100000 4 udp 111 portmapper
- 100000 3 udp 111 portmapper
- 100000 2 udp 111 portmapper
- 100000 4 tcp 111 portmapper
- 100000 3 tcp 111 portmapper
- 100000 2 tcp 111 portmapper
- 100083 1 tcp 32769 ttdbserver
- 100068 2 udp 32769 cmsd
- 100068 3 udp 32769 cmsd
- 100068 4 udp 32769 cmsd
- 100068 5 udp 32769 cmsd
- 200012 2 udp 970
- 200012 3 udp 971
- 100003 2 udp 2049 nfs
- 100003 3 udp 2049 nfs
- 100003 2 tcp 2049 nfs
- 100003 3 tcp 2049 nfs
- 100003 4 tcp 2049 nfs
- 200006 1 udp 2049
- 200006 4 udp 2049
- 200006 1 tcp 2049
- 200006 4 tcp 2049
- 100005 1 tcp 32783 mountd
- 100005 2 tcp 32783 mountd
- 100005 3 tcp 32783 mountd
- 100005 1 udp 32786 mountd
- 100005 2 udp 32786 mountd
- 100005 3 udp 32786 mountd
- 400005 1 udp 32787
- 100024 1 tcp 32784 status
- 100024 1 udp 32788 status
- 100133 1 tcp 32784
- 100133 1 udp 32788
- 200001 1 tcp 32784
- 200001 1 udp 32788
- 200001 2 tcp 32784
- 200001 2 udp 32788
- 100021 1 udp 32813 nlockmgr
- 100021 2 udp 32813 nlockmgr
- 100021 3 udp 32813 nlockmgr
- 100021 4 udp 32813 nlockmgr
- 100021 1 tcp 32785 nlockmgr
- 100021 2 tcp 32785 nlockmgr
- 100021 3 tcp 32785 nlockmgr
- 100021 4 tcp 32785 nlockmgr
从上面的显示可以看到NFS服务使用的111和2049端口是固定的,但是mountd是经常会变的。可以指定mountd为一固定端口,这样每次启动NFS后,所有使用的端口就是固定端口了。
操作方法:
在NFS server一端按照如下顺序进行:
- #cp /etc/services /etc/services.bak
- #vi /etc/services 找到如下一行
- # 1001-1009 # Unassigned
在此行之前,输入 mountd 1001/tcp mountd 1001/udp
- #rmnfs -N 停止NFS服务
- #nfso -po nfs_use_reserved_ports=1
- #mknfs -N 启动NFS服务
这样就固定1001端口作为NFS 的mountd端口。
然后在防火墙上开放TCP和UDP 的111、2049、1001端口。在彩信接口机上做测试mount,可以成功mount AIX服务器上的NFS输出目录。