别再苦求公開 IP 了!這款 Go 開發的穿透神器,讓內網服務秒變公開存取!

還在為內網環境無法外網存取發愁?只需一台最基礎的雲端伺服器作為「橋樑」,配合這款以 Go 語言編寫的高效能工具,即可輕鬆打通內外網。

image.png

如果你是一名開發者,一定被內網穿透這個問題折磨過:

  • 家庭寬頻沒有公開 IP,家裡的 NAS 和私有雲只能在客廳裡存取。
  • 公司內網防火牆森嚴,想遠端拉取實驗室的測試程式碼簡直難如登天。
  • 工廠現場的 AI 視覺系統、工業看板,需要給身在總部的技術總監示範,卻無法建立連線。

通常這種時候,我們會去求電信業者給個公開 IP,或者花大錢買昂貴的商業內網穿透服務。但其實,你只需要一台花費幾十塊錢的極簡雲端伺服器,再加上今天的主角——frp。

核心邏輯:為什麼它能解決你的問題?

我們需要釐清一個事實:內網穿透不是「憑空變出 IP」,而是「搭建一座橋梁」。

frp(Fast Reverse Proxy)是以 Go 語言開發的高效能反向代理應用程式。它的工作原理非常清楚:

  1. 伺服端(frps):部署在一台擁有公開 IP 的雲端伺服器上,作為「中轉站」。
  2. 客戶端(frpc):部署在你的內網裝置上(例如你的筆電、NAS、工廠主機)。
  3. 流量轉發:當你透過公開 IP 存取雲端伺服器時,frps 會將請求轉發給潛伏在內網的 frpc,從而實現「隔山打牛」。

為什麼選擇以 Go 語言開發的 frp?

  • 極致輕量:可執行的二進位檔直接運行,不依賴系統庫,嵌入式裝置也能跑。
  • 並發能力強:利用 Go 的 goroutine 協程機制,處理大量連線時記憶體占用極低。
  • 靈活穩定:支援 TCP、UDP、HTTP、HTTPS 甚至 P2P 模式,設定邏輯非常符合開發者習慣。

實戰演練:從內網到公開網路,只需三步

準備工作:一台具有公開 IP 的雲端伺服器(作為中轉橋樑)和你的內網待穿透裝置。

第一步:部署伺服端(公開橋樑)

在雲端伺服器上修改 frps.toml:

# frps.toml
bindPort = 7000           # 伺服端監聽埠,負責與內網客戶端通訊

# 安全第一,設定一個驗證令牌
auth.method = "token"
auth.token = "password123"

執行:./frps -c ./frps.toml

第二步:部署客戶端(內網服務)

在內網裝置(比如你的開發機)上修改 frpc.toml:

# frpc.toml
serverAddr = "你的伺服器公開IP"
serverPort = 7000
auth.token = "password123"

[[proxies]]
name = "my-local-web"
type = "tcp"
localIP = "127.0.0.1"     # 你本地服務的 IP
localPort = 80            # 你本地服務的埠
remotePort = 6000         # 遠端伺服器的埠

執行:./frpc -c ./frpc.toml

第三步:享受連線

現在,你只需要存取 http://伺服器公開IP:6000,流量就會透過雲端伺服器,自動「鑽進」你的內網環境,精準抵達你的本地服務

進階場景:它能做的遠不止 Web

由於 frp 底層基於 Go 強大的網路函式庫,它的應用場景幾乎覆蓋開發的所有角落:

  1. 遠端桌面(RDP/SSH)

    • 即便身在咖啡館,也能透過公開 IP 的特定埠,一鍵 SSH 連回實驗室的 Linux 伺服器或遠端操作家裡的 Windows 桌面。
  2. 工業視覺與 embodied AI

    • 在工業自動化場景中,部署在車間的 AI 視覺終端(例如跑 YOLO 模型的邊緣節點)往往位於內網。透過 frp 映射,身在辦公室的工程師可以即時查看辨識畫面,大幅提升遠端維運效率。
  3. 微信/釘釘 開發調試

    • 不再需要頻繁部署到測試環境。本地程式碼改完,微信的回調瞬間送達你的本地 IDE。

避坑指南:穿透後的安全防範

把內網服務暴露在公開網路,如果不注意安全,等同於給駭客留了後門。請務必注意:

  • 必須設定 Token(驗證令牌):嚴禁空密碼運行,防止惡意客戶端佔用你的伺服器。
  • 啟用 TLS 加密:在設定中啟用 transport.tls.enable = true,避免流量被中間人截獲。
  • 限制本地監聽:本地服務盡量只監聽 127.0.0.1,透過 frp 精準暴露必要的服務。
  • 嘗試 P2P 模式:如果對頻寬要求極高,可以嘗試 frp 的 xtcp 模式,讓資料在兩端直連,減少伺服器流量負擔。

結語

雖然我們需要一台雲端伺服器作為「入場券」,但相比向電信業者申請或購買昂貴專線,frp 提供了一個既硬核又高性價比的解決方案。

如果你也想打造自己的「私有穿透網路」,frp 絕對是目前 Go 社群最值得推薦的工具。


原文出處:https://juejin.cn/post/7624418298995523635


精選技術文章翻譯,幫助開發者持續吸收新知。

共有 0 則留言


精選技術文章翻譯,幫助開發者持續吸收新知。
🏆 本月排行榜
🥇
站長阿川
📝9   💬11   ❤️3
563
🥈
我愛JS
📝2   💬7   ❤️2
149
🥉
💬1  
4
評分標準:發文×10 + 留言×3 + 獲讚×5 + 點讚×1 + 瀏覽數÷10
本數據每小時更新一次
📢 贊助商廣告 · 我要刊登