動かざることバグの如し

近づきたいよ 君の理想に

UbuntuからReadyNASのホームディレクトリをNFSマウントできない問題

環境

問題

自宅のNASではネットギアのReadyNASを使用している。特に不満はないんだが、気づいたらネットギア自体がコンシューマ向けNAS事業から撤退したので購入後しばらくしたら廃盤になってた(

まあそれはいいとして、NASLinuxでアクセスしたいので、NFSを有効化したい。以前はSambaプロトコルでお茶を濁したが、Kubernetes経由ともなればNFSが必須

thr3a.hatenablog.com

いざLinuxサーバーから試しにマウント NFSのバージョンはv4ではなくv3にした

mount -t nfs 192.168.16.xxx:/data/home/admin /mnt/nas -o vers=3

が、何回やってもホームディレクトリのマウントが「Access Denied」エラーでできない。

調査

NAS自体にSSH機能があるので有効化して ssh root@192.168.16.xxx でアクセス(パスワード認証しかできなかった。パスワードはadmin権限の初期ユーザーのパスワード)すると

Jul 24 11:57:03 mynas rpc.mountd[2775]: refused mount request from 192.168.16.xxx for /data/home/xxx (/): not exported

なるほど、アクセス拒否と。。。で/etc/exportsを見てみると

root@mynas:~# cat /etc/exports
"/home" *(insecure,insecure_locks,root_squash,anonuid=99,anongid=99,no_subtree_check,rw,sync)

一見/homeが書かれているので問題なさそうだが マウント元は /dataから始まっている。

これはReadyNASでX-RAIDが有効になっている場合は/dataがスタート地点になっているためである。

mount -t nfs (NASIPアドレス):/(NASのボリューム名)/(NASの共有名) (Linux側のマウント用ディレクトリ名)
X-RAID を使用されている場合、ボリューム名は "data" となります。
mount␣–t␣nfs␣192.168.10.1:/data/share1␣/mnt

引用元: ReadyNAS(OS6)の共有をLinuxにてnfsマウントするコマンドが判りません。 | ネットギア【NETGEAR】

つまり、/data自体が許可されていないからマウントできないと。これバグやんけ

解決方法

/etc/exportsに /dataから始まるユーザーのディレクトリパスを追加した

"/home" *(insecure,insecure_locks,root_squash,anonuid=99,anongid=99,no_subtree_check,rw,sync)
+"/data/home/xxx" *(insecure,insecure_locks,root_squash,anonuid=99,anongid=99,no_subtree_check,rw,sync)

反映 これでマウントできるようになった

exportfs -ra