自我介绍
西安电子科技大学在校研究生,研一,
专业方向人工智能相关,由于个人兴趣和需要,了解云服务器售价,在了解了不同厂商对学生机的优惠后选择了阿里云的飞天加速计划
记录阿里云 centOS FRP 树莓派 内网穿透
我们知道windows上有一些穿透工具,花生壳向日葵这样的最近几年比较热门,几乎成了新的装机必备。我有一点嵌入式功底,在人工智能的背景下,除了嵌入式硬件给ai加速,还想做一下云产品的方案调研。
在有了服务器后,我们目前就有了公网IP,原则上有公网IP就能通过一定的方案实现下图功能:
在初步调研中发现了一个好用的可以在服务器上部署的方案,frp服务器,在这里和大家分享。
为了保护个人信息 图像部分信息使用粉色打码
首先是服务器端
github上下载frp
https://github.com/fatedier/frp/releases
装的是centOS 7 ,下载的是下面这个
frp_0.44.0_freebsd_amd64.tar.gz
通过ssh 拖拽到远程服务器上
解压
tar -zxvf frp_0.44.0_linux_amd64.tar.gz
然后转移路径到frp路径
cd frp_0.44.0_linux_amd64
vim frps.ini
修改文件
[common]
bind_port = 7000
dashboard_port = 7500
dashboard_user = Aloha
dashboard_pwd = 123456
[common]部分是必须有的配置
其中bind_port是自己设定的frp服务端端口
dashboard_port_number 改为一个特定的端口号,如8000,如此便可以通过 http://yourip:8000 来访问 frps 的网页控制台页面.
dashboard_user 和 dashboard_pwd要填写一个自定义的用户名和密码,用于在访问 frps 控制台页面时输入.
然后启动frp服务器
./frps -c ./frps.ini
然后去服务器管理界面打开端口,在下图红线位置点击
进入后选择“配置安全组规则”
配置规则
添加端口规则
然后使用网页登陆
进入后界面如下
然后配置树莓派这边,一样的下载frp
我下载的版本是这个
frp_0.44.0_linux_arm.tar.gz
解压
解压之后修改配置文件 frpc.ini
[common]
server_addr = xxx.xxx.xxx.xxx
server_port = 7000
[ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 22
remote_port = 6000
然后去阿里云服务端按照之前开7500 7000 端口一样把6000端口开成自定义tcp
之后执行下面的语句,开启服务
./frpc -c ./frpc.ini
2022/08/11 00:09:20 [I] [service.go:349] [8b3d04cf131aacc7] login to server success, get run id [8b3d04cf131aacc7], server udp port [0]
2022/08/11 00:09:20 [I] [proxy_manager.go:144] [8b3d04cf131aacc7] proxy added: [ssh]
2022/08/11 00:09:20 [I] [control.go:181] [8b3d04cf131aacc7] [ssh] start proxy success
这个时候新建ssh链接,配置ip 为公网ip 端口为6000
就提示让你输入用户名啦!
为了方便使用,之后把服务器和树莓派端的配置成自动启动 ,就完美了
关于自启动的设置就不在这里说了,这里说下透穿过程中的意外之喜
由于手上的嵌入式开发板除了树莓派还正好有几个HI3559和HI3516.所以一起测试了一下,使用和树莓派相同版本的frp,也可以透穿HI3559,操作几乎完全一致,这里就不一一记录了。
收获总结
通过这样的一个透穿过程,可以实现在实验室。办公室,或者天南海北的任何一个地方操作家里的树莓派或者其他的上了系统的嵌入式设备。
如果是两台部署后的设备相互连接,还可以通过开放两个透穿端口,传递控制信号甚至数据。
通过这次实验,我深刻体会到了当今互联网发展的飞速,网络透穿现在已经有了相对完整且快速的部署方案。
此外也学习到了很多阿里云的操作知识,比如安全组管理,以及一些远程登陆技巧。