树莓派内网穿透实践

设备:

  1、树莓派4

  2、云主机一台,有公网ip的那种;(本人是企鹅家的云主机,搞活动买的),系统为CentOS 7.5

frp github地址:https://github.com/fatedier/frp/releases

frp github中文文档地址:https://github.com/fatedier/frp/blob/master/README_zh.md

树莓派安装包:https://github.com/fatedier/frp/releases/download/v0.32.1/frp_0.32.1_linux_arm.tar.gz

CentOS安装包:https://github.com/fatedier/frp/releases/download/v0.32.1/frp_0.32.1_linux_amd64.tar.gz

一、Server端配置:

  1、创建frp程序目录:

   mkdir -pv /usr/local/frp

  2、解压frp_0.32.1_linux_amd64.tar.gz到frp目录:

   tar -xvf frp_0.32.1_linux_amd64.tar.gz -C /usr/local/frp

  3、编辑/usr/local/frp/frps.ini: 

    [common]
    bind_port = 7000   #如果服务器7000端口没有被占用,可以用默认端口;

  4、启动server端程序:

    临时启动: ./frps -c ./frps.ini

         配置启动文件:

      在/usr/lib/systemd/system/目录或者/etc/systemd/system/目录下创建frps.service

      [Unit]
      Description=frpc
      After=syslog.target network.target
      Wants=network.target

      [Service]
      Type=simple
      ExecStart=/usr/local/frp/frps -c /usr/local/frp/frps.ini
      Restart= always
      RestartSec=1min

      [Install]
      WantedBy=multi-user.target

    启动命令:

      systemctl start frps.service   启动frps服务

         systemctl reload frps.service    重载frps服务

      systemctl restart frps.service  重启frps服务

                      systemctl stop  frps.service    停止frps服务

      加入开机启动项:systemctl enable frps.service

    查看监听的端口和进程

    

 二、Client端配置:

  1、创建frp程序目录:

   mkdir -pv /usr/local/frp

  2、解压frp_0.32.1_linux_arm.tar.gz到frp目录:

   tar -xvf frp_0.32.1_linux_arm.tar.gz -C /usr/local/frp

  3、编辑配置文件/usr/local/frp/frpc.ini      

    [common]   #名称,自定义
    server_addr = 118.xxx.xxx.31    #腾讯云服务器的公网ip地址
    server_port = 7000                     #frp服务端的端口号

    [ssh]  #名称,自定义
    type = tcp    #协议类型
    local_ip = 192.168.31.128   #内网地址
    local_port = 22     #本地端口
    remote_port = 6000   #远程端口

  4、启动server端程序:

    临时启动: ./frps -c ./frps.ini

    配置启动文件:

      在/usr/lib/systemd/system/目录或者/etc/systemd/system/目录下创建frpc.service     

      [Unit]
      Description=frpc
      After=syslog.target network.target
      Wants=network.target

      [Service]
      Type=simple
      ExecStart=/usr/local/frp/frpc -c /usr/local/frp/frpc.ini
      Restart= always
      RestartSec=1min

      [Install]
      WantedBy=multi-user.target

    启动命令:
       systemctl start frpc.service 启动frpc服务
       systemctl reload frpc.service 重载frpc服务
       systemctl restart frpc.service 重启frpc服务
       systemctl stop frpc.service 停止frpc服务

       加入开机启动项:systemctl enable frpc.service

  最后,到这步,其实已经就实现了,内网穿透的功能,可一用ssh连接公网地址的6000端口就能直接连接到树莓派了;frp还有其他功能,比如开放80端口可以用内网穿透的方式用外网可以访问自己的内网服务器;其他功能还是去开头的github中文文档学习;

 

猜你喜欢

转载自www.cnblogs.com/zhangzhide/p/12683266.html