<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      FRP 內網穿透

      視頻說明:https://www.bilibili.com/video/BV1vT411w7YP

      內網穿透

      本地電腦上起了服務,其他人是訪問不到的,借助服務器的公網IP,服務端幫助轉發消息,其他人才能訪問到本地電腦上的服務。

      具體可以用來做什么

      1、本地計算機上啟動 web 服務,通過端口映射,別人通過公網和端口就能訪問。

      2、Windows 遠程桌面連接,比如,從住的地方連接公司的電腦。(有安全風險,需要和公司報備)

      3、SSH 遠程連接到開發板內的 linux 系統。

      向日葵的免費賬戶的帶寬有限

      我有1臺騰訊的輕量云服務器

      frp 文件下載:https://www.123pan.com/s/Lwn8Vv-ul2x.html
      提取碼:FAIM

      winsw 文件下載:https://www.123pan.com/s/Lwn8Vv-Sl2x.html
      提取碼:bYeZ

      frp 中文文檔
      https://gofrp.org/zh-cn/docs/
      https://github.com/fatedier/frp/blob/dev/README_zh.md

      服務端

      服務端下載 frps

      下載frp軟件:https://github.com/fatedier/frp

      服務端下載安裝

      比如

      /opt/目錄下

      cd /opt/
      

      下載64位0.44版本的,arm服務器要選arm版本,現在常見服務器都是amd64架構的,也就是x86的64位指令集架構。

      wget https://github.com/fatedier/frp/releases/download/v0.44.0/frp_0.44.0_linux_amd64.tar.gz
      

      服務端配置 frps

      解壓

      tar -zxvf frp_0.44.0_linux_amd64.tar.gz
      

      重命名,為了后面配置路徑簡單

      mv frp_0.44.0_linux_amd64 frp
      

      配置文件,服務端 frps 的 s 即 server,frpc 的 c 即 client。

      vi  frps.ini
      

      frps.ini 文件內容,默認即可

      [common]
      bind_port = 7000
      

      也可以設置token,相當于設置了一個密碼,例如

      [common]
      bind_port = 7000
      token = abc123
      

      服務端防火墻,放行端口7000、7001、6000、8080等需要的端口

      啟動服務端

      正常啟動

      ./frps -c ./frps.ini
      

      服務端設置程序開機啟動

      在frps.service里寫入內容,有時候會提示system目錄不存在,那就先建目錄

      mkdir /usr/lib/systemd/system/
      vi /usr/lib/systemd/system/frps.service
      

      frps.service 內容

      [Unit]
      Description=frps service
      After=network.target
      
      [Service]
      Type=simple
      ExecStart=/opt/frp/frps -c /opt/frp/frps.ini
      
      [Install]
      WantedBy=multi-user.target
      

      配置生效,啟動,設置開機啟動

      systemctl daemon-reload
      systemctl start frps
      systemctl enable frps
      

      查看狀態

      systemctl status frps
      

      客戶端

      windows 客戶端配置 frpc

      Windows10 當然是amd64位架構的 frp_0.44.0_windows_amd64.zip

      比如想在家遠程公司電腦,在公司電腦上安裝設置 frpc。

      我喜歡在 C 盤下建一個sw的文件夾來存自己安裝的程序,sw 即 software 的意思。

      解壓到 C:\sw\目錄下,也就是現在 frp 目錄是 C:\sw\frp(需要把這個文件夾添加到病毒排除項

      修改 frp 客戶端的配置文件frpc.ini

      [common]
      server_addr = 127.0.0.1
      server_port = 7000
      
      [rdp7001]
      type = tcp
      local_ip = 127.0.0.1
      local_port = 3389
      remote_port = 7001
      

      修改第一句 server_addr127.0.0.1為云服務器的 IP 地址

      如果服務端配置了 token,那客戶端也要配置。

      windows一般也不用ssh,刪除內容,增加遠程桌面的協議 rdp 的設置

      即現在是

      [common]
      server_addr = 云服務器地址
      server_port = 7000
      token = abc123
      
      [rdp7001]
      type = tcp
      local_ip = 127.0.0.1
      local_port = 3389
      remote_port = 7001
      

      ?? “server_addr”是服務端 IP 地址,填入即可,

      ?? “server_port”為服務器端口,即 bind_port 的值,

      ?? “token”是你在服務器上設置的連接口令。

      ?? [rdp]:這個 rdp 是給服務起的名字,名字當然隨意設置,就是服務名字不能重復(從服務端看來,一個端口一個名字),如果有多個遠程桌面需要端口轉發,可以起:[rdp7001]、[rdp7002]

      這里用到了 2 個自定義規則,一個是 rdp,一個是 smb:

      ??RDP,即 Remote Desktop 遠程桌面,Windows 的 RDP 默認端口是 3389,協議為 TCP,本條規則可以實現遠程桌面連接。

      ??SMB,即 Windows 文件共享所使用的協議,默認端口號 445,協議 TCP,本條規則可實現遠程文件訪問。

      在 window10 上啟動 frpc 程序

      注意:Microsoft Defender 會給 frpc.exe 軟件報病毒,會給移除,需要還原。

      打開 cmd 程序,比如 win + R,輸入 cmd,我一般按 win 鍵,輸入 cmd,右鍵“以管理員身份運行”

      切換到 frpc 的目錄

      cd C:\sw\frp
      frpc.exe -c frpc.ini
      

      就啟動了

      win10 啟動遠程桌面:【設置】,【系統】,【遠程桌面】,啟動遠程桌面

      Windows 遠程連接:

      按 win 鍵,輸入“遠程桌面連接”

      計算機:服務端公網IP地址:7001

      用戶名和密碼,是 window 電腦的用戶名和密碼。

      當然也可以把本地 web 服務通過云服務器訪問

      增加 web 配置即可

      [webxxx]
      type = tcp
      local_ip = 127.0.0.1
      local_port = 本地端口
      remote_port = 映射到的服務器端口
      

      現在完整的配置如下

      [common]
      server_addr = 云服務器地址
      server_port = 7000
      token = abc123
      
      [rdp7001]
      type = tcp
      local_ip = 127.0.0.1
      local_port = 3389
      remote_port = 7001
      
      [web9090]
      type = tcp
      local_ip = 127.0.0.1
      local_port = 8080
      remote_port = 9090
      

      windows 客戶端設置程序開機啟動

      需要一個軟件 winsw

      https://github.com/winsw/winsw

      Windows 服務包裝器,WinSW 將任何應用程序作為一個 Windows 服務進行包裝和管理。

      WinSW 3可以在安裝了 .NET Framework 4.6.1 或更高版本的Windows平臺上運行。

      對于沒有 .NET 框架的系統,該項目提供基于 .NET 核心的本地64位和32位可執行文件。

      因為 win11 自帶 .Net 環境

      所以下載 WinSW.NET461.exe

      配置文件

      WinSW.NET461.xml

      <service>
        
        <!-- 服務ID,整個 window 系統中唯一-->
        <id>frpc</id>
        <!-- 服務的顯示名字 -->
        <name>frpc</name>
        <!-- 服務描述 -->
        <description>FRP 客戶端,用來實現內網穿透</description>
        
        <!-- Path to the executable, which should be started -->
        <!-- 想要啟動的可執行程序的路徑 -->
        <executable>C:\SW\frp\frpc.exe</executable>
        <!-- 攜帶的參數 -->
        <arguments>-c C:\SW\frp\frpc.ini</arguments>
        
        <!-- 第一次啟動失敗 60秒重啟 -->
        <onfailure action="restart" delay="60 sec"/>
        <!-- 第二次啟動失敗 120秒后重啟 -->
        <onfailure action="restart" delay="120 sec"/>
        <!-- 日志模式 -->
        <logmode>append</logmode>
        <!-- 指定日志文件目錄(相對于WinSW.exe配置的路徑) -->
        <logpath>C:\SW\frp\log</logpath>
      
      </service>
      

      將 exe 和 xml 文件放到同一個文件夾下

      命令行運行,使用 WinSW-x64.exe

      // 安裝服務
      WinSW-x64.exe install
      
      // 卸載服務
      WinSW-x64.exe uninstall
      
      // 啟動服務
      WinSW-x64.exe start
      
      // 停止服務
      WinSW-x64.exe stop
      
      // 重啟服務
      WinSW-x64.exe restart
      
      // 查看狀態
      WinSW-x64.exe status
      

      命令行運行,使用 WinSW.NET461.exe

      // 安裝服務
      WinSW.NET461.exe install
      
      // 卸載服務
      WinSW.NET461.exe uninstall
      
      // 啟動服務
      WinSW.NET461.exe start
      
      // 停止服務
      WinSW.NET461.exe stop
      
      // 重啟服務
      WinSW.NET461.exe restart
      
      // 查看狀態
      WinSW.NET461.exe status
      

      按 win 鍵,輸入“服務”,找到 frpc 服務,第一次要手動啟動

      啟動失敗,就去看看 frpc 的配置文件 frpc.ini 內容是否不匹配。

      linux 客戶端配置 frpc

      注意版本

      開發板一般是arm架構系統32/64位的linux系統,frp_0.44.0_linux_arm.tar.gzfrp_0.44.0_linux_arm64.tar.gz

      比如

      /opt/目錄下

      cd /opt/
      

      下載

      wget https://github.com/fatedier/frp/releases/download/v0.44.0/frp_0.44.0_linux_arm.tar.gz
      

      解壓

      tar -zxvf frp_0.44.0_linux_arm.tar.gz
      

      重命名,為了后面配置路徑簡單

      mv frp_0.44.0_linux_arm frp
      

      配置文件

      修改配置文件 frpc.ini

      [common]
      server_addr = 服務端公網IP地址
      server_port = 7000
      token = abc123
      
      [ssh]
      type = tcp
      local_ip = 127.0.0.1
      local_port = 22
      remote_port = 6000
      

      運行客戶端程序

      ./frpc -c ./frpc.ini
      

      如果還有開發板客戶端要連接,也就是服務端要用不同的端口幫忙轉發,一個客戶端用一個端口,比如新增加的開發板用 6001 端口,注意段端放開 6001 端口。

      linux 客戶端設置程序開機啟動

      為 frpc 配置 systemd 的service文件,有時候會提示system目錄不存在,那就先建目錄

      mkdir /usr/lib/systemd/system/
      vi /usr/lib/systemd/system/frpc.service
      

      frpc.service 文件內容

      [Unit]
      Description=frpc
      Wants=network-online.target
      After=network.target network-online.target
      Requires=network-online.target
      
      [Service]
      ExecStart=/opt/frp/frpc -c /opt/frp/frpc.ini
      ExecStop=/bin/kill $MAINPID
      Restart=always
      RestartSec=5
      StartLimitInterval=0
      
      [Install]
      WantedBy=multi-user.target
      

      解釋一下上面文件內容

      • Wants:本單元啟動了,它“想要”的單元也會被啟動。但是這個單元若啟動不成功,對本單元沒有影響。
      • Requires: 這個單元啟動了,那么它“需要”的單元也會被啟動; 它“需要”的單元被停止了,它自己也活不了。但是請注意,這個設定并不能控制啟動順序,因為它“需要”的單元啟動也需要時間,若它“需要”的單元啟動還未完成,就開始啟動本單元,則本單元也無法啟動,所以不建議使用這個字段。
      • OnFailure:若本單元啟動失敗了,那么啟動這個單元作為折衷。
      • Before/After:指定啟動順序。
      Wants=network-online.target #其中network.target代表有網路,network-online.target代表一個連通著的網絡。
      
      ExecStart=/opt/frp/frpc -c /opt/frp/frpc.ini #是要運行的命令,文件要絕對地址。
      
      Restart=always #總是重啟
      RestartSec=5 #自動重啟當前服務間隔的秒數
      StartLimitInterval=0 #無限次重啟,默認是10秒內如果重啟超過5次則不再重啟,設置為0表示不限次數重啟
      

      使frpc服務生效

      systemctl daemon-reload
      systemctl enable frpc
      systemctl start frpc
      

      查看狀態

      systemctl status frpc
      

      遠程 SSH 連接開發板就是:

      使用SSH工具登錄

      • 用戶名,密碼:就是開發板上的用戶名和密碼
      • IP地址:公網IP
      • 端口:6000

      frp配置http

      type = tcp 的配置

      服務端不修改

      客戶端增加

      frpc.ini

      [common]
      server_addr = 49.235.114.132
      server_port = 7000
      token = abc123
      
      [web]
      type = tcp
      local_ip = 127.0.0.1
      local_port = 48080
      remote_port = 8080
      

      type = http 的配置

      服務端配置

      frps.ini

      [common]
      bind_port = 7000
      token = abc123
      vhost_http_port = 8080
      

      客戶端配置

      frpc.ini

      [common]
      server_addr = 49.235.114.132
      server_port = 7000
      token = abc123
      
      [web-48080]
      type = http
      local_port = 48080
      local_ip = 127.0.0.1
      

      服務起名字

      服務名字是隨便取的,要求是不能重復。

      當然一般可以起有意義的簡短名字加上端口號

      比如 rdp7002、web-48080

      比如 kepserver 上的 OPCUA server 服務,我只知道本地端口 49320 轉到服務端端口 49320

      類似這樣

      [OPCUA-49320]
      type = http
      local_port = 49320
      local_ip = 127.0.0.1
      remote_port = 49320
      

      內網服務外網訪問

      比如在內網服務器 192.168.10.8 上部署了一個服務 hello,端口 8080

      想要能從外網通過公網 IP 訪問

      可以在客戶端

      [hello-8080]
      type = tcp
      local_ip = 192.168.10.8
      local_port = 8080
      remote_port = 8080
      

      hello 相當于服務端的服務名字,不能重復,懶得起名可以使用 UUID

      訪問地址:外網IP:8080

      Docker 啟動和 toml 格式

      Docker 啟動服務端實踐

      文件夾

      /app/frps
      ├── docker
      │   ├── Dockerfile
      │   └── frp
      │       ├── frps
      │       └── frps.toml
      ├── frps.toml
      └── startup.sh
      

      frps.toml

      bindPort = 7000   #服務端監聽端口
      auth.method = "token"   #服務端連接身份認證,默認token
      auth.token = "mytoken"   #服務端token密碼
      

      Dockerfile

      FROM alpine:3.8
      
      ENV VERSION 0.59.0
      ENV TZ=Asia/Shanghai
      ENV APP_DIR=/frp
      WORKDIR $APP_DIR
      
      COPY ./frp $APP_DIR
      
      RUN apk add --no-cache tzdata \
          && ln -snf /usr/share/zoneinfo/${TZ} /etc/localtime \
          && echo ${TZ} > /etc/timezone
      
      VOLUME /frp
      
      CMD /frp/frps -c /frp/frps.toml
      

      構建

      cd /app/frps/docker
      docker build -t frps:1.0 .
      

      啟動命令 startup

      docker run -d \
          --name frps \
          --restart always \
          -v /app/frps/frps.toml:/frp/frps.toml \
          --log-opt max-size=1m \
          --log-opt max-file=3 \
          frps:1.0
      

      重啟

      docker restart frps
      

      查看日志

      docker logs -f frps
      

      Docker 啟動客戶端實踐

      內網,所以先下載了對應文件,然后使用 Dockerfile 制作鏡像。
      優點:不使用 systemd 管理了,修改了 frpc.toml 后,docker 重啟服務即可。

      文件夾,只保留 frpc 和 frpc.toml 文件

      /app/frpc/docker/frp
      |-- frpc
       -- frpc.toml
      

      Dockerfile

      FROM alpine:3.8
      
      ENV VERSION 0.59.0
      ENV TZ=Asia/Shanghai
      ENV APP_DIR=/frp
      WORKDIR $APP_DIR
      
      COPY ./frp $APP_DIR
      
      RUN apk add --no-cache tzdata \
          && ln -snf /usr/share/zoneinfo/${TZ} /etc/localtime \
          && echo ${TZ} > /etc/timezone
      
      VOLUME /frp
      
      CMD /frp/frpc -c /frp/frpc.toml
      

      構建

      cd /app/frpc/docker
      docker build -t frpc:1.0 .
      

      啟動

      docker run -d \
          --name frpc \
          --restart always \
          -v /app/frpc/frpc.toml:/frp/frpc.toml \
          --log-opt max-size=1m \
          --log-opt max-file=3 \
          frpc:1.0
      

      重啟

      docker restart frpc
      docker logs -f frpc
      

      toml 格式配置文件

      服務端 frpc.toml

      serverPort = 7000
      auth.method = "token"
      auth.token = "服務端設置的token值"
      

      客戶端 frpc.toml

      serverAddr = "公網IP"
      serverPort = 7000
      auth.method = "token"
      auth.token = "服務端設置的token值"
      
      [[proxies]]
      name = "redis-36379"
      type = "tcp"
      localIP = "192.168.10.8"
      localPort = 36379
      remotePort = 36379
      
      [[proxies]]
      name = "redis-26379"
      type = "tcp"
      localIP = "192.168.10.8"
      localPort = 26379
      remotePort = 26379
      

      上面配置是將內網的一個 Redis 服務映射出去,測試用的。

      客戶端和服務端版本,最好一致,不一致也能用。

      posted @ 2022-08-21 21:31  ioufev  閱讀(1468)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 九九热热久久这里只有精品| 国产一区二区高清不卡| 亚洲一级片一区二区三区| 亚洲深夜精品在线观看| 成人免费毛片aaaaaa片| 国内精品自在拍精选| 中文字幕人妻精品在线| 欧美成a人片在线观看久| 无码视频一区二区三区| 中文字幕乱码一区二区免费| 人体内射精一区二区三区| 日韩美女一区二区三区视频| 亚洲日本欧美日韩中文字幕| 亚洲国产精品久久久天堂麻豆宅男 | 亚洲人妻av伦理| 麻豆久久天天躁夜夜狠狠躁| 国内不卡一区二区三区| 国产成人亚洲综合图区| 国产成人免费永久在线平台| 电影在线观看+伦理片| 亚洲国产成人AⅤ片在线观看| av一本久道久久波多野结衣| 国产熟女肥臀精品国产馆乱| 中文文字幕文字幕亚洲色| 99久久国产成人免费网站| 白嫩人妻精品一二三四区| 国产精品人妻熟女男人的天堂| 超碰成人人人做人人爽| 建始县| 国产精品福利自产拍久久| 国产乱人激情H在线观看| 亚洲免费成人av一区| 国产精品美女一区二区三| 加勒比亚洲视频在线播放| 日夜啪啪一区二区三区| 水蜜桃视频在线观看免费18| 国内自拍偷拍福利视频看看| 免费无码成人AV片在线| 国产福利精品一区二区| 亚洲国产成人精品区综合| 国产精品亚洲二区在线看|