[树莓派] 通过 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命令使用
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值