Centos
NFS 埠阻塞防火牆問題
我無法讓我的 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 正在監聽的內容(根據上面的 Admin guide 連結,應該是 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=""
我已經解決了這個問題並想在這裡發布答案,以防其他人遇到與 Oracle 網站上的文件不完整相同的困難。
我們需要為 mountd 服務打開一個埠。為此,請發出以下命令:
firewall-cmd --permanent --zone=<zone> --add-service mountd
確保輸入您的區域名稱。我的是“公開的”,但您也可以選擇將其排除在外,它將選擇預設區域。
Oracle 文件中缺少此部分。一旦我這樣做了,我就可以毫無問題地將我的 iMac 連接到我的 NFS 共享。