nfs via ssh tunnel(通过ssh隧道跨网络挂载nfs)
这篇代码段帮了大忙:
https://gist.github.com/proudlygeek/5721498
下面给出我的设置:
我要在机器97上访问机器231上的硬盘,需要把231上的/data1/ubuntu挂载到97上
1. 共享nfs文件夹
在231上编辑:/etc/exports(需要root)
ubuntu@lthpc:~$ cat /etc/exports
/data1/ubuntu localhost(insecure,rw,sync,no_subtree_check,all_squash,anonuid=1026,anongid=1026)
ubuntu@lthpc:~$
关键是insecure,ssh不能访问特权端口,所以需要设置。anonuid=1026,anongid=1026
需要根据你自己的用户id设置。
刷新nfs共享(root):
exportfs -a
2. 设置ssh隧道
在97上开启ssh隧道
ssh -NL 3049:localhost:2049 231
3. 挂载nfs
在97上创建挂载文件夹:
mkdir /home/ubuntu/231data1
设置挂载(root):
mount -t nfs -o port=3049 -o proto=tcp localhost:/data1/ubuntu /home/ubuntu/231data1
OK!
断线查看:
mount -l
umount -f -l