基于阿里云ECS配置树莓派frp内网穿透

简介: 基于阿里云ECS配置树莓派frp内网穿透

前言简介

本人目前大三,计算机科学与技术专业,近期对树莓派很感兴趣,也动手实现了基于树莓派搭建树莓派私有云以及K3s的微型集群,其中很大一部分都是基于阿里云的ECS实现完成的,因此在此分享一下基于阿里云ECS搭建树莓派frp内网穿透的经验。

frp背景介绍

SSH和远程桌面都是需要在局域网下通过IP地址进行连接的,而我们配置一台服务器最重要的诉求,应该是可以随时随地去访问服务器。
比如在家里面,网络运营商提供的网络服务通过路由器路由到各个设备,此时路由器会同时具备内网地址(路由器之内,局域网,LAN,也就是192.168.x.x)和外网地址(路由器之外,互联网,WAN)。但是其实这个WAN口的IP并不是真正的“公网IP”,而是经过了多层的NAT转换之后的地址,外网的设备是不能通过这个地址访问到路由器的。
因此为了能让外网访问到我们局域网内的设备,就需要自己动手做一些操作来达到同样的目的,比如以下几种方法:
(1)用类似花生壳这样的DDNS服务平台做转发实现内网穿透,优点是比较简单稳定,缺点是需要持续付费,而且速度和延迟效果一般,而且每加一个端口都要额外付费。
(2)可以使用frp之类的软件做反向代理来实现内网穿透,这个方案也是需要一台带公网IP的云服务器的,优点就是完全可控,自己想配置多少个端口的穿透都可以,速度云服务器带宽有关。
至于为什么需要多个端口,是因为不同应用占用的端口不同,比如SSH走的是22号端口,如果需要自建Web服务的话则是走80/443端口,所以用上面第二个方案显然会方便很多。因此基于阿里云服务器,可以实现树莓派上的frp内网穿透。

阿里云端服务器配置frps

1.首先在阿里云服务器端配置安全组,打开相应的端口即可。
2.访问frp的官方GitHub网址,选择适合版本的压缩包,笔者云服务器为64位Linux系统,因此下载amd64版本的文件。
在阿里云服务器上,可以通过wget命令进行下载。
3.下载后进行解压并重命名解压后的文件夹,进入文件夹,并修改frps.ini文件,对端口,用户名和密码等进行具体设置。
其中dashboard_port是frp的web界面的端口号,dashboard_user以及对应的pwd是web界面的登录账户和登录密码,token则是frp客户端连接时的密码。启动frp的service端服务,然后可以配置自启动功能,使得每次开机可以自动开启frp的service端服务,首先新建systemctl 配置文件控制frps

 sudo nano /etc/systemd/system/frps.service

然后将以下内容粘贴到文件内

 [Unit]
 Description=fraps service
 After=network.target syslog.target
 Wants=network.target

 [Service]
 Type=simple
 //启动服务的命令(此处写frps的实际安装目录)
 ExecStart=/etc/frp/frps -c /etc/frp/frps.ini

 [Install]
 WantedBy=multi-user.target

4.可以通过systemctl命令来控制frp的service端服务,部分命令如下所示:
启动frps

 sudo systemctl start frps

服务器开机自启frps

 sudo systemctl enable frps

重启frps

 sudo systemctl restart frps

停止frps

 sudo systemctl stop frps

查看日志

 sudo systemctl status frps

自此,阿里云服务器上的frps配置完成。

树莓派端配置frpc

1.获取到树莓派的架构与位数后,就可以根据信息选择对应的frp的压缩包版本。
2.依然是访问frp的官方GitHub网址 ,选择arm版本的压缩包文件。下载后进行解压并重命名解压后的文件夹,进入文件夹,并修改frpc.ini文件,其中编辑server_addr为服务器的公网IP,token即上述所编辑的密码,server_port与云服务器端的bind_port保持一致。
3.然后可以为具体服务编辑配置项,启动frp的client端服务可通过下面的指令实现:

 ./frpc -c /frpc.ini

启动client端的服务后,在service端即阿里云服务器端也可以看到相应的响应结果。
4.同样地,可以配置自启动功能,使得每次开机可以自动开启frp的client端服务,新建systemctl 配置文件控制frpc

 sudo nano /lib/systemd/system/frpc.service

然后将以下内容粘贴到文件内

 [Unit]
 Description=frpc
 After=multi-user.target

 [Service]
 TimeoutStartSec=10
 RestartSec=30s
 Restart=always
 ExecStart=/home/pi/frpc -c /home/pi/frpc.ini    //注意更换frpc路径
 ExecStop=/bin/kill $MAINPID

 [INSTALL]
 WantedBy=multi-user.target

配置完就可以通过systemctl命令来控制frp的client端服务,控制命令与上述阿里云服务器端控制命令相同,树莓派端的frpc配置也到此完成。

总结

感谢阿里云提供的ECS服务,可以实现树莓派局域网下的公网访问。阿里云服务器的官方文档十分友好,使用起来十分舒适,后续我也会基于阿里云服务继续其他开发工作。

相关实践学习
2分钟自动化部署人生模拟器
本场景将带你借助云效流水线Flow实现人生模拟器小游戏的自动化部署
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情: https://www.aliyun.com/product/ecs
相关文章
|
2天前
|
弹性计算 运维 安全
阿里云轻量应用服务器与ECS的区别及选择指南
轻量应用服务器和云服务器ECS(Elastic Compute Service)是两款颇受欢迎的产品。本文将对这两者进行详细的对比,帮助用户更好地理解它们之间的区别,并根据自身需求做出明智的选择。
|
3天前
|
SQL 弹性计算 安全
阿里云上云优选与飞天加速计划活动区别及购买云服务器后续必做功课参考
对于很多用户来说,购买云服务器通常都是通过阿里云当下的各种活动来购买,这就有必要了解这些活动的区别,同时由于活动内的云服务器购买之后还需要单独购买并挂载数据盘,还需要设置远程密码以及安全组等操作之后才能正常使用云服务器。本文就为大家介绍一下目前比较热门的上云优选与飞天加速计划两个活动的区别,以及通过活动来购买云服务器之后的一些必做功课,确保云服务器可以正常使用,以供参考。
|
23天前
|
安全 Linux 应用服务中间件
从零开始启动、配置、保护你的云服务器并搭建一个简单的网站
本文详细介绍了如何准备原料、搭建基础环境、进行安全防护、建设网站、管理证书以及开启BBR优化网络性能。主要内容包括获取健康云服务器、配置SSH登录、创建非root用户、启用密钥认证、安装Nginx、申请TLS证书、配置HTTPS自动跳转及优化网络性能等步骤。通过本文,读者可以掌握从零开始搭建个人网站的全过程。
37 1
从零开始启动、配置、保护你的云服务器并搭建一个简单的网站
|
6天前
|
弹性计算 安全 开发工具
灵码评测-阿里云提供的ECS python3 sdk做安全组管理
批量变更阿里云ECS安全组策略(批量变更)
|
15天前
|
开发框架 .NET PHP
网站应用项目如何选择阿里云服务器实例规格+内存+CPU+带宽+操作系统等配置
对于使用阿里云服务器的搭建网站的用户来说,面对众多可选的实例规格和配置选项,我们应该如何做出最佳选择,以最大化业务效益并控制成本,成为大家比较关注的问题,如果实例、内存、CPU、带宽等配置选择不合适,可能会影响到自己业务在云服务器上的计算性能及后期运营状况,本文将详细解析企业在搭建网站应用项目时选购阿里云服务器应考虑的一些因素,以供参考。
|
23天前
|
存储 人工智能 弹性计算
阿里云弹性计算(ECS)提供强大的AI工作负载平台,支持灵活的资源配置与高性能计算,适用于AI训练与推理
阿里云弹性计算(ECS)提供强大的AI工作负载平台,支持灵活的资源配置与高性能计算,适用于AI训练与推理。通过合理优化资源分配、利用自动伸缩及高效数据管理,ECS能显著提升AI系统的性能与效率,降低运营成本,助力科研与企业用户在AI领域取得突破。
42 6
|
2天前
|
弹性计算 Linux 数据安全/隐私保护
阿里云上快速搭建幻兽帕鲁游戏联机服务器指南
对于热爱幻兽帕鲁游戏的玩家来说,搭建一台专属的联机服务器无疑能够大大提升游戏体验。阿里云作为领先的云计算服务商,为玩家提供了便捷、高效的服务器搭建方案。本文将为您详细介绍如何在阿里云上快速搭建幻兽帕鲁游戏联机服务器,让您轻松享受多人游戏的乐趣。
|
26天前
|
负载均衡 监控 应用服务中间件
配置Nginx反向代理时如何指定后端服务器的权重?
配置Nginx反向代理时如何指定后端服务器的权重?
48 4
|
28天前
|
人工智能 弹性计算 编解码
阿里云GPU云服务器性能、应用场景及收费标准和活动价格参考
GPU云服务器作为阿里云提供的一种高性能计算服务,通过结合GPU与CPU的计算能力,为用户在人工智能、高性能计算等领域提供了强大的支持。其具备覆盖范围广、超强计算能力、网络性能出色等优势,且计费方式灵活多样,能够满足不同用户的需求。目前用户购买阿里云gpu云服务器gn5 规格族(P100-16G)、gn6i 规格族(T4-16G)、gn6v 规格族(V100-16G)有优惠,本文为大家详细介绍阿里云gpu云服务器的相关性能及收费标准与最新活动价格情况,以供参考和选择。
|
1月前
|
机器学习/深度学习 人工智能 弹性计算
什么是阿里云GPU云服务器?GPU服务器优势、使用和租赁费用整理
阿里云GPU云服务器提供强大的GPU算力,适用于深度学习、科学计算、图形可视化和视频处理等多种场景。作为亚太领先的云服务提供商,阿里云的GPU云服务器具备灵活的资源配置、高安全性和易用性,支持多种计费模式,帮助企业高效应对计算密集型任务。