外网电脑通过Frp穿透IPC设备

一、frp穿透大致流程

在这里插入图片描述

二、frp服务端搭建

1、公网服务器相关信息**

买一个公网服务器,电脑开ssh登录服务器。
118.31.200.100 端口22 账号:root 密码:a@1234567
在上面启动./frps -c frps.toml(frps.toml配置下面会讲到)
参考教程:https://blog.csdn.net/ybsgsg/article/details/125932063
web页面 :http://118.31.200.100:7050 admin admin
frp的连接的服务器地址:118.31.200.100
端口:7000
密码:sr@1122

2、frp服务器配置文件

frps.toml文件
bindPort = 7000 //和客户端通信的端口,提前协商好的。
allowPorts = [
{ start = 7001, end = 7040 }
]
auth.method = “token”
auth.token = “sr@1122” //和客户端要一致,提前协商好的。
//服务端的面板
webServer.addr = “0.0.0.0” //本机ip
webServer.port = 7050
webServer.user = “admin”
webServer.password = “admin”
//http和https的端口,可以随便写(不要重复),但要在上面allowPorts的范围内。
vhostHTTPPort = 7008
vhostHTTPSPort = 7009

三、frp客户端搭建

1、需要在虚拟机上安装go环境

参考:https://blog.csdn.net/Cynthialearn/article/details/124802303
下载地址:https://golang.google.cn/dl/.
选择最新版本进行下载,并将下载好的压缩包放到ubuntu某路径下,位置无要求。
在这里插入图片描述

(1)将安装包解压到指定路径,路径无要求,可以自行决定。本文将安装包指定解压到了/usr/local目录下:
sudo tar -zxvf go1.22.1.linux-amd64.tar.gz -C /usr/local
(2)解压成功后,可以在/usr/local目录下看到解压后的目录:go.
(3)在home目录下创建go工作区:mkdir -p /home/crb/frp/go
(4)打开.bashrc: vim ~/.bashrc
末尾编辑:
export GOROOT=/usr/local/go
export GOBIN= G O R O O T / b i n e x p o r t G O P A T H = GOROOT/bin export GOPATH= GOROOT/binexportGOPATH=HOME/frp/go
export PATH=/home/crb/eeasytech/git-repo:/usr/local/bin/: G O P A T H / b i n : GOPATH/bin: GOPATH/bin:GOBIN:$PAT
保存文件,重新加载 profile 文件:source ~/.bashrc
(5)检查go是否安装成功
Go version
(注意,go版本要起码1.18.2以上,不然交叉编译会有问题)
(6)设置环境变量
export CGO_ENABLED=0
export GOOS=linux
export GOARCH=arm
export CC=/opt/rv-linux/gcc/linux-x86/arm/gcc-arm-8.3-2019.03-x86_64-arm-linux-gnueabihf/bin/arm-linux-gnueabihf-gcc
export CXX=/opt/rv-linux/gcc/linux-x86/arm/gcc-arm-8.3-2019.03-x86_64-arm-linux-gnueabihf/bin/arm-linux-gnueabihf-g++
export AR=/opt/rv-linux/gcc/linux-x86/arm/gcc-arm-8.3-2019.03-x86_64-arm-linux-gnueabihf/bin/arm-linux-gnueabihf-ar
export RANLIB=/opt/rv-linux/gcc/linux-x86/arm/gcc-arm-8.3-2019.03-x86_64-arm-linux-gnueabihf/bin/arm-linux-gnueabihf-ranlib
配置完通过go env大致如下图
在这里插入图片描述

2、交叉编译frp

参考:https://diannaobos.com/post/324.html
(1)在/home/crb/frp/go/下创建一个文件夹src
进入src(建议科学上网,不然很慢)
git clone https://github.com/fatedier/frp.git
(2)进入/home/crb/frp/go/src/frp
make frpc
编译完成,在/bin下就有可执行文件。

3、启动frp客户端

frpc.toml文件
serverAddr = “118.31.200.100” //服务端ip
serverPort = 7000 //与服务器通信的端口,和服务器配置一样
auth.method = “token”
auth.token = “sr@1122” //和服务器配置一样

[[proxies]]
name = “ssh” //名字唯一就行
type = “tcp” //tcp 服务
localIP = “127.0.0.1”
localPort = 9622 //需要被访问的本地端口
remotePort = 7006

[[proxies]]
name = “http”
type = “http” //http服务
localIP = “127.0.0.1”
localPort = 80 //需要被访问的本地端口
customDomains = [“118.31.200.100”] //域名,现在没有,不能不填,就随便填ip

[[proxies]]
name = “https” //目前https还不能使用,好像要证书啥的比较麻烦。
type = “https” //https服务
localIP = “127.0.0.1”
localPort = 443
customDomains = [“118.31.200.100”]

启动./frpc -c frpc.toml
在这里插入图片描述

四、Frp穿透验证

1、外网电脑打开服务器的控制面板

http://118.31.200.100:7050/
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2、外网电脑穿透到设备

(1)访问ssh
端口就是frpc.toml ssh里面的remotePort = 7006
在这里插入图片描述

(2)访问http
端口就是frpc.toml http里面的remotePort = 7008
http://118.31.200.100:7008/
在这里插入图片描述
备注:
文中需要用到的源码下载地址:
https://download.csdn.net/download/CSDN369369/88943277?spm=1001.2014.3001.5501

五、实现多台客户端(frpc)同时使用ssh和http的功能

参考
添加链接描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

  • 25
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值