FRP內網穿透技術實現對校園網電腦的遠程訪問

背景

目前越來越多的服務依賴於雲服務器端實現,很多demo在自己筆記本上進行測試是相當困難的,而自己用的臺式機又在實驗室,所以便攜訪問變得尤爲重要。當然,有很多軟件可以實現對本地電腦的遠程訪問,比如大名鼎鼎的TeamViewer或者是國產向日葵軟件,不僅可以用作FTP傳輸文件,就連VNC遠程訪問桌面也是優化的流暢至極。但是!!!無奈實驗室網速不太給力,時而5M/s,時而10kb/s,用TeamViewer的感覺一卡一卡的着實難受。而且也並不需要桌面環境,用TeamViewer就顯得很雞肋了,因此我們可以通過內網穿透技術,實現便捷的遠程訪問自己的電腦,用命令行進行遠程辦公。

擺在眼前的問題則是,實驗室電腦分配的是局域網IP,而非公網IP,因此我們則需要利用內網穿透技術,經本機的局域網IP的某端口映射到某個公網IP的端口,我們只需訪問公網IP的端口,通過端口數據轉發,則可實現對局域網內的電腦的一個遠程訪問。

搭建前準備工作:

  1. 公網IP ,我們可以在百度雲或者騰訊雲購買雲服務器,這樣就有了公網IP;比如百度雲的雲服務器,60元一年,相對來說還挺划算的。(我自己用的則是騰訊雲的學生機,1核2G,一年120…沒趕得上雙十一,遺憾!)
    在這裏插入圖片描述
  2. 雲服務器主機,系統Ubuntu18.04LTS
  3. 本地局域網IP,Linux系統可通過ifconfig查看自己的局域網IP,而Windows系統則需要通過在cmd命令行中輸入ipconfig查看;
  4. 本地主機,系統Ubuntu18.04;

雲服務器端安裝FRP(服務器端frps)

  1. 安裝SSH服務 ,命令行輸入:

    sudo apt-get install openssh-server
    service ssh start      # 啓用ssh服務 
    
  2. 下載安裝FRP,命令行輸入:

    wget https://github.com/fatedier/frp/releases/download/v0.29.1/frp_0.29.1_linux_amd64.tar.gz
    tar -zxvf frp_0.29.1_linux_amd64.tar.gz    # 解壓文件
    cd frp_0.29.1_linux_amd64                  # 進入文件目錄
    vim frps.ini                               # vim 編輯文件
    

    也可以在此鏈接下載對應系統的frp文件https://github.com/fatedier/frp/releases,再通過FileZilla軟件進行FTP文件傳輸到服務器也可以

    打開文件後,顯示一下內容:

    # frps.ini
    [common]
    bind_port = 7000
    

    後臺啓動frps服務

    nohup ./frps -c ./frps.ini  &     # 複製該行代碼,不要忘記最後的 & 符號
    
  3. 設置安全組規則
    登錄雲服務器 > 控制檯 > 安全組 > 新建 > 選擇默認開放全部端口 > 管理實例 > 新增關聯 > 選擇自己的服務器進行綁定即可
    在這裏插入圖片描述
    在這裏插入圖片描述

本地安裝FRP(客戶端frpc)

  1. 安裝SSH服務 ,命令行輸入:

    sudo apt-get install openssh-server
    service ssh start      # 啓用ssh服務 
    
  2. 下載安裝FRP,此時直接通過鏈接https://github.com/fatedier/frp/releases下載直接解壓到本地比較方便!
    或者仍採用命令行方式下載:

    wget https://github.com/fatedier/frp/releases/download/v0.29.1/frp_0.29.1_linux_amd64.tar.gz
    tar -zxvf frp_0.29.1_linux_amd64.tar.gz
    cd frp_0.29.1_linux_amd64
    vim frpc.ini              # 注意此處是frpc文件
    

    文件內容修改爲:

    # frpc.ini
    [common]
    server_addr = x.x.x.x     # 此處需要填寫雲服務器公網ip,Ubuntu可通過ifconfig進行查看
    server_port = 7000
    
    [ssh]
    type = tcp
    local_ip = x.x.x.x       # 此處需要填寫本機局域網IP
    local_port = 22
    remote_port = 6000
    

    後臺啓動frpc服務

    nohup ./frpc -c ./frpc.ini  &     # 複製該行代碼,不要忘記最後的 & 符號
    

遠程連接測試

可通過在手機上下載安裝相關的terminal終端軟件測試,測試是需要填寫

Hostname(雲服務器主機IP) : x.x.x.x
Port:6000
Username(本地主機用戶名): xxx
Passwd: xxxx

或者電腦終端terminal連接

# test爲本地主機用戶名,x.x.x.x則是公網服務器ip地址
ssh -oPort=6000 [email protected]
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章