web-dev-qa-db-ja.com

NFS:サーバーは「認証されたマウント要求」と表示しますが、クライアントは「アクセスが拒否されました」と表示します

NFSサーバー(RHEL)とクライアント(Debian)の2台のマシンがあります。サーバーにはNFSが設定されており、特定のディレクトリをエクスポートします。

server:~$ Sudo /usr/sbin/rpcinfo -p localhost
program vers proto   port
100000    2   tcp    111  portmapper
100000    2   udp    111  portmapper
100024    1   udp    910  status
100024    1   tcp    913  status
100021    1   udp  53391  nlockmgr
100021    3   udp  53391  nlockmgr
100021    4   udp  53391  nlockmgr
100021    1   tcp  32774  nlockmgr
100021    3   tcp  32774  nlockmgr
100021    4   tcp  32774  nlockmgr
100007    2   udp    830  ypbind
100007    1   udp    830  ypbind
100007    2   tcp    833  ypbind
100007    1   tcp    833  ypbind
100011    1   udp    999  rquotad
100011    2   udp    999  rquotad
100011    1   tcp   1002  rquotad
100011    2   tcp   1002  rquotad
100003    2   udp   2049  nfs
100003    3   udp   2049  nfs
100003    4   udp   2049  nfs
100003    2   tcp   2049  nfs
100003    3   tcp   2049  nfs
100003    4   tcp   2049  nfs
100005    1   udp   1013  mountd
100005    1   tcp   1016  mountd
100005    2   udp   1013  mountd
100005    2   tcp   1016  mountd
100005    3   udp   1013  mountd
100005    3   tcp   1016  mountd

server$ cat /etc/exports
/dir      *.my.domain.com(ro) 

client$ grep dir /etc/fstab
server.my.domain.com:/dir   /dir      nfs tcp,soft,bg,noauto,ro 0 0

すべて順調に見えますが、マウントしようとすると、次のように表示されます。

client$ Sudo mount /dir
mount.nfs: access denied by server while mounting server.my.domain.com:/dir

そして、私が見るサーバー上で:

server$ tail /var/log/messages
Mar 15 13:46:23 server mountd[413]: authenticated mount request from client.my.domain.com:723 for /dir (/dir)

ここで何が欠けていますか?これをどのようにデバッグする必要がありますか?

2
zigdon

/etc/hosts.allowと/etc/hosts.denyが正しくない場合、これを見てきました。これらのファイルでポートマップを含む行を確認し、コメントアウトするか(ファイアウォールの背後にいない場合は安全ではありません)、クライアント/サーバーの行を特定のサブネットに設定します。

したがって、たとえば、/ etc/hosts.allow:

portmap: 192.168.0.0/16

...そして/etc/hosts.denyにあるものをコメントアウトして、hosts.allowのみをアクティブにします。 NFSは、tcpwrappersとこれらのファイルを使用して、/ etc/exportsにあるものとともにアクセスを制御します。

3
user15590

rpcinfoは、NFSがUDP経由で接続しようとしていることを示します。 NFSv4はUDPで機能しなくなったようですが、TCPが使用されることを期待しています。

たとえば、LinuxカーネルはNFSv4でもUDPを介してrootfsをマウントしようとしており、nfsrootの末尾に特別な引数を追加する必要がありました。例:nfsroot=192.79.143.131:/diskless/client01,tcp

1
Oleg Kokorin

私は同じ問題に直面しました、私のサーバーはubuntuマシンであり、私のクライアントはmacbookairです。解決策は過去にサーバーマシンを再起動することでしたが、私はそれをメディアセンターとして使用しているので、それは必ずしも楽しいとは限りません。だから、私がそれを修正するためにしたことは:

サーバーで、/ etc/exportsを編集します

pico /etc/exports

それから私はそれを洗い流します

exportfs

問題のあるクライアントの特定のIPを使用して新しい行を追加し(私の通常の共有はネットワーク全体です)、クライアントで共有をアンマウントし、再度マウントすると、機能します。

PS:しかし、通常のようにFinderの左側にショートカットとして表示されなかったので、マウントポイントで見つける必要がありました。

0
Sverre

それはすべてのマシンから壊れていますか、それとも1つだけですか? nfsd疑似ファイルシステムはサーバーの/proc/fs/nfsdにマウントされていますか?

0
James

残念ながら、サーバーを再起動すると問題が解決したので、まだわかりませんなぜ発生していたのですが、もう発生していません。

0
zigdon

(決して遅くなるよりはまし)

Netbsd pxebootブートローダーを使用してカーネルをロードしようとすると、同じ非常に具体的なシナリオが発生しました。実際にはNFSv2について話します。 8年前、これも根本的な原因である可能性があります。Debianクライアントとrhelサーバーが同じ言語を話していませんでした。 -V2の引数としてrpc.mountdを追加することで、NFSv2を有効にすることができます。最終的には、-N3,4を使用してv3およびv4を無効にすることもできます。

0
elge

MacOSクライアントを搭載したDebian10.2サーバーから同じ問題に直面しました。私の解決策:

NFSサーバーで、insecureオプションを/etc/exportsの共有に追加し、exportfs -rを再実行します

ソースはこちら

0
Motsel