NFS v4 の SSH トンネル
ファイヤーウォールやプライベートネットワークのなかのマシンを NFS マウントしたいときもあると思います。SSH ポートフォワーディングができて NFS v4 が利用できるなら、以下のように三つのことだけやればできると思います。想定しているネットワークは下の方の図を参照してください。
1. insecure エキスポートオプション
NFS v4 サーバーでファイルシステムを insecure オプションをつけてエキスポートします。
# /etc/exports: the access control list for filesystems which may be exported
# to NFS clients. See exports(5).
/opt *(rw,fsid=0,insecure)
2. SSH ポートフォワーディング
NFS サーバのポート番号 2049 と NFS クライアントのローカルの適当なポート番号 (例えば 12049) を SSH サーバ経由でポートフォワーディングします。
root@nfsv4client # ssh -f -N -C mita@sshd.example.com -L 12049:nfs4d.example.com:2049
3. port= マウントオプション
ローカルホストのポートフォワーディングしたポート (ここでは 12049) に対して port= マウントオプションを指定してマウントします。
root@nfsv4client # mount -t nfs4 -o port=12049 localhost:/ /mnt/nfs
また /etc/fstab に以下のようなエントリを追加しておいてもいいと思います。
# /etc/fstab: static file system information.
#
# <file system> <mount point> <type> <options> <dump> <pass>
...
localhost:/ /mnt/nfs nfs4 noauto,port=12049 1 0
簡単にするため NFS v4 の基本的な設定については省略してしまいましたが Projects: NFS Version 4 Open Source Reference Implementation: などが参考になると思います。



最近のコメント