web-dev-qa-db-ja.com

NFS共有はMacOsXのsshトンネルを介して接続せず、他のすべてのデバイスで機能します

解決策を探すためにしばらく探していましたが、やっと諦めました。 nfs共有を実行しているubuntuサーバーがあります。 sshを使用して接続する必要があるように設定しました。これは素晴らしいです。問題は、他のLinuxマシンから問題なく接続できることですが、このMacは私のリアエンドを蹴っています。これが私が接続している方法です:

sshトンネルの作成:ssh -fNv -L 3049:localhost:2049 [email protected] -p 000

共有への接続:Sudo mount_nfs -p 3049 localhost:/ path/to/share/path/to/mount/share

Macでは接続拒否エラーが発生しますが、Linuxマシンでは接続が拒否されます。完全に正常に接続されます。

助けてください?

サーバー上のRpcinfo:

$ rpcinfo-pプログラムとプロトポートサービス

100000    4   tcp    111  portmapper
100000    3   tcp    111  portmapper
100000    2   tcp    111  portmapper
100000    4   udp    111  portmapper
100000    3   udp    111  portmapper
100000    2   udp    111  portmapper
100024    1   udp  52843  status
100024    1   tcp  33151  status
100003    2   tcp   2049  nfs
100003    3   tcp   2049  nfs
100003    4   tcp   2049  nfs
100227    2   tcp   2049
100227    3   tcp   2049
100003    2   udp   2049  nfs
100003    3   udp   2049  nfs
100003    4   udp   2049  nfs
100227    2   udp   2049
100227    3   udp   2049
100021    1   udp  58619  nlockmgr
100021    3   udp  58619  nlockmgr
100021    4   udp  58619  nlockmgr
100021    1   tcp  59210  nlockmgr
100021    3   tcp  59210  nlockmgr
100021    4   tcp  59210  nlockmgr
100005    1   udp  41289  mountd
100005    1   tcp  53372  mountd
100005    2   udp  45436  mountd
100005    2   tcp  52048  mountd
100005    3   udp  49309  mountd
100005    3   tcp  42610  mountd
1
GeneralCan

だから、これは、このことを理解しようと数え切れないほどの時間を費やした後、私のために働いたものです:

私は他のLinuxコンピュータから共有にアクセスするためにエールを使っていたので、サーバー側ですべてが正常に機能していることを知っていました。問題はMacOsxで共有にアクセスすることでした。それで、しばらく見て回った後、私は Fuse for OsxSshfs パッケージを見つけました。私はそれをインストールして、このコマンドを実行しました:

sshfs -p 0000 [email protected]:/path/to/share/in/server /path/to/mount/on/computer -oauto_cache,reconnect

今すぐ接続して作業することができました:)。

ところで!将来これを読んでいる場合は、000を使用しているポートに置き換えます。デフォルトを使用している場合は、「-p 000」をすべて削除してパスを設定します。これで、問題ありません。

0
GeneralCan

NFSはいくつかのRPCデーモンと連携しています。タグによると、NFSv4を使用していると思います。

まず、Macがv4を使用していることを確認しますか? RPCデーモンはMacで起動していますか? Linuxでは、rpcinfo -pを使用してデーモンのステータスを取得できます。サーバーには、少なくとも「portmapper」、「mountd」、「nfs」が必要です。また、管理などをロックするための「nlockmgr」がある場合もあります。

rpcinfo -p $targethostを使用して、リモートホストで起動されているRPCプログラムを照会できます。

Macで実行されているrpcデーモンのリストを投稿してください。

0
Adrien M.