frp内网穿透,本地内网samba共享目录挂载到远程VPS中教程

canca2年前 (2021-11-24)Linux2787

虽然接触网络很多年,但是一直没有玩过内网穿透,这两天想把家里电脑上的磁盘映射到远程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目录,不然可能会挂载失败!

相关文章

在Linux下安装和使用MySQL

一、引言   想使用Linux已经很长时间了,由于没有硬性任务一直也没有系统学习,近日由于工作需要必须使用Linux下的 MySQL。本以为有Windows下使用SQL Server的经验,觉得在Li...

Linux常用命令集锦

查看所有已安装前缀为samba的RPM包      rpm -qa samba*删除目录或文件   rm -r 文件名linux解压bz2文...

linux下U盘无法卸载的问题

实用U盘过程中MOUNT之后,操作完毕,想UMOUNT,然后拔U盘,可是,总是无法UMOUNT,老是显示DEVICE IS BUSY,确认没有窗口对U盘挂载点进行操作或游览了。有两种方法:一、1.#f...

解决linux下DNS无法解析,mysql大小写敏感问题

下午项目启动的时候报[net.sf.ehcache.Cache]-[ERROR] Unable to set localhost. This prevents creation of a GUID....

centos 7 crontab定时器及开机自启

crontab 建议直接采用centos7 自带得cronteb包,定时器:就是定时去执行干某一件事在这里我以脚本为媒介1 当然是创建一个脚本,创建目录随意但是你一定要记得。。直接通过vi来创建一个t...

centos7 手动修改dns

方法一:vim /etc/resolv.conf# Generated by NetworkManager nameserver 114.114.114.11...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。