1. 程式人生 > 實用技巧 >frp 內網穿透

frp 內網穿透

frp介紹

frp 是一個可用於內網穿透的高效能的反向代理應用,支援 tcp, udp 協議,為 http 和 https 應用協議提供了額外的能力,且嘗試性支援了點對點穿透。

搭建

服務端搭建

需要一臺外網伺服器,我這裡是一臺阿里雲的ECS,系統CentOS 7。

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

服務端配置

  1. 複製 & 解壓

    # 複製到local下的frp目錄
    cp frp_0.33.0_linux_amd64.tar.gz /usr/local/frp
    
    # 解壓
    tar -axvf frp_0.33.0_linux_amd64.tar.gz
    
    # 刪除掉與frp客戶端相關的內容
    rm -rf frpc* 
    
  2. 修改frps.ini檔案,vi frps.ini

    [common]
    bind_port = 7100
    dashboard_port = 7500
    dashboard_user = alice
    dashboard_pwd = 123456
    

    儲存,退出。

  3. 啟動

    ./frps -c frps.ini
    
  4. 後臺啟動方式

    nohub ./frps -c frps.ini &
    

將frp作為服務

  1. 進入frp根目錄下的systemd資料夾,修改frps.service

    [Unit]
    Description=Frp Server Service
    After=network.target
    
    [Service]
    Type=simple
    User=nobody
    Restart=on-failure
    RestartSec=5s
    
    # 只需要修改下面這一行,路徑根據自己的設定
    ExecStart=/usr/local/frp/frp_0.33.0_linux_amd64/frps -c /usr/local/frp/frp_0.33.0_linux_amd64/frps.ini
    
    [Install]
    WantedBy=multi-user.target
    
    

    儲存,退出。

  2. 將frps.service複製到/etc/systemd/system/目錄下

  3. 執行下面命令,就可以很方便的啟動關閉frp服務端了

    # 重新載入
    systemctl daemon-reload
    
    # 啟動frps
    systemctl start frps.service
    
    # 重啟
    systemctl restart frps.service
    
    # 關閉
    systemctl stop frps.service
    
    # 開機自啟
    systemctl enable frps.service
    

客戶端搭建

同樣下載客戶端程式,只不過這次下載的是windows的。

客戶端配置

下載成功後,解壓,然後找到frpc.ini,作如下配置

[common]
server_addr = 39.xxx.xxx.xxx
server_port = 7100

[web]
type = tcp
local_ip = 127.0.0.1
local_port = 8080
remote_port = 7700

server_addr:服務端監聽地址,和服務端配置的地址一致

server_port:服務端埠 ,和服務端配置的地址一致

local_ip:本地地址,待接收訊息的應用所在地址

local_port:本地埠,待接收訊息的應用監聽的埠

remote_port:遠端伺服器監聽的埠,例如:遠端伺服器監聽埠為7777,你訪問http://xxx.xxx.xxx.xxx:7700,將轉發到本地http://127.0.0.1:8080。

啟動,和服務端一樣,開啟命令列輸入如下命令