[树莓派] 通过 frp 做内网穿透

如果想要从公网访问到自己的树莓派,就需要做内网穿透,frp 就是此类工具。

但需要注意的是,使用 frp 需要一台有公网 IP 的服务器。我这里用的是阿里云的云服务器。如果没有服务器的话,还有厂商提供的服务可以用,像花生壳什么的,不过那又是另外一个故事了。

当然,如果你有公网 IP ,就可以直接此关闭页面了。

下载

直接去 github 上下载: Release

需要注意的是,根据不同的操作系统或架构,需要下载不同的程序。

比方说我的树莓派4B,下载的就是 frp_0.35.1_linux_arm.tar.gz 这个文件。

而在服务器,我用的是 centOS7,下载的就是 frp_0.35.1_linux_386.tar.gz

如何知道系统的体系结构?这个在文末的参考链接有。

修改配置文件

在具有公网 IP 的服务器上,需要修改 frps.ini 文件。

在树莓派上,需要修改 frpc.ini 文件。

注:以下配置文件只配置了 ssh 连接。

服务端

修改配置文件 frps.ini

# frps.ini
[common]
bind_port = 7000 #frp服务端口

[ssh]
listen_port = 6000 #你转发的服务在外网访问的端口
auth_token = 123 #连接密码

启动 frps

# debug时候用,直接在终端启动
./frps -c ./frps.ini
# 后台启动
nohup ./frps -c ./frps.ini &

如果报错 -bash: ./frps: Permission denied

则给 frps 加权限,使用以下命令:

chmod 777 frps

客户端

修改配置文件 frpc.ini

# frpc.ini
[common]
server_addr = x.x.x.x # 公网 IP 地址
server_port = 7000
auth_token = 123

[ssh]
local_port = 22 
remote_port = 6000

启动 frps

# debug时候用,直接在终端启动
./frpc -c ./frpc.ini
# 后台启动
nohup ./frpc -c ./frpc.ini &

测试连接

如果直接运行命令,在终端会打印日志信息,可以看到连接成功之类的信息。

这时候可以新开一个会话,输入 ssh -p6000 root@xxx.xx.xx.xx 命令。

其中 xxx.xx.xx.xx 指的是公网服务器的 IP,root 指的是以 root 用户登录,6000 是配置文件中所指定 ssh 的访问端口。

敲入命令后会提示输入密码,填入密码完事。

关于日志,如果使用 nohup 命令启动的话,可以查看目录下的 nohup.out 文件来查看日志,使用命令:tail -f nohup.out

看着满屏幕的输出日志,如果这个时候又想做些其他操作怎么办?当然可以再开一个会话,但是也可以使用 screen 工具。screen 可以打开一个窗口,这样就相当于有了两个终端,可以随意切换。

我使用 frp 就是使用 nohup 命令让其在后台启动,然后利用 screen 创建一个窗口,其中使用 tail 命令查看日志。这样如果出现了问题,可以切换到窗口查看日志查看错误。

screen

关于后台启动,还可以使用 screen

安装 screen :

# debian 系统 (树莓派官方系统那个也是 debian )
sudo apt-get install screen
# centos
yum install screen

服务端

screen -S frps
cd 安装目录
./frps -c ./frps.ini

客户端

screen -S frpc
cd 安装目录
./frpc -c ./frpc.ini

启动完 frp ,关闭掉窗口,或者按 Ctrl+A+D 保持会话退出。

这里还有一些 screen 的常用参数:

screen -S yourname -> 新建一个叫yourname的session
screen -ls         -> 列出当前所有的session
screen -r yourname -> 回到yourname这个session
screen -d yourname -> 远程detach某个session
screen -d -r yourname -> 结束当前session并回到yourname这个session

参考链接

  1. frp内网穿透方案
  2. frp安装报错:./frpc: cannot execute binary file: Exec format error
  3. 如何查看linux系统的体系结构
  4. Linux中的screen命令使用
树莓派FRP是一种用于实现内网穿透的工具。通过FRP,您可以将位于NAT或防火墙后面的本地服务器暴露到互联网上。树莓派使用FRP来实现内网穿透的操作步骤如下: 1. 准备材料:您需要一台虚拟专用服务器(VPS),您可以选择使用virmach提供的虚拟专用服务器。 2. 配置服务器端:在虚拟专用服务器上安装并配置FRP。具体的配置步骤可以参考中的教程。 3. 配置客户端-树莓派:在树莓派上进行配置,使其能够与服务器端进行通信。具体的配置步骤可以参考中的教程。 4. 验证内网穿透:完成上述配置后,您可以尝试在树莓派上部署一个Web服务器,例如Apache、Nginx或Tomcat,并发布自己的项目。然后通过云服务器的IP地址和端口来访问树莓派所部署的项目,以验证内网穿透是否成功。具体的验证步骤可以参考中的说明。 如果您想重新安装FRP,可以按照中提供的方法进行卸载和重装。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [树莓派内网穿透方法大全](https://blog.csdn.net/concefly/article/details/115076359)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [树莓派使用FRP实现内网穿透教程](https://blog.csdn.net/qq_41676577/article/details/112856618)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [树莓派怎么实现内网穿透?](https://blog.csdn.net/weixin_47198051/article/details/122962247)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值