我无法让我的 Mac (10.10.3) 计算机连接到防火墙已启动的 Oracle Linux 7 (CentOS/RH 7) 服务器。 (我尝试仅配置 NFSv3;我不需要 v4)
我已通过在 Mac 上发出此命令来验证 NFS 是否正常工作(OL 7 服务器上的防火墙已关闭)
showmount -e myserver.home
我得到了这个:
Export list for myserver:
/var/www 192.168.10.0/24
如果我尝试使用 Command-K 连接并输入 nfs://myserver.home,它将建立连接,我可以按预期浏览、编辑和删除文件。
接下来,我在 OL7 服务器上启用防火墙。我还按照指定打开端口Oracle OL 7 文档当我再次发出 showmount 命令时,收到以下错误消息:
showmount: Cannot retrieve info from host: localhost: RPC: Program not registered
如果我关闭防火墙,它会再次工作。
那么...我启用了哪些端口?
#firewall-cmd --list-ports
32803/tcp 662/udp 2049/udp 662/tcp 111/udp 32769/udp 892/udp 2049/tcp 892/tcp 111/tcp
我检查了 RPC 正在侦听的内容(根据上面的管理指南链接,应该是 2049 和 111)
# 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
100024 1 udp 47793 status
100024 1 tcp 52921 status
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
100003 3 tcp 2049 nfs
100003 4 tcp 2049 nfs
100227 3 tcp 2049 nfs_acl
100003 3 udp 2049 nfs
100003 4 udp 2049 nfs
100227 3 udp 2049 nfs_acl
100021 1 udp 32769 nlockmgr
100021 3 udp 32769 nlockmgr
100021 4 udp 32769 nlockmgr
100021 1 tcp 32803 nlockmgr
100021 3 tcp 32803 nlockmgr
100021 4 tcp 32803 nlockmgr
最后是我的 /etc/sysconfig/nfs 文件:
# Note: For new values to take effect the nfs-config service
# has to be restarted with the following command:
# systemctl restart nfs-config
#
# Optional arguments passed to in-kernel lockd
#LOCKDARG=
# TCP port rpc.lockd should listen on.
LOCKD_TCPPORT=32803
# UDP port rpc.lockd should listen on.
LOCKD_UDPPORT=32769
MOUNTD_PORT=892
STATD_PORT=662
#
# Optional arguments passed to rpc.nfsd. See rpc.nfsd(8)
RPCNFSDARGS="--port 2049"
# Number of nfs server processes to be started.
# The default is 8.
#RPCNFSDCOUNT=16
#
# Set V4 grace period in seconds
#NFSD_V4_GRACE=90
#
# Set V4 lease period in seconds
#NFSD_V4_LEASE=90
#
# Optional arguments passed to rpc.mountd. See rpc.mountd(8)
RPCMOUNTDOPTS=""
#
# Optional arguments passed to rpc.statd. See rpc.statd(8)
STATDARG=""
#
# Optional arguments passed to sm-notify. See sm-notify(8)
SMNOTIFYARGS=""
#
# Optional arguments passed to rpc.idmapd. See rpc.idmapd(8)
RPCIDMAPDARGS=""
#
# Optional arguments passed to rpc.gssd. See rpc.gssd(8)
RPCGSSDARGS=""
#
# Enable usage of gssproxy. See gssproxy-mech(8).
GSS_USE_PROXY="yes"
#
# Optional arguments passed to rpc.svcgssd. See rpc.svcgssd(8)
RPCSVCGSSDARGS=""
#
# Optional arguments passed to blkmapd. See blkmapd(8)
BLKMAPDARGS=""
答案1
我已经解决了这个问题,并想在这里发布答案,以防其他人遇到同样的困难,因为 Oracle 网站上的文档不完整。
我们需要为 mountd 服务打开一个端口。为此,请发出以下命令:
firewall-cmd --permanent --zone=<zone> --add-service mountd
请务必输入您的区域名称。我的是“公共”的,但您也可以选择将其保留,它将选择默认区域。
Oracle 文档中缺少此部分。完成此操作后,我就可以毫无问题地将 iMac 连接到 NFS 共享。