クライアントマシンでshowmount -e 192.168.56.2
と入力しているときに、以下のエラーが発生していました
[root @ client〜] #showmount -e 192.168.56.2 clnt_create:RPC:ポートマッパーの障害-受信できません:errno 113(ホストへのルートがありません)
これは私のnfsサーバー構成です
nfsサーバーIP192.168.56.2
これは私のnfsシェアです
[root @ www〜] #cat/etc/exports /files 192.168.56.7(rw、sync)
これらはサーバーマシンで実行されている2つのサービスです
[root @ www〜] #service rpcbind status rpcbind(pid 2626)が実行中です...
[root @ www〜] #service nfs status rpc.svcgssdが停止しました rpc.mountd(pid 2716)が実行されています... nfsd(pid 2781 2780 2779 2778 2777 2776 2775 2774)が実行されています... rpc.rquotad(pid 2712)が実行されています...
これは私のiptablesルールです
[root @ www〜] #cat /etc/sysconfig/iptables #iptablesによって生成-2013年10月31日木曜日02:08:16にv1.4.7を保存 * filter :INPUT ACCEPT [0:0] :FORWARD ACCEPT [0:0] :OUTPUT ACCEPT [5:388] -入力-ptcp -m tcp --dport 111 -j ACCEPT -AINPUT -p tcp -m tcp --dport 2049 -j ACCEPT -AINPUT -m state --state RELATED、ESTABLISHED -j ACCEPT -AINPUT -p icmp -j ACCEPT -AINPUT -i lo -j ACCEPT -AINPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT -AINPUT -j REJECT --reject-with icmp-Host-prohibited -AFORWARD -j REJECT --reject-with icmp-Host-prohibited COMMIT #2013年10月31日木曜日02:08:16 に完了
サーバーマシンでiptablesルールをフラッシュすると、クライアントはnfs共有を見ることができます
[root @ client〜] #showmount -e 192.168.56.2 192.168.56.2のエクスポートリスト: /files192.168.56.7
それはiptablesルールの問題を意味します、誰かが私のiptablesルールの問題は何であるか教えてもらえますか、他のポートがありませんか?これらのタイプのトラブルシューティング方法問題の?
クライアントマシンからこのメソッドを試し、ポートがリッスンしているかどうかを確認しました。これがその出力です。
[root @ client〜] #telnet 192.168.56.2 111 192.168.56.2を試行しています... 192.168.56.2に接続されています。 エスケープ文字は '^ ] '。
[root @ client〜] #telnet 192.168.56.2 2049 192.168.56.2を試行しています... 192.168.56.2に接続されています。 エスケープ文字は '^ ] '。
NFS用に開いているポートのリストは制限が多すぎます。まず、UDPに対して同じポートを開く必要があります。次に、さらに2つのポートを追加する必要があります。開くポートの完全なリストは次のとおりです。
sunrpc 111/tcp rpcbind #Sun Remote Procedure Call
sunrpc 111/udp rpcbind #Sun Remote Procedure Call
nfsd-status 1110/tcp #Cluster status info
nfsd-keepalive 1110/udp #Client status info
nfsd 2049/tcp nfs # NFS server daemon
nfsd 2049/udp nfs # NFS server daemon
lockd 4045/udp # NFS lock daemon/manager
lockd 4045/tcp
NFSサーバー:
Rquotd(875/udp; 875/tcp)、lockd(32803/tcp; 32769/udp)、mountd(892/udp; 892/tcp)、statd(10053/udp; 10053/tcp)、statd_outgoing(10054)のポートを構成します/ udp; 10054/tcp)
vim /etc/sysconfig/nfs
必要に応じて、/ etc/sysconfig/nfsの5行目と6行目を編集して、NFSv3およびNFSv2のサポートを無効にします。
MOUNTD_NFS_V2="no"
MOUNTD_NFS_V3="no"
後で使用するために現在のIptablesルールを保存します
iptables-save > pre-nfs-firewall-rules-server
Iptablesルールをフラッシュして確認する
iptables -F
iptables -L
次の順序でNFSおよび関連サービスを停止および開始します
service rpcbind stop
service nfslock stop
service nfs stop
service rpcbind start
service nfslock start
service nfs start
構成されたNFSとそれに関連するポートが前に設定されたとおりに表示されていることを確認し、ポート番号とOSIレイヤー4プロトコルを書き留めます。 rpcbind(またはポートマッパー)の標準ポート番号は111/udp、111/tcpであり、nfsは2049/udp、2049/tcpです。
rpcinfo -p | sort -k 3
Pre-nfs-firewall-rulesを今すぐ復元する
iptables-restore < pre-nfs-firewall-rules-server
NFSサーバーのiptablesルールを記述します(注:ループバックアダプターは許可する必要があります。許可しないと、パケットがドロップされ、nfsサービスを再起動すると、吐き出されます[〜#〜]エラー[〜#〜]{NFSクォータの開始:サービスを登録できません:RPC:タイムアウトしましたrpc.rquotad:登録できません(RQUOTAPROG、 RQUOTAVERS、udp)。[FAILED]}rquotadデーモンの場合。これは、フィルターテーブルのINPUTまたはOUTPUTチェーンの下部にLOGジャンプターゲットを含むルールを追加することで確認できます)
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -A INPUT -s 192.168.1.0/24 -d 192.168.1.0/24 -p udp -m multiport --dports 10053,111,2049,32769,875,892 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A INPUT -s 192.168.1.0/24 -d 192.168.1.0/24 -p tcp -m multiport --dports 10053,111,2049,32803,875,892 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -s 192.168.1.0/24 -d 192.168.1.0/24 -p udp -m multiport --sports 10053,111,2049,32769,875,892 -m state --state ESTABLISHED -j ACCEPT
iptables -A OUTPUT -s 192.168.1.0/24 -d 192.168.1.0/24 -p tcp -m multiport --sports 10053,111,2049,32803,875,892 -m state --state ESTABLISHED -j ACCEPT
iptables -I INPUT -i lo -d 127.0.0.1 -j ACCEPT
iptables -I OUTPUT -o lo -s 127.0.0.1 -j ACCEPT
iptables -L -n --line-numbers
NFSエクスポートディレクトリを構成する
vim /etc/exports
exportfs -av
showmount -e
rpcinfo -p
次の順序でNFSおよび関連サービスを停止および開始します
service rpcbind stop
service nfslock stop
service nfs stop
service rpcbind start
service nfslock start
service nfs start
NFSクライアント:
後で使用するために現在のIptablesルールを保存します
iptables-save > pre-nfs-firewall-rules-client
Iptablesルールをフラッシュして確認する
iptables -F
iptables -L
クライアントマシンからファイアウォールで保護されたNFSサーバーポートを取得し、ポート番号とOSIレイヤー4プロトコルを書き留めます。
rpcinfo -p 'ip-addr-nfs-server' | sort -k 3
Pre-nfs-firewall-rulesを今すぐ復元する
iptables-restore < pre-nfs-firewall-rules-client
NFSクライアントのiptablesルールを記述します(注:ループバックアダプターは許可する必要があります。許可しないと、パケットがドロップされ、nfsサービスを再起動すると、吐き出されます[〜#〜]エラー[〜#〜]{NFSクォータの開始:サービスを登録できません:RPC:タイムアウトしましたrpc.rquotad:登録できません(RQUOTAPROG、 RQUOTAVERS、udp)。[FAILED]}rquotadデーモンの場合。これは、フィルターテーブルのINPUTまたはOUTPUTチェーンの下部にLOGジャンプターゲットを含むルールを追加することで確認できます)
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -A INPUT -s 192.168.1.0/24 -d 192.168.1.0/24 -p udp -m multiport --sports 10053,111,2049,32769,875,892 -m state --state ESTABLISHED -j ACCEPT
iptables -A INPUT -s 192.168.1.0/24 -d 192.168.1.0/24 -p tcp -m multiport --sports 10053,111,2049,32803,875,892 -m state --state ESTABLISHED -j ACCEPT
iptables -A OUTPUT -s 192.168.1.0/24 -d 192.168.1.0/24 -p udp -m multiport --dports 10053,111,2049,32769,875,892 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -s 192.168.1.0/24 -d 192.168.1.0/24 -p tcp -m multiport --dports 10053,111,2049,32803,875,892 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -I INPUT -i lo -d 127.0.0.1 -j ACCEPT
iptables -I OUTPUT -o lo -s 127.0.0.1 -j ACCEPT
iptables -L -n --line-numbers
次の順序でNFSおよび関連サービスを停止および開始します
service rpcbind stop
service nfslock stop
service nfs stop
service rpcbind start
service nfslock start
service nfs start
NFSサーバーのエクスポートを一覧表示する
showmount -e 'ip-addr-nfs-server'
NFSエクスポートを手動でマウントします(永続的なマウントは/ etc/fstabを使用して構成できます)
mount -t nfs ip-addr-nfs-server:/exported-directory /mount-point -o rw,nfsvers=3
mount -t nfs ip-addr-nfs-server:/exported-directory /mount-point -o rw --> For NFS4 version
自動マウントがnfsエクスポートに優先され、LDAPユーザーホームディレクトリを使用する場合は、autofsを構成します(直接マップと間接マップを設定できます)
vim /etc/auto.master -> specify the mount point and map-name (Eg: auto.nfs)
vim /etc/map-name
service autofs stop
service autofs start
マウントされたNFSエクスポートを確認する
df -h -F nfs
mount | grep nfs
すべての疑似ルートNFS-V4エクスポートディレクトリを一覧表示します(NFSレイジーマウント)
ls /net/ip-addr-nfs-server