frp实现内网穿透

简介: 通过外网访问内网设备,本文中实现通过手机的移动流量,可以访问到树莓派设备

frp实现内网穿透

目标

通过外网访问内网设备,本文中实现通过手机的移动流量,可以访问到树莓派设备

设备准备

需要被访问的设备(本文中使用Raspberry Pi`)、公网IP设备(本文中使用阿里云 轻量应用服务器)

软件准备

frp

Build Status GitHub release

开源地址 https://github.com/fatedier/frp

部署

选择版本

首先下载frp,进入Release 根据系统及cpu指令集选择所需的版本,

例如我的Raspberry Pi CPU为博通 arm架构 操作系统为Linux发行版(Raspberry Pi 32bit)

所以我选择的是 frp_x.xx.x_linux_arm.tar.gz Linux系统arm版本

然后使用lscpu查看阿里云服务器的cpu信息,这里我查询到的是Intel(R) Xeon 英特尔的至强处理器,操作系统为Linux发行版(Ubuntu 18.04)

所以服务器选择的软件版本是 frp_x.xx.x_linux_386.tar.gz Linux系统i386版本

然后将软件包放到对应的设备中

可以将软件包下载下来传到服务器 或者 Raspberry Pi 中

也可以直接在github上的软件包直接右键复制下载地址

通过wget 文件地址 的命令下载到对应系统上,

解压

在家目录创建frp目录

mkdir ~/frp

然后解压软件包

tar -zxvf 包名

例如我的是

tar -zxvf frp_0.34.1_linux_amd64.tar.gz

然后查看目录

ls

此时应该会看到一个与压缩包同名的目录

然后进入目录

cd 目录

再次查看目录

ls

目录中会有frps frps.ini frpc frpc.ini等多个文件,我们要用的的只有frps frps.ini frpc frpc.ini这四个文件

frp
|── frps 服务端可执行程序

└── frps.ini 服务端配置文件

└── frpc 客户端可执行程序

└── frpc.ini 客户端配置文件

└── *

然后根据设备来选择保留文件,

服务器需要选择frps和frps.ini两个文件

执行

移动当前目录下的frps文件到~下的frp目录中

mv ./frps ~/frp/

移动当前目录下的frps.ini文件到~下的frp目录中

mv ./frps.ini ~/frp/

内网设备上也是同样的步骤先创建一个frp目录

mkdir ~/frp

然后解压软件包

tar -zxvf 包名

然后进入解压目录

cd 目录名

此时内网设备需要选择客户端程序 也就是 frpc 和 frpc.ini

同样将两个文件移动到frp目录中

mv ./frpc ~/frp/

mv ./frpc.ini ~/frp/

服务端配置(公网设备端)

使用vim/vi编辑器打开配置文件(此处可查询vim 使用命令 常用如 i 开启插入模式 Esc进入指令模式 指令模式下 ZZ 保存并退出 )

vim ~/frp/frps.ini

此时修改7000使用其它端口 也可以使用默认7000端口

此处修改端口为7001

修改后为下

[common]
bind_port = 7001 #此处为服务端需要开放给客户端的端口
客户端配置(内网设备端)

vim ~/frp/frpc.ini

[common]
server_addr = x.x.x.x     #此处为服务器ip地址 也就是公网ip
server_port = 7001                 #此处为服务端 设置的端口 由于上面我们改为了7001

[ssh]
type = tcp
local_ip = 127.0.0.1            #设置为127.0.0.1即可
local_port = 22
remote_port = 6000                #此处为访问时所需要的端口 需要记住 当前就使用默认了

运行服务

启动服务端

在服务器执行以下命令

~/frp/frps -c ~/frp/frps.ini

启动客户端

在内网设备执行以下命令

~/frp/frpc -c ~/frp/frpc.ini

测试

打开其它外网设备,进行连接测试 此处我使用安卓手机开启流量测试ssh连接

ssh -p (remote_port设置的值也就是6000) 内网设备用户名@公网ip

回车后输入的密码是内网设备密码

例如我的就是

ssh -p 6000 pi@xxx.xxx.xxx

设置后台运行

此时如果已经连接成功,说明配置没有问题了,但是会发现如果终端关掉了,服务就停止了,

所以要设置后台运行

服务端执行 nohup ~/frp/frps -c ~/frp/frps.ini &

客户端执行nohup ~/frp/frpc -c ~/frp/frpc.ini &

然后使用 exit退出终端就可以使用了

相关文章
|
开发工具
frp-免费内网穿透
frp-免费内网穿透
638 0
|
29天前
|
安全 网络协议 Linux
内网穿透工具Frp
【10月更文挑战第6天】内网穿透工具Frp
207 66
|
运维 安全 网络协议
使用Frp的stcp实现安全内网穿透访问
使用Frp的stcp实现安全内网穿透访问
846 1
使用Frp的stcp实现安全内网穿透访问
|
1月前
|
数据建模 Docker Windows
内网穿透frp配置
内网穿透frp配置
51 0
|
6月前
|
应用服务中间件 nginx
内网穿透ngrok
ngrok实现内网穿透操作流程
|
网络协议 Ubuntu Linux
frp内网穿透
frp内网穿透
2836 0
|
网络协议 应用服务中间件 Linux
搭建frp实现内网穿透
前言: 为什么需要内网穿透功能? 从公网中访问自己的私有设备向来是一件难事儿。 自己的主力台式机、NAS等等设备,它们可能处于路由器后,或者运营商因为IP地址短缺不给你分配公网IP地址。如果我们想直接访问到这些设备(远程桌面,远程文件,SSH等等),一般来说要通过一些转发或者P2P组网软件的帮助。 搭建frp服务器进行内网穿透,可用且推荐,可以达到不错的速度,且理论上可以开放任何想要的端口,可以实现的功能远不止远程桌面或者文件共享
|
域名解析 网络协议 Linux
内网穿透工具—FRP
内网穿透工具—FRP
内网穿透工具—FRP
|
Linux Windows
Cobalt srtike使用frp实现内网穿透
Cobalt srtike使用frp实现内网穿透
245 0
|
前端开发
【内网穿透】使用Ngrok免费内网穿透
使用前后端分离搭建项目的时候,前端人员需要对接接口进行调试但是部署上服太麻烦怎么办?快来试试内网穿透吧,今天教大家使用Ngrok进行免费的内网穿透
1852 4
【内网穿透】使用Ngrok免费内网穿透