基于阿里云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服务,可以实现树莓派局域网下的公网访问。阿里云服务器的官方文档十分友好,使用起来十分舒适,后续我也会基于阿里云服务继续其他开发工作。

相关实践学习
通义万相文本绘图与人像美化
本解决方案展示了如何利用自研的通义万相AIGC技术在Web服务中实现先进的图像生成。
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情: https://www.aliyun.com/product/ecs
相关文章
|
9月前
|
弹性计算 运维 安全
阿里云轻量应用服务器与云服务器ECS啥区别?新手帮助教程
阿里云轻量应用服务器适合个人开发者搭建博客、测试环境等低流量场景,操作简单、成本低;ECS适用于企业级高负载业务,功能强大、灵活可扩展。二者在性能、网络、镜像及运维管理上差异显著,用户应根据实际需求选择。
761 10
|
9月前
|
运维 安全 Ubuntu
阿里云渠道商:服务器操作系统怎么选?
阿里云提供丰富操作系统镜像,涵盖Windows与主流Linux发行版。选型需综合技术兼容性、运维成本、安全稳定等因素。推荐Alibaba Cloud Linux、Ubuntu等用于Web与容器场景,Windows Server支撑.NET应用。建议优先选用LTS版本并进行测试验证,通过标准化镜像管理提升部署效率与一致性。
|
9月前
|
存储 监控 安全
阿里云渠道商:云服务器价格有什么变动?
阿里云带宽与存储费用呈基础资源降价、增值服务差异化趋势。企业应结合业务特点,通过阶梯计价、智能分层、弹性带宽等策略优化成本,借助云监控与预算预警机制,实现高效、可控的云资源管理。
|
9月前
|
弹性计算 运维 安全
区别及选择指南:阿里云轻量应用服务器与ECS云服务器有什么区别?
阿里云轻量应用服务器适合个人开发者、学生搭建博客、测试环境,易用且性价比高;ECS功能更强大,适合企业级应用如大数据、高流量网站。根据需求选择:轻量入门首选,ECS专业之选。
615 2
|
9月前
|
弹性计算 运维 安全
阿里云轻量应用服务器38元1年和云服务器99元1年怎么选?二者性能区别及选择参考
在阿里云当下的活动中,38元/年的轻量应用服务器与99元/年的云服务器ECS成为众多新用户的关注焦点。但是有部分用户并不是很清楚二者之间的区别,因此就不知道应该如何选择。接下来,笔者将为您详细剖析ECS云服务器与轻量应用服务器的差异,以供您参考和选择。
819 4
阿里云轻量应用服务器38元1年和云服务器99元1年怎么选?二者性能区别及选择参考
|
9月前
|
弹性计算 定位技术 数据中心
阿里云服务器配置选择方法:付费类型、地域及CPU内存配置全解析
阿里云服务器怎么选?2025最新指南:就近选择地域,降低延迟;长期使用选包年包月,短期灵活选按量付费;企业选2核4G5M仅199元/年,个人选2核2G3M低至99元/年,高性价比爆款推荐,轻松上云。
1077 11

热门文章

最新文章