树莓派搭服务器(一)阿里云ECS+frp 实现内网穿透

0. 前言

  • 如果你只想在局域网下搭建树莓派服务器(如家庭影院、家庭云盘),那么完全不需要进行内网外穿
  • 内穿实现方法很多,如花生壳、Nrgok、frp等,但前提是需要一个公网ip
  • 我的实现方法:通过阿里云ECS服务器获得公网ip,通过frp将树莓派内网穿透到阿里云服务器的公网
  • 开搞吧…

1. 阿里云服务器选购

笔者购买时阿里云有活动,新人服务器优惠:优惠链接地址(注意活动截止时间)

在这里插入图片描述
由于服务器搭载在树莓派上(同等性能的树莓派和云服务器,服务器贵太多了),所以对于云服务器的性能要求并不高,蓝框的两个随便选一个就好,建议直接三年拉满,原价续费还是挺贵的;选配时可以增加一些带宽

笔者系统选择的是Ubuntu20.04LTS,在控制台中即可看到新购买的服务器实例,进行远程连接,选择Workbench远程连接即可
在这里插入图片描述

远程连接进入root终端;

在这里插入图片描述

备注:第一次登录需要root账户密码,忘记密码可以在控制台重置实例密码

3. 配置frp阿里云服务端----frps

3.1 下载frp压缩包

访问frp的官方GitHub页面:传送门 选择适合版本的压缩包,笔者云服务器为64位Linux系统,树莓派为armv7l
在这里插入图片描述
在对应版本压缩包上右键,保存链接地址,然后回到阿里云Workbench远程连接终端,在任意位置新建一个文件夹用来存放frps,笔者在root目录下建立frp文件夹用来下载

cd
mkdir frp
cd frp
wget https://github.com/fatedier/frp/releases/download/v0.36.2/frp_0.36.2_linux_amd64.tar.gz

注意将wget后改为你自己选择的版本的连接;下载后进行解压:

tar -zxvf frp_0.36.2_linux_amd64.tar.gz
cd frp_0.36.2_linux_amd64

3.2 配置frps.ini

进入解压后的目录,观察文件结构:
在这里插入图片描述
由于我们是服务端,所以frpc相关文件都没有用,可以删除

rm -rf frpc

(当然也可以不删,随你)

设置服务端配置文件:笔者喜欢用nano编辑器

nano frps.ini

配置如下:

[common]
bind_port = 7000
vhost_http_port = 80				
vhost_https_port = 443
dashboard_port = 7500
privilege_token = 12345678

说明:

  • bind_port是frps的监听端口,可以自己决定,这个参数应与后面配置frpc时的参数一致,需要在阿里云控制台上打开防火墙对应端口;
  • vhost_http_port和vhost_https_port是http和https服务所设置的虚拟主机的端口,一般设置成80和443,需要在阿里云控制台上打开防火墙对应端口;
  • 更多帮助 见frp帮助文档:传送门

3.3 配置阿里云服务器防火墙

接下来配置阿里云防火墙(安全组):主要的是蓝框的三个
在这里插入图片描述

3.4 启动frps服务

最后启动frp服务端

./frps -c ./frps.ini

最后的最后,添加frps开机自启动

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

添加如下内容

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

[Service]
Type=simple
Restart=on-failure
RestartSec=5s
ExecStart=/root/frps -c /root/frps.ini	#注意更改frps路径

[Install]
WantedBy=multi-user.target

3.5 参考指令:

sudo systemctl start frps.service	#开启frps服务
sudo systemctl enable frps.service	#设置开机自启动
sudo systemctl restart frps.service	#重启frps
sudo systemctl status frps.service	#查看frps状态

4. 配置frp树莓派客户端----frpc

4.1 下载并配置frp

同理,下载支持树莓派的frp版本,新建一个文件夹用来存放,设置frpc.ini

[common]
server_addr = xxx.xxx.xxx.xxx
server_port = 7000
privilege_token = 12345678

其中需要注意的几点:

  • server_addr填入阿里云主机的公网IP地址,server_port要和frps配置中的bind_port保持统一;
  • privilege_token应和frps中的保持一致;

4.2 配置SSH,追加frpc.ini

[ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 22
remote_port = 6000

配置好后你就可以通过公网IP:6000来实现到树莓派的SSH。

4.3 配置Http,追加frpc.ini

[web]
type = http
local_port = 80
custom_domains = xxx.xxx.xxx.xxx

custom_domains 可暂时填阿里云服务器公网ip(挖个坑,以后填)

设置树莓派frp客户端开机自启动

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

4.4 参考指令:

sudo systemctl start frpc  # 启动命令
sudo systemctl stop frpc  # 停止命令
sudo systemctl restart frpc  # 重启命令
sudo systemctl status frpc  # 查看状态

5. 测试:使用PuTTY外网连接树莓派

在这里插入图片描述

结语?:困死了…我要睡觉了,有空填坑

  • 3
    点赞
  • 32
    收藏
    觉得还不错? 一键收藏
  • 7
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值