前言
通常我们在外边,想访问内网的终端设备,比如在家的电脑,树莓派等设备,但是我们是无法直接连接到这些设备的,因为这些设备都是内网设备。
想要连接就需要NAT(Network Address Translation,网络地址转换)。想要实现这一个功能,可以有许多方法,比如说frp、花生壳、ssh等实现。
这篇文章介绍一下用frp实现内网穿透。想要实现这功能,需要有一个有公网IP的服务器。
步骤
frp官网介绍
frp 是一个可用于内网穿透的高性能的反向代理应用,支持 tcp, udp 协议,为 http 和 https 应用协议提供了额外的能力,且尝试性支持了点对点穿透。
1 安装
我们可以在frp的github上下载release包
目前最新版本是0.33.0,本次测试环境,阿里云服务器需要下载frp_0.33.0_linux_amd64.tar.gz,客户端我们用树莓派测试,需要下载frp_0.33.0_linux_arm.tar.gz。然后分别上传到服务器和树莓派。

2 服务端配置
# 解压
$ tar -xzvf frp_0.33.0_linux_amd64.tar.gz
# 进入目录
$ cd frp_0.33.0_linux_amd64/
# 服务端配置,11000端口需要设置服务器的安全组规则,允许访问这些端口
$ vim frps.ini
# 修改为以下内容
[common]
# 服务器和客户端进行通讯的端口
bind_port = 11000
# 启动服务端
$ ./frps -c ./frps.ini &
3 客户端配置
这次测试测试了通过ssh连接树莓派以及访问树莓派的仪表盘。如果想访问仪表盘,需要先安装好树莓派仪表盘,安装过程非常简单的。
# 解压tar -xzvf frp_0.33.0_linux_arm.tar.gz# 进入目录cd frp_0.33.0_linux_arm64/# 客户端配置,配置文件中提到的端口(11000,11005,6000),# 都需要服务器的安全组规则允许访问,允许访问这些端口vim frpc.ini# 修改为以下内容 [common] # 填写服务器的公网IP server_addr = x.x.x.x # 与服务端连接的端口,与服务端保持一致= 11000
[dashboard] type = tcp local_ip = 127.0.0.1 # 22为树莓派仪表盘的端口 local_port = 80 # 80端口映射到服务器的11005 remote_port = 11005
[ssh] type = tcp= 127.0.0.1= 22 remote_port = 6000
# 启动服务端 ./frpc -c ./frpc.ini4 连接
# 尝试ssh连接树莓派,在服务器执行
ssh -oPort=6000 pi@x.x.x.x
# 访问树莓派仪表盘,在本地服务器输入网址即可访问
http://x.x.x.x:11005/pi-dashboard/

审核编辑:刘清
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。
举报投诉
-
UDP协议
+关注
关注
0文章
71浏览量
13798 -
SSH
+关注
关注
0文章
201浏览量
17863 -
树莓派
+关注
关注
122文章
2086浏览量
110915
发布评论请先 登录
相关推荐
热点推荐
【Banana Pi BPI-RV2开发板试用体验】部署内网穿透
BPI-RV2 RISC-V开源路由器之部署内网穿透
背景
最近刚弄到一块 BPI-RV2 RISC-V 开源路由器,刚好自己有个云服务器和公网IP,打算在openwrt上面部署frp来做内网
发表于 06-29 20:05
搭建自己的IOT平台---内网穿透
相信大部分小伙伴在搭建环境的时候都是用虚拟机来搭建的,如果想实现外网访问内网的话,还是比较麻烦的。在这里我就针对这个问题,写一篇教程,教大家用最简单的方式实现内网
发表于 12-09 23:14
神器!实现内网穿透的几款工具
frp 是一个专注于内网穿透的高性能的反向代理应用,支持 TCP、UDP、HTTP、HTTPS 等多种协议。可以将内网服务以安全、便捷的方式通过具有公网 IP 节点的中转暴露到公网。
内网穿透工具FRP的快速入门
在计算机网络中,内网穿透是一种通过公网建立安全通道,使得位于内网的计算机和服务可以被外部网络访问。对程序员而言,内网穿透可以帮助你干什么
如何用frp实现内网穿透呢?
评论