樹莓派反向代理方法大全

樹莓派反向代理方法大全

在用樹莓派搭建自有服務的過程中,比如 NAS,經常會遇到 反向代理 這個詞。通俗而言,就是讓你能用 4G 網絡連接到家裡正連著路由器的樹莓派。

反向代理技術有很多種,常見的有端口映射、端口轉發和端到端穿透。

端口映射,即靜態地址轉換,將內網地址與公網地址進行一對一的轉換,且每個內部地址的轉換都是確定的。路由器的虛擬服務器就是靜態 NAT 的應用之一。

端口轉發,即通過其他服務器代理轉發請求給內網地址。端口轉發都需要一個公網 IP 服務器,如果自己沒有的話,就只能找第三方提供的服務了。

端到端穿透。利用 UDP 或 TCP 打洞技術,在兩臺機器上建立直接的網絡連接,即端到端連接(Peer 2 Peer)。一旦穿透成功,就可以不限速訪問,比較適用於視頻攝像等大流量應用。但是受國內網絡複雜環境影響,穿透成功率也不是百分百的,特別是跨網絡運營商時。

端到端穿透的原理比較複雜,這裡不展開介紹了。有興趣的可以直接翻看文章最後面的“參考資料”。

這篇文章收集了時下流行的能用於樹莓派的反向代理方案,有的需要自己架設服務器,有的需要購買服務,還有些是免費的,但通常體驗不好或者有流量限制。

方案沒有十全十美,只有最適合的,還是要根據自己的實際情況選用。

路由器端口映射

樹莓派反向代理方法大全

“路由器端口映射”是最簡單的一種方案,有些路由器上叫“虛擬服務器”,說的都是同一個技術。它優點和缺點都很明顯,沒有其他費用,有路由器即可,配置簡單,無流量帶寬限制,但路由器自身要有公網 IP,公網 IP 經常變的話還要藉助 DDNS(動態域名解析)來保證穿透穩定。

要注意的是,國內某些寬帶運營商分配給用戶路由器的 IP 可能並不是公網 IP,而是某個更大局域網的內網 IP。如果你的路由器沒有公網 IP,就不能用端口映射來做了。

如何判斷自己外網 IP 是否為真實公網 IP,以及解決方案 - lclc - 博客園

操作教程:

  • 路由器端口轉發、DMZ 和 UPnP 實現內網穿透的方法 - 玩個機吧
  • 路由器虛擬服務器(端口映射)設置指導 - TP-LINK 服務支持

花生殼(端口轉發)

樹莓派反向代理方法大全

商業內網穿透軟件,成熟穩定,體驗版免費,但有帶寬和流量限制,不適合 NAS 等場景,增加帶寬和流量需要收費,固定外網端口要收費。

操作教程:

  • 花生殼 3.0 for 樹莓派 安裝使用攻略 - 客服中心 - Oray
  • liunx 樹莓派 3 ubuntu-mate 花生殼 ssh 端口映射 - 知乎

ssh 反向隧道(端口轉發)

樹莓派反向代理方法大全

ssh 反向隧道是一個典型的反向代理應用,只要有 ssh 客戶端就能完成內網穿透。但它需要一臺公網服務器做跳板機,而且相對不夠穩定,要搭配 autossh 做斷線重連。

操作教程:

  • SSH反向隧道進行內網穿透運維 黑禮服丶弒魂-CSDN博客
  • SSH反向隧道搭建過程 | 靜覓
  • 利用SSH反向隧道,連接內網服務器 - felixnet - 博客園

Holer(端口轉發)

樹莓派反向代理方法大全

Holer 是一個 Java 編寫的開源內網穿透軟件。服務端由 Spring Boot 和 Netty 等開源框架實現,使用 MySQL 數據庫統一管理數據,支持跨平臺。客戶端有 Java 和 Go 兩種語言版本。

操作教程:

  • wisdom-projects/holer-client: Holer Client
  • wisdom-projects/holer: Holer exposes local servers behind NATs and firewalls to the public internet over secure tunnels.
  • Holer 服務端軟件使用 - 千里駒 - 博客園
  • 使用 holer 從公網 ssh 登錄樹莓派 - Wisdom Blog

ngrok(端口轉發)

樹莓派反向代理方法大全

ngrok 是一個開源的內網穿透軟件,誕生至今已經 7 年了,在國外有官網和服務器。不過 ngrok 只開源了 1.7 及以下的版本,2.0 版本往後已經閉源。

操作教程:

  • inconshreveable/ngrok: Introspected tunnels to localhost
  • ngrok - secure introspectable tunnels to localhost

frp(端口轉發)

一個使用 Go 開發的高性能開源反向代理應用,支持轉發 TCP、UDP、HTTP、HTTPS 協議,還支持 P2P 連接模式。功能強大,高性能,但要自己架設服務端安裝。

操作教程:

  • fatedier/frp: A fast reverse proxy to help you expose a local server behind a NAT or firewall to the internet.
  • 樹莓派使用 frp 實現內網穿透 | 樹莓派小無相系列 - 簡書
  • 樹莓派折騰記: 使用 FRP 穿透內網 | 美麗應用

n2n(端到端穿透)

在數據鏈路層實現的一套開源 P2P 內網穿透軟件。

操作教程:

  • n2n 內網穿透折騰記 - 知乎
  • 蒐集整理N2N使用中的一些經驗 | 好運博客
  • ntop/n2n: Peer-to-peer VPN

PeerVPN(端到端穿透)

樹莓派反向代理方法大全

開源的去中心化 VPN 軟件,使用網狀拓撲邏輯結構,所有節點彼此之間互聯,無需中央服務器,任何一個節點宕機並不影響其他機器的相互通訊。

操作教程:

  • PeerVPN - the open source peer-to-peer VPN

ZeroTier(端到端穿透)

樹莓派反向代理方法大全

基於 P2P 穿透的去中心化開源 VPN 軟件,能安裝在幾乎任何平臺。官方還提供了免費的 P2P 根服務器。

操作教程:

  • ZeroTier – Global Area Networking
  • ZeroTier內網穿透教程 | 底噪
  • 內網穿透工具——ZeroTier One的使用 - 簡書
  • ZeroTier - 無配置,零基礎「內網穿透」隨時隨地連回家/學校/辦公室

goproxy(端到端穿透)

一個用 Go 編寫的開源內網穿透軟件。

Proxy是高性能全功能的http代理、https代理、socks5代理、內網穿透、內網穿透p2p、內網穿透代理、內網穿透反向代理、內網穿透服務器、Websocket代理、TCP代理、UDP代理、DNS代理、DNS加密代理,代理API認證,全能跨平臺代理服務器。

操作教程:

  • GOPROXY IN ACTION
  • goproxy/README_ZH.md at master · snail007/goproxy
  • snail007/goproxy

Serveo(端口轉發)

Serveo 是一個免費的內網穿透服務,Serveo 可以將本地計算機暴露在互聯網上,官方聲稱其為 Ngrok 的絕佳替代品。Serveo 其最大優點是使用現有的 SSH 客戶端,無需安裝任何客戶端軟件,即可完成端口轉發。

操作教程:

  • milio48/serveo: Serveo port forwarder, ngrok alternative
  • Serveo: expose local servers to the internet using SSH

natapp(端口轉發)

樹莓派反向代理方法大全

基於 ngrok 的國內內網穿透服務,免費版會強制更換域名,臨時用一下可以,更多功能需要付費使用。

操作教程:

  • NATAPP基於ngrok的國內高速內網穿透服務

ChuanTou.ORG(端口轉發)

樹莓派反向代理方法大全

基於 frp 的國內內網穿透服務,提供免費的 frp 服務器。

操作教程:

  • FRP 內網穿透工具 - 免費 Frp 內網穿透服務器,支持綁定頂級域名,開放 80 端口。

小米球 ngrok(端口轉發)

樹莓派反向代理方法大全

一個個人維護的 ngrok 免費服務器。

操作教程:

  • Ngrok 國內免費服務器 - 小米球 ngrok

nps(端口轉發)

樹莓派反向代理方法大全

一款輕量級、高性能、功能強大的內網穿透代理服務器。支持tcp、udp、socks5、http等幾乎所有流量轉發,可用來訪問內網網站、本地支付接口調試、ssh訪問、遠程桌面,內網dns解析、內網socks5代理等等……,並帶有功能強大的web管理端。

操作教程:

  • ehang-io/nps
  • NPS 內網穿透教程 / 入門+進階 / 一個孤單的銅離子
  • NPS-輕量級內網穿透代理服務器 - Newlearnerの小站

lanproxy(端口轉發)

樹莓派反向代理方法大全

lanproxy是一個將局域網個人電腦、服務器代理到公網的內網穿透工具,支持tcp流量轉發,可支持任何tcp上層協議(訪問內網網站、本地支付接口調試、ssh訪問、遠程桌面...)

操作教程:

  • ffay/lanproxy
  • IO2C - 開源內網穿透工具
  • P2P技術詳解(三):P2P中的NAT穿越(打洞)方案詳解(進階分析篇) - 知乎
  • P2P如何實現內網穿透(打洞)_網絡_u014023993的專欄-CSDN博客
  • p2p通信原理及實現_網絡_yunlianglinfeng的專欄-CSDN博客


分享到:


相關文章: