標籤:恢複 開啟 edit vim 策略 grep 客戶機 功能 map
問題起因:
在配置好一台NFS伺服器,建立好分享目錄,重新整理配置以後,在另一台客戶機中使用showmount -e 出現報錯:
clnt_create: RPC: Port mapper failure - Unable to receive: errno 113 (No route to host)
問題原因:
服務端的防火牆上預設沒有開啟nfs服務相應的連接埠
解決辦法:
1.簡單粗暴地關閉防火牆
systemctl stop firewalld
如果開啟了iptables的話,也是一樣的,iptables的策略裡也預設不會為nfs服務開啟需要的連接埠
systemctl stop iptables
2.在防火牆上開啟連接埠
在設定了防火牆的環境中使用NFS,需要在防火牆上開啟如下連接埠:
1. portmap 連接埠 111 udp/tcp;
2. nfsd 連接埠 2049 udp/tcp;
3. mountd 連接埠 "xxx" udp/tcp
系統 RPC服務在 nfs服務啟動時預設會為 mountd動態選取一個隨機連接埠(32768--65535)來進行通訊,我們可以通過編輯/etc/services 檔案為 mountd指定一個固定連接埠:
# vim /etc/services
在末尾添加
mountd 1011/udp
mountd 1011/tcp
wq退出儲存該檔案
# stopsrc -s rpc.mountd
# startsrc -s rpc.mountd
# exportfs -a
# rpcinfo -p Hostname
現在我們會發現 mountd已經和連接埠 1011綁定了。
另外,nfs中需要通訊的服務還有 rpc.lockd和 rpc.statd,其中對lockd我們可以用類似的方法來指定固定連接埠,
# vim /etc/services
添加
lockd 35000/ucp
lockd 35000/tdp
# stopsrc -s rpc.lockd
# startsrc -s rpc.lockd
# exportfs -a
nfs用戶端mount檔案系統
# rpcinfo -p Hostname
但 rpc.statd無法通過該方法來指定連接埠,它只能使用隨機連接埠,如有必要,在防火牆上要根據下面命令的顯示來開放隨機連接埠:
# no -a |grep ephemeral
tcp_ephemeral_high = 65535
tcpp_ephemeral_low = 32768
udp_ephemeral_high = 65535
udp_ephemeral_low = 32768
當然也可以不開放 rpc.statd需要的隨機連接埠,帶來的影響就是如果 nfs串連中斷(比如server或client宕掉了),系統將無法通過statd來恢複串連中斷前的狀態,而必須重新 mount該nfs檔案系統。
有關statd的詳細功能說明,請參閱 http://publib.boulder.ibm.com/infocenter/
pseries/v5r3/topic/com.ibm.aix.cmds/doc/aixcmds5/statd.htm
解決clnt_create: RPC: Port mapper failure - Unable to receive: errno 113 (No route to