ポートマッパーなしでNFS共有をマウントする


2

NFSをSSHトンネル経由で使用してディレクトリを共有しようとしています。TCPポート2049を明示的に指定しますが、明らかにする必要があることがあります。「ポートマッパー」サービスとは何か関係があるようですが、これは私には馴染みがありません。portmapperサービスを使用せずにNFSを操作することは可能ですか?先ほど言ったように、使用するポートを明示的に指定します。

以下に示すように、クライアントを共有に直接接続してもらうと、すべてが正常に機能します。ただし、クライアントがSSHトンネルを介して共有に接続しようとすると、機能しません。

この問題をどのように解決できますか?

サーバー(my-NFS-Server)

root@my-NFS-Server:~# ls -l /consolidate
total 1
-rw-rw-r-- 1 root automation 0 Dec 19 13:33 thisFileExistsOnlyInShareOnServer

root@my-NFS-Server:~# cat /etc/fstab
# <file system> <mount point> <type> <options> <dump> <pass>
/dev/zvol/rpool/swap none swap sw 0 0
proc /proc proc defaults 0 0
/consolidate /export/consolidate none bind 0 0

root@my-NFS-Server:~# cat /etc/exportfs
/export *(sync,rw,wdelay,no_root_squash,no_subtree_check,sec=sys,secure,no_all_squash,fsid=0)
/export/consolidate *(sync,rw,wdelay,no_root_squash,no_subtree_check,sec=sys,secure,no_all_squash)

root@my-NFS-Server:~# grep NEED_SVCGSSD /etc/default/nfs-kernel-server
NEED_SVCGSSD=no

root@my-NFS-Server:~# service nfs-kernel-server restart

root@my-NFS-Server:~# ssh -N -R localhost:2049:localhost:2049 root@my-NFS-Client

クライアント(my-NFS-Client)

root@my-NFS-Client-1:~# ls -l /consolidate
total 0

root@my-NFS-Client-1:~# mount -v -t nfs4 -o proto=tcp,port=2049 my-NFS-Server:/consolidate /consolidate
mount.nfs4: timeout set for Wed Dec 20 12:51:49 2017
mount.nfs4: trying text-based options 'proto=tcp,port=2049,vers=4.2,addr=my-NFS-Server,clientaddr=my-FNS-Client'

root@my-NFS-Client-1:~# ls -l /consolidate
total 1
-rw-rw-r-- 1 root automation 0 Dec 19 13:33 thisFileExistsOnlyInShareOnServer

root@my-NFS-Client-1:~# umount /consolidate

root@my-NFS-Client-1:~# ls -l /consolidate
total 0

root@my-NFS-Client-1:~# mount -v -t nfs4 -o proto=tcp,port=2049 localhost:/consolidate /consolidate
mount.nfs4: timeout set for Wed Dec 20 12:52:16 2017
mount.nfs4: trying text-based options 'proto=tcp,port=2049,vers=4.2,addr=127.0.0.1,clientaddr=127.0.0.1'
mount.nfs4: mount(2): Operation not permitted
mount.nfs4: trying text-based options 'proto=tcp,port=2049,addr=127.0.0.1'
mount.nfs4: prog 100005, trying vers=3, prot=6
mount.nfs4: portmap query failed: RPC: Program not registered
mount.nfs4: requested NFS version or transport protocol is not supported

root@my-NFS-Client-1:~# ls -l /consolidate
total 0

回答:


0

次の操作を行って、NFS over SSHを機能させることができました。

  • service stop portmap ローカルTCPポート111(ポートマッパー)を解放する
    • これは本当に悪いように思えますが、私はおもちゃのVMを使っていたので、とにかくやっていました。間違いなく何かを壊すでしょう...
  • ssh user@remote -L 111:nfs-server-name:111
  • rpcinfo -p localhostで使用されているポートを検索し、mountd私の場合は300でした
  • ssh user@remote -L 300:nfs-server-name:300
  • mount -v -t nfs -o proto=tcp,vers=3,nolock localhost:/path /mountpoint
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.