frp内网穿透,本地内网samba共享目录挂载到远程VPS中教程
虽然接触网络很多年,但是一直没有玩过内网穿透,这两天想把家里电脑上的磁盘映射到远程vps中去,扩充服务器容量,本来考虑ngroc程序的,但是效果不理想,所以转投frp项目的怀抱,并且获得了很好的效果;有效解决vps磁盘空间不够用的状况,这样就可以无虑的折腾各种大文件了;虽然这是我第一次折腾frp,但感觉真的很给力,完全符合官方所描述的高性能的反向代理应用,推荐大家玩!
df命令查看一下我的vps挂载本地磁盘效果
root@jiujinshan:/mnt/share# df -h df: /down: Transport endpoint is not connected Filesystem Size Used Avail Use% Mounted on udev 488M 0 488M 0% /dev tmpfs 100M 14M 86M 14% /run /dev/vda1 25G 7.2G 17G 31% / tmpfs 499M 420K 498M 1% /dev/shm tmpfs 5.0M 0 5.0M 0% /run/lock tmpfs 499M 0 499M 0% /sys/fs/cgroup tmpfs 100M 0 100M 0% /run/user/0 //服务器ip/public/vps 917G 561G 310G 65% /mnt/share
最后一行可以看见我的内网服务器1T磁盘已经挂载到了远程vps上;
首先大致描述一下我这边的情况,vps位于美国安装debian9系统,本地系统也是debian9,通过samba共享文件夹的方式分享;然后就是frp源码下载页面地址为https://github.com/fatedier/frp/releases,目前最新版是0.17版本
一、首先操作远程VPS
1.frp默认的工作端口为7000,所以防火墙要打开这个端口放行;
2.接下来下载frp解压
wget https://github.com/fatedier/frp/releases/download/v0.21.0/frp_0.21.0_linux_amd64.tar.gz tar xzf frp_0.21.0_linux_amd64.tar.gz /usr/local/ cd /usr/local/frp_0.21.0_linux_amd64
3.接下来编辑服务端配置文件
vi ./frps.ini
[common] bind_port = 7000
工作端口为7000。转发后的端口为6081,这个随便自定义
4.接下来就可以运行frp服务器端了,命令如下:
./frps -c ./frps.ini
让它在后台运行命令:
nohup ./frps -c ./frps.ini &
返回:nohup: ignoring input and appending output to ‘nohup.out’ 代表执行成功,ctrl+c关闭即可;用ps -ef 会在进程中看见frp工作进程;
二、接下来操作内网本地电脑
1.首先还是下载frp程序,命令和上面一样
wget https://github.com/fatedier/frp/releases/download/v0.21.0/frp_0.21.0_linux_amd64.tar.gz tar xzf frp_0.21.0_linux_amd64.tar.gz /usr/local/ cd /usr/local/frp_0.21.0_linux_amd64
2.编辑客户端配置:
vi ./frpc.ini
[common] server_addr = 远程服务器IP server_port = 7000 [smb-debian] type = tcp local_ip = 192.168.10.243 local_port = 445 remote_port = 44502
说明:
local_ip = 192.168.10.243 这个是本地内网ip,应该也可以用127.0.0.1
local_port = 445 445是samba的工作端口
remote_port = 44502 这个是转发端口,目的是将本地的445端口转发到远程服务器上面的44502端口中去,44502可以自由任意指定
3.运行frp客户端
./frpc -c ./frpc.ini
后台运行命令:
nohup ./frpc -c ./frpc.ini &
三、远程服务器挂载本地samba分享文件夹
忙活了那么久,终于到了分享成果的时候了,此时回到远程vps终端,开始挂载本地samba
只要注意一个细节,samba默认的端口是445.经过frp内网穿透映射后成了前面我所指定的44502端口,所以我们在挂载的时候指定这个端口就好了,命令如下:
先安装cifs:
apt-get install cifs-utils sudo mount -v -t cifs //服务器ip/public/vps /mnt/share/ -o 'port=44502,username=baidu,password=123456,vers=1.0'
记得要先创建share目录,不然可能会挂载失败!