nfs via ssh tunnel(通过ssh隧道跨网络挂载nfs)

发布时间 2023-04-13 18:08:40作者: 王冰冰

这篇代码段帮了大忙:
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!