frp 實現內網穿透

HuDu發表於2021-03-26

FRP 下載

frp 採用 Golang 編寫,支援跨平臺

Github:
github.com/gofrp/frp-site
github.com/fatedier/frp
frp 中文文件:github.com/fatedier/frp/blob/dev/R...
frp 中文文件: https://gofrp.org

配置

伺服器端

前提條件
無服務需要有能訪問到的公網 IP

一、下載解壓

$ mkdir frp && cd frp

$ wget https://github.com/fatedier/frp/releases/download/v0.34.2/frp_0.34.2_linux_amd64.tar.gz
tar -zxvf frp_0.34.2_linux_amd64.tar.gz
cd frp_0.34.2_linux_amd64

二、修改配置

修改伺服器端配置檔案 frps.ini

[common]
bind_port = 7000    # 與客戶端繫結進行通行的埠
vhost_http_port = 6081    # 訪問客戶端 web 服務自定義的埠

三、執行

./frps -c ./frps.ini

客戶端

一、下載解壓壓縮包,同上

二、修改配置檔案frpc.ini

[common]
server_addr = xxx.xxx.xxx.xxx # frps 所在伺服器的公網 IP
server_port = 7000    # 與服務端 bind_port 一致

# 公網通過 ssh 訪問內部伺服器
[ssh]
type = tcp    # 連線協議
local_ip = 192.168.1.65 # 本地需要暴露到公網的服務地址
local_port = 22         # 本地需要暴露到公網的服務地址
remote_port = 6000      # 在 frp 服務端監聽的埠,訪問此埠的流量將會被轉發到本地服務對應的埠

# 公網訪問內部 web 伺服器以 http 方式
[web]
type = http    # 訪問協議
local_port = 8081    # 內網 web 服務的埠號
custom_domains = my.test.com    # 所繫結的伺服器域名,一級二級都行

三、啟動客戶端 frpc 服務

./frpc -c ./frpc.ini

效果

記得將防火牆對應的埠開放,不然所有的請求會被防火牆攔截

ssh 連線

$ ssh -oPort=6000 username@xxx.xxx.xxx.xxx

頁面訪問

my.test.com:8081
本作品採用《CC 協議》,轉載必須註明作者和本文連結

相關文章