web-dev-qa-db-ja.com

NFSマウントが失敗し、権限が拒否され、エクスポートエントリがありません

解決できないNFS共有のマウントに問題があります。これは状況です:

関係する3台のマシン:
ホストA:Mandrake、IP 192.168.1.4、NFSサーバー
ホストB:athlon64、IP 192.168.1.64、NFSクライアント
ホストC:lap-fzs-2、IP 192.168.1.27、NFSクライアント

ホストAは、ホストBによってマウントされるディレクトリをエクスポートするNFSサーバーを実行しています。これは問題なく動作し、古くから機能しています。問題ありません。今度はホストCが登場します。 Ubuntu 12.04 LTS、最新のシステム。ホストAから同じ共有をマウントしようとしましたが、権限拒否エラーが発生しました。

root@lap-fzs-2:~# mount -t nfs Mandrake:/data /data -onfsvers=2
mount.nfs: access denied by server while mounting Mandrake:/data

ホストAとホストBの間で機能するという事実は、NFSエクスポート自体が機能していることを証明する必要があります。これは私が与えることができる情報であり、それはうまくいくはずだと私に思わせます。たぶん誰かが私の見ないものを見て、これが新しいホストCで失敗する理由を知っているかもしれません。

サーバーのエクスポート:

[root@Mandrake /root]# cat /etc/exports
/suse 192.168.1.0/16(ro,no_root_squash)
/data 192.168.1.0/24(rw)
#/data3 192.168.2.0/24(rw)
#/data 192.168.2.0/16(rw,all_squash,anonuid=500,anongid=500)
#/data3 192.168.2.0/16(rw,all_squash,anonuid=500,anongid=500)

[root@Mandrake /root]# exportfs
/suse           192.168.1.0/16
/data           192.168.1.0/24

ポートマッパーが実行されており、エクスポートは既知であり、ホストB「athlon64」によってマウントされています。

[root@Mandrake /root]# showmount -e
Export list for Mandrake:
/data 192.168.1.0/24
/suse 192.168.1.0/16
[root@Mandrake /root]# showmount -a
All mount points on Mandrake:
atlhon64.acme.local:/data

Athlon64ホストがNFS共有をマウントすると、サーバーログに成功が表示されます。

Feb 11 20:06:46 Mandrake mountd[460]: authenticated mount request from atlhon64.acme.local:770 for /data (/data)

しかし、ホストCが同じ共有をマウントしようとすると、サーバーログに次のように表示されます。

Feb 11 20:12:42 Mandrake mountd[460]: refused mount request from lap-fzs-2 for /data (/): no export entry

ホストCはサーバーを認識し、ポートマッパーとnfsdに到達しますが、権限で失敗します。

root@lap-fzs-2:~# showmount -e 192.168.1.4
Export list for 192.168.1.4:
/data 192.168.1.0/24
/suse 192.168.1.0/16


root@lap-fzs-2:~# mount -t nfs -v Mandrake:/data /data -onfsvers=2,proto=udp
mount.nfs: timeout set for Mon Feb 11 21:49:23 2013
mount.nfs: trying text-based options 'nfsvers=2,proto=udp,addr=192.168.1.4'
mount.nfs: prog 100003, trying vers=2, prot=17
mount.nfs: trying 192.168.1.4 prog 100003 vers 2 prot UDP port 2049
mount.nfs: prog 100005, trying vers=1, prot=17
mount.nfs: trying 192.168.1.4 prog 100005 vers 1 prot UDP port 636
mount.nfs: mount(2): Permission denied
mount.nfs: access denied by server while mounting Mandrake:/data

クライアントでNFSv2を使用する必要があります。サーバーがNFSv4をサポートしていないため、NFSv4の使用は失敗します。 TCPを介して2049に直接接続しようとしますが、ポートが開いていません。フォールバックは発生しません。NFSv3を使用すると、RPCプログラム/バージョンの不一致が発生します。

何が欠けていますか?

更新:
3台のマシンはすべて、同じスイッチ上の1つのLANにあります。ホストCでアクティブなファイアウォールはありません:

root@lap-fzs-2:~# iptables -vnL
Chain INPUT (policy ACCEPT 17 packets, 1853 bytes)
 pkts bytes target     prot opt in     out     source               destination

Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination

Chain OUTPUT (policy ACCEPT 20 packets, 5611 bytes)
 pkts bytes target     prot opt in     out     source               destination

ホストAでも:

[root@Mandrake /root]# ipchains -L 
Chain input (policy ACCEPT):
Chain forward (policy ACCEPT):
Chain output (policy ACCEPT):
10
Florian

2月11日20:12:42 Mandrake mountd [460]:/ data(/)のlap-fzs-2からのマウント要求を拒否:エクスポートエントリなし

サーバーの拒否通知はホストCに"no export entry"があると主張しているため、おそらく/etc/exportsファイル内の明確な行を明示的なホスト名または完全なIPアドレスで試す必要がありますCの.

また、サーバーでexportfs -aコマンドを発行してみてください。
リブート後でも、NFSサーバーへのアクセスに問題があることがよくあります。 exportfs -aコマンドを明示的に発行することは、信頼できる解決策です(私にとって)。

0
sawdust

私の場合、-o vers = 3が答えです。

$ Sudo mount -o vers=3 192.168.172.1:/A/DIR /mnt
  • NFSサーバー:Ubuntuデスクトップ12.04 32ビットvmwareホスト
  • NFSクライアント:Ubuntuサーバー12.04 64ビットVMwareゲスト(ホストオンリーモード)
1
Fumisky Wells

NFSユーザーのUIDとGUIDがサーバーとクライアントで同じであるかどうかを確認します。また、サーバーでフォルダーがアクセス許可777であることを確認してください。これは私の上の/ etc/exportsです。クライアントがアクセスするサーバー。

NFS共有ディレクトリを作成します(IPを使用して各サーバーを作成し、スペースを区切ります)。

mkdir/var/nfs vim/etc/exports/var/nfs 10.180.82.250(rw、sync、root_squash、anonuid = 530、anongid = 530、no_subtree_check)

1
Tony-Caffe