树莓派设置frp内网穿透

less than 1 minute read

发布于:

树莓派接入局域网后无法远程连接上。可以启动一个frp客户端进行内网穿透,从而允许远程ssh、vnc等连接。frp的服务器资源可以网上搜搜,找到一个免费的frp服务器速度还可以,https://www.ioiox.com/frp.html

一、frp客户端配置使用。

  1. frp客户端下载

    下载地址:https://github.com/fatedier/frp/releases,选择适合自己操作系统的版本,树莓派3B下载linux_arm版。

  2. 配置frpc.ini

    编辑frpc.ini文件如下:

    [common]
    server_addr = frp2.ioiox.com
    server_port = 7007
    token = www.ioiox.com
    login_fail_exit = false
       
    [ssh]
    type = tcp
    local_ip = 127.0.0.1
    local_port = 22
    remote_port = 6022
    subdomain = ssh
       
    [vnc]
    type = tcp
    local_ip = 127.0.0.1
    local_port = 5900
    remote_port = 5920
    subdomain = vnc
    
  3. 启动frpc客户端。

    ./frpc -c ./frpc.ini
    

二、通过frp连接树莓派

  1. ssh连接

    ssh -oPort=6022 pi@ssh.b.ioiox.xyz
    or
    ssh -oPort=6022 pi@frp2.ioiox.com
    
  2. vnc连接,可以通过vncviewer等软件编辑如下连接地址进行连接

    vnc.b.ioiox.xyz:5920
    or
    frp2.ioiox.com:5920
    

三、设置frp客户端开机自启动

  1. 新建systemctl启动service文件。

    sudo nano /usr/lib/systemd/system/frp.service
    

    写入如下内容:

    [Unit]
    Description=frpc
    After=network.target
       
    [Service]
    TimeoutStartSec=30
    ExecStart=/home/pi/frp/frpc -c /home/pi/frp/frpc.ini
    ExecStop=/bin/kill $MAINPID
    Restart=always
    RestartSec=20s
       
    [Install]
    WantedBy=multi-user.target
    
  2. 设置服务自启动

    sudo systemctl enable frp.service
    
  3. 手动启动服务

    sudo systemctl start frp.service
    
  4. 查看服务状态

    sudo systemctl status frp.service