Go FRP:快速反向代理助您穿越 NAT 或防火牆,輕鬆連接互聯網

在當前的互聯網架構中,NAT(網絡地址轉換)和防火牆是常見的網絡安全措施,它們爲內網提供了一層保護。然而,這同時也意味着在不進行特別配置的情況下,外部網絡無法直接訪問內網的服務。爲了解決這一問題,Go FRP(Fast Reverse Proxy)應運而生。它是一個快速的反向代理工具,可以幫助您將內網服務安全地暴露到外網,極大地簡化了穿越 NAT 或防火牆的過程。

Go FRP 的工作原理

Go FRP 通過在外網(公網)部署一個 FRP 服務器(frps),以及在內網部署一個 FRP 客戶端(frpc)的方式來工作。FRP 客戶端會向 FRP 服務器建立一個穩定的反向代理連接,通過這個連接,FRP 服務器可以將外網請求反向代理到內網服務上。這個過程大致如下:

  1. FRP 服務器(frps):部署在擁有公網 IP 的服務器上,負責接收來自外網的請求。

  2. FRP 客戶端(frpc):運行在需要被訪問的內網服務上,負責建立與 FRP 服務器的連接,並轉發請求。

快速部署 Go FRP

安裝

首先,您需要在公網服務器和內網服務器上安裝 Go FRP。

1. 下載 Go FRP

2. 解壓文件

tar -zxvf frp_*.tar.gz
cd frp_*

這將解壓 Go FRP,您將看到frpsfrpc分別是服務器端和客戶端的可執行文件。

配置 FRP 服務器

在公網服務器上,創建配置文件frps.ini

[common]
bind_port = 7000

這裏的bind_port是 FRP 服務器監聽的端口,您可以根據需求進行更改。

啓動 FRP 服務器

./frps -c ./frps.ini

配置 FRP 客戶端

在內網服務器上,創建配置文件frpc.ini

[common]
server_addr = [公網服務器IP]
server_port = 7000

[ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 22
remote_port = 6000

這裏配置了一個名爲ssh的代理,將內網的 SSH 服務通過 FRP 暴露到外網的 6000 端口。

啓動 FRP 客戶端

./frpc -c ./frpc.ini

驗證連接

此時,您應該可以通過公網服務器的 IP 和 6000 端口訪問到內網服務器的 SSH 服務了。

ssh -p 6000 user@公網服務器IP

在實際使用中的擴展

Go FRP 不僅支持 TCP 協議,還支持 UDP、HTTP、HTTPS 等多種協議的轉發,這意味着您幾乎可以通過 FRP 暴露內網中的任何服務到外網。通過合理的配置,Go FRP 可以成爲穿越 NAT 或防火牆的強大工具,使得內外網之間的連接更加靈活和安全。

通過深入瞭解 Go FRP,您會發現它在現代網絡架構中的無限可能。無論是搭建個人的遠程訪問環境,還是企業的內部服務對外分享,Go FRP 都可以提供一種高效、安全的解決方案。

本文由 Readfog 進行 AMP 轉碼,版權歸原作者所有。
來源https://mp.weixin.qq.com/s/-FtGwM4ud04jG4VlBz2RXg