樹莓派內網穿透實踐


設備:

  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]
    #frps監聽的frp服務端口和web端口
    bind_port = 200
    vhost_http_port = 90

      #授權碼,建議加上
    token = hao123

    #frp管理后台配置
    dashboard_port = 81 #管理端口自定義
    dashboard_user = zhang
    dashboard_pwd = 123456
    enable_prometheus = true

    #frp日志配置
    log_file = /var/log/frp/frps.log
    log_level = info
    log_max_days = 3

  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

    查看進程

         

    frp server端web控制台展示

      

 二、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 = 117.xx.xxx.33 #公網服務器地址
    server_port = 200 #遠程server端端口
    token = hao123 #跟server端保持一致

    #frp日志配置
    log_file = /var/log/frp/frpc.log
    log_level = info
    log_max_days = 3

    [ssh]
    type = tcp
    local_ip = 192.168.0.52
    local_port = 22
    remote_port = 222

    [web-gitlab]
    type = http
    custom_domains = www.zhidegitlab.cn
    local_ip = 192.168.0.52
    local_port = 80

    [web-jenkins]
    type = http
    custom_domains = www.zhidejenkins.cn
    local_ip = 192.168.0.52
    local_port = 8080

  4、啟動client端程序:

    臨時啟動: ./frpc -c ./frpc.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連接:ssh root@公網ip -p 222
         web-gitlab訪問:http://www.zhidegitlab.cn:90
   web-jenkins訪問:http://www.zhidejenkins.cn:90

  如果自己的域名可以在公網上解析,則直接域名加端口訪問就好,如果僅僅是自己玩,則在自己的電腦上hosts綁定訪問即可;

  最后,到這步,其實已經就實現了,內網穿透的功能,可以用ssh連接公網地址的222端口就能直接連接到樹莓派了,通過90端口就可以訪問樹莓派的web服務,通過81端口可以訪問frp server端的web控制台;frp還有其他功能,其他功能還是去開頭的github中文文檔學習;


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM