さまざまなオーディオ ファイルやビデオ ファイルをさまざまなメディア サーバー マシンで共有するために、ホーム ネットワークを設定しようとしています。現在、共有したいファイルをすべてホストしている Fedora 21 を実行しているマシンがあります。その /etc/exports ファイルには、次の内容が含まれています。
/home/Kodi *(ro)
シンプル。短くて分かりやすく、他の2台のマシンでも効果的です。これらのマシンから簡単に実行できます。
mount 192.168.1.144:/home/Kodi /nfs
そしてすべては順調です。
Raspberry Pi に OpenELEC を OS としてインストールし、SSH を有効にしてログインして管理タスクを実行できるようにしました。しかし、うまくいきません。変更したターゲットで同じマウント ラインを実行すると、常に次の結果が出力されます。
mount: RPC: Remote system error - No route to host
mount: mounting 192.168.1.144:/home/Kodi on /storage/nfs/Kodi failed: Bad file descriptor
しかし、サーバーに ping でき、Raspberry Pi からサーバーに SSH 接続もできるので、ルーティングの問題はまったくありません。さらにもう 1 つ付け加えると、Raspberry Pi を Raspian を使用して起動すると、問題なく動作します。これは OpenELEC に関する問題であるはずですが、原因がわかりません。この質問は OpenELEC フォーラムでも尋ねました (http://openelec.tv/forum/134-usage/76905-setting-up-nfs-with-rasppi-and-openelec) しかし、今のところ何も進んでいません。
どのような助けでも感謝します。
答え1
これによれば ウィキopenelec は nfsv4 をサポートしていないため、マウントには nfsv3 を使用する必要があります。おそらく、他のすべてのシステムは nfsv4 を使用しており、ファイアウォールが nfsv3 を許可していないか、サーバーが nfsv4 のみを提供している可能性があります。
「ホストへのルートがありません」は、ポートが許可されていないという事実を誤解させる、ファイアウォールから返された ICMP パケットを受け取ったときの典型的なメッセージです。サーバーのファイアウォールを一時的に無効にしてみてください。
fedora 21 がデフォルトで nfsv3 を有効にしているかどうかはわかりません。有効になっていない場合は、次の編集を試し、systemctl で nfs を再起動してください。
sed -i /etc/sysconfig/nfs -e '
/RPCNFSDARGS=/s/=.*/="--nfs-version 3 --nfs-version 4"/
/RPCMOUNTDOPTS=/s/=.*/="--nfs-version 3 --nfs-version 4"/'
答え2
サーバーを F20 から F21 にアップグレードした後、この問題に遭遇しました。ファイアウォールを完全に無効にすると、Kodi は NFS 共有を見つけてマウントできるようになりましたが、サーバーにファイアウォールがまったくないことに不安を感じていました。
終わったよ:
firewall-cmd --add-port 1024-65534/tcp --add-port 1024-65534/udp --add-port 111/tcp --add-port 111/udp
これにより、予約ポートの上にあるすべてのポートとrpcbindポート(111)が開きます。
firewall-cmd --add-service nfs
Kodi NFS クライアントには十分ではありませんが、別の Fedora クライアントが接続するには問題ありません。おそらく Kodi クライアントは NFS v3 しか対応していないのでしょうか?