【工具】十分鐘快速搭建內網穿透工具 —— frp

cnguu發表於2019-04-21

簡介

  • frp 是一個可用於內網穿透的高效能的反向代理應用,支援 tcpudphttphttpsstcp 協議。
  • frp 需要服務端和客戶端共同作用,服務端為 frps,一般安裝在 vps 伺服器上;客戶端為 frpc,一般安裝在路由器或 NAS 上。
  • frpsfrpc 配置使用,可以遠端訪問或控制內網裝置。

frps 一鍵安裝

為了節省精力,這裡使用 clangcn 的一鍵安裝指令碼

支援的平臺:

  • Centos 6/7 32/64bit
  • Debian 6/7 32/64bit
  • Ubuntu 14 32/64bit

安裝

下載指令碼

$ wget --no-check-certificate https://raw.githubusercontent.com/clangcn/onekey-install-shell/master/frps/install-frps.sh -O ./install-frps.sh

修改許可權

$ chmod 700 ./install-frps.sh

開始安裝

$ ./install-frps.sh install

安裝過程選項的說明

選項 說明 預設
download_url frp 映象源下載地址 aliyun
bind_port frp 提供服務的埠 5443
vhost_http_port http 服務埠 80
vhost_https_port https 服務埠 443
dashboard_port frps 儀表盤埠,用於檢視 frp 工作狀態 6443
dashboard_user 儀表盤登入賬號 admin
dashboard_pwd 儀表盤登入密碼 隨機
token frps 和 frpc 通訊密碼 隨機
max_pool_count 每個代理的連線上線 50
log_level 日誌等級 info
log_max_days 日誌保留天數 3
log_file 是否開啟日誌 enable
tcp_mux 是否開啟多路複用,減少 tcp 的握手延遲 enable
kcp support 是否開啟 kcp enable

注意設定安全組或者防火牆

功能命令

命令 說明
frps start 啟動
frps stop 停止
frps restart 重啟
frps status 當前服務狀態
frps config vi 編輯配置
frps version 檢視版本
install-frps.sh update 更新指令碼
install-frps.sh uninstall 解除安裝

fprc 配置

客戶端以 Windows 系統為例,路由器或者 NAS 的對照參考即可

下載

在這裡 frp 下載對應 frps 的版本

下載後只需要這三個檔案即可

  • frpc.exe
  • frpc.ini
  • frpc_full.ini

配置

修改 frpc.ini 檔案

[common]
server_addr = xxxxxx    # 伺服器 IP
server_port = 5443      # bind_port
token = xxxxxx          # 與伺服器一致

[test]
type = http             # 型別
local_ip = 127.0.0.1    # 本地 IP
local_port = 80         # 本地埠
use_encryption = true   # 傳輸加密
use_gzip = true         # gzip 壓縮
custom_domains = xxxxxx # 自定義域名
http_user = xxxxxx      # 可選,訪問賬號
http_pwd = xxxxxx       # 可選,訪問密碼

[test2]
type =
local_ip =
local_port =
use_encryption =
use_gzip =
custom_domains =
http_user =
http_pwd =

log_file = /dev/null
log_level = info
log_max_days = 3

啟動

開啟 cmd,執行 frpc.exe 即可

Nginx 埠轉發

80 埠被 Nginx 佔用的情況下,利用 Nginx 進行埠轉發

這裡 7080frpshttp 服務埠

新增站點檔案 test.conf,內容如下:

server
    {
        listen 80;
        server_name www.cnguu.cn;
        location / {
            proxy_pass http://127.0.0.1:7080;
            proxy_redirect off;
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        }
        access_log off;
        error_log /dev/null;
    }

冷死寶寶了

相關文章