給你推薦一款非常優秀的內網穿透工具 FRP (Fast Reverse Proxy)
作為程序員為什么你必須有一款非常優秀的內網穿透工具
在計算機網絡中,內網穿透是一種通過公網建立安全通道,使得位于內網的計算機和服務可以被外部網絡訪問。對程序員而言,內網穿透可以幫助你干什么呢?
訪問內網服務
好處:內網穿透允許程序員通過公網訪問內網的服務。這對于開發者來說是極為方便的,尤其是在遠程工作或需要通過云服務對內網服務進行訪問的場景下。
必要性:內網中的服務通常無法直接通過公網 IP 訪問,內網穿透打破了這種限制,使得程序員可以輕松地在外部環境中訪問和測試內網服務。
你想想你平時在公司的開發環境是不是都在公司的內網環境中,如果你需要在家里使用公司的內網環境的話,內網穿透是不是一個非常好的選擇。
遠程調試與開發
好處:內網穿透允許程序員在遠程環境中進行調試和開發。通過將本地服務映射到公網上,開發者可以在任何地方、任何設備上進行開發工作,無需局限于特定網絡環境。
必要性:對于需要不斷迭代和測試的項目,遠程調試是提高開發效率的關鍵。內網穿透為程序員提供了遠程調試的靈活性,減少了時間和地域上的限制。
Webhook 接收
好處:內網穿透可以用于接收來自外部服務的 Webhook 請求。這對于處理第三方服務的回調通知、接收 GitHub Webhook 等場景非常重要。
必要性:外部服務通常需要將回調通知發送到指定的地址,而內網環境下無法直接接收這些請求。內網穿透可以將本地服務映射到公網,使得 Webhook 回調能夠正常觸發本地服務。
敏感數據保護
好處:內網穿透通過加密和身份驗證機制,確保了內網服務與外部環境之間的通信安全性。開發者可以安心地在外部環境中使用內網服務,而不必擔心敏感信息泄漏。
必要性:在保護用戶數據隱私和遵循安全規范的前提下,內網穿透為程序員提供了一種安全可控的遠程訪問方式,使得敏感數據得以有效保護。
所以我們程序員必須擁有得學會使用內網穿透,這對我們的工作有很大的幫助。
推薦一個非常好用的內網穿透工具 FRP(Fast Reverse Proxy)
為什么要推薦FRP(Fast Reverse Proxy)呢?FRP(Fast Reverse Proxy)作為一款優秀的內網穿透工具,它具有:
簡單易用的配置
FRP 提供了簡潔明了的配置文件,配置過程簡單直觀。用戶可以通過簡單的設置完成對內網服務的映射和穿透,無需繁瑣的操作和深厚的網絡知識。
多協議支持
FRP 支持多種協議,包括常見的 TCP 和 UDP 協議,以及應用層的 HTTP、HTTPS 等協議。這使得 FRP 不僅可以用于簡單的端口映射,還可以適用于代理 Web 服務等更復雜的應用場景。
安全性保障
FRP 提供了可靠的身份驗證和加密機制,用戶可以通過設置用戶名和密碼,以及使用 TLS/SSL 加密通信,確保傳輸的安全性。這對于處理敏感數據和保護內網服務至關重要。
跨平臺支持
FRP 支持多個操作系統,包括 Windows、Linux、macOS 等。這為用戶提供了更大的靈活性,使其能夠在不同的平臺上選擇適用的版本,便于部署和使用。
高性能和穩定性
FRP 的設計注重性能和穩定性,經過實際測試,在處理大量連接和數據傳輸時表現出色。這使得 FRP 可以在生產環境中得到可靠的應用,保證服務的穩定運行。
活躍的社區和持續更新
FRP 擁有一個活躍的開源社區,用戶可以在社區中獲取支持、提出問題,分享經驗。同時,FRP 的開發團隊也在不斷進行更新和改進,保障了 FRP 的穩定性、兼容性和安全性。
靈活的應用場景
由于支持多協議和提供了豐富的配置選項,FRP 可以適用于各種不同的應用場景,包括遠程調試、內網服務對外訪問、Webhook 接收等,為用戶提供了極大的靈活性。
FRP(Fast Reverse Proxy)的快速入門
我們使用 Linux Ubuntu 20.04.2 LTS x86_64 作為操作系統來演示 FRP (Fast Reverse Proxy)的快速搭建。
FRP需要在兩臺服務器搭建,一個客戶端,一個服務端。
FRP 服務器端:
監聽外部請求:服務器端負責監聽來自公網的外部請求。這些請求可以是來自不同地理位置或網絡環境的客戶端發起的,通過公網傳輸到 FRP 服務器。
反向代理內網服務:當 FRP 服務器接收到外部請求時,它會將請求轉發給內網的 FRP 客戶端。這種方式實現了內網服務對外的映射,即通過 FRP 服務器的公網 IP 和端口訪問內網的服務。
安全認證和加密:FRP 服務器通常支持安全認證機制,通過用戶名和密碼等方式對外部請求進行身份驗證。同時,服務器和客戶端之間的通信也可以采用加密手段,保障數據傳輸的安全性。
FRP 客戶端:
連接 FRP 服務器:客戶端負責與 FRP 服務器建立連接,通常通過配置文件指定 FRP 服務器的地址和端口。連接建立后,客戶端與服務器之間可以進行雙向通信。
映射內網服務:客戶端將內網的服務與 FRP 服務器進行關聯,通過配置文件指定內網服務的類型、IP 地址、端口等信息。這樣,來自 FRP 服務器的外部請求就能夠被映射到相應的內網服務。
維持心跳和保持連接:為了保持連接的穩定性,客戶端會定期向 FRP 服務器發送心跳信息,以確保連接沒有中斷。這對于長時間運行的服務和實時通信非常重要。
在服務器端配置 FRP
1、下載 FRP
你可以在 Frp 的 GitHub Release 頁面上找到最新版本的下載鏈接。
wget https://github.com/fatedier/frp/releases/download/v0.36.2/frp_0.36.2_linux_amd64.tar.gz
2、解壓 FRP
tar -zxvf frp_0.36.2_linux_amd64.tar.gz
3、進入 FRP目錄
復制一份 FRP 的示例配置文件:
cp frps.ini /etc/frp/frps.ini
然后編輯配置文件:
nano /etc/frp/frps.ini
修改配置文件中的bind_port為 Frp 服務器監聽的端口,例如:
bind_port = 7000
4、啟動 FRP 服務器
./frps -c /etc/frp/frps.ini
在客戶端配置 FRP
1、下載 FRP
你可以在 Frp 的 GitHub Release 頁面上找到最新版本的下載鏈接。
wget https://github.com/fatedier/frp/releases/download/v0.36.2/frp_0.36.2_linux_amd64.tar.gz
2、解壓 FRP
tar -zxvf frp_0.36.2_linux_amd64.tar.gz
3、進入 FRP目錄
復制一份 FRP 的示例配置文件:
cp frpc.ini /etc/frp/frpc.ini
然后編輯配置文件(注意是frpc.ini):
nano ./frpc.ini
修改配置文件中的server_addr和server_port為你 FRP 服務器的地址和端口,設置token為服務器配置文件中的token。
[common] server_addr = your_server_ip server_port = 7000 token = your_token
添加映射規則:
FRP將本地的127.0.0.1:80映射到 FRP 服務器上的your_server_ip:6000。
[web] type = http local_ip = 127.0.0.1 local_port = 80 remote_port = 6000
4、啟動 FRP 服務器
./frpc -c /etc/frp/frpc.ini
博主 FRP 配置僅供參考
服務端
地址 47.104.77.123
[common] # Frp 服務器監聽的端口,默認為 7000,這里改成 7001 bind_port = 7001 # 授權碼,請使用更復雜和安全的令牌 token = 123456 # Frp 管理后臺端口,按需更改,默認為 7500 dashboard_port = 7500 # Frp 管理后臺的用戶名 dashboard_user = admin # Frp 管理后臺的密碼,請設置為強密碼 dashboard_pwd = admin # 啟用 Prometheus 監控 enable_prometheus = true # Frp 日志配置 log_file = /var/log/frps.log # 日志級別,可以設置為 debug、info、warn、error,默認為 info log_level = info # 日志最大保存天數 log_max_days = 3
客戶端
# 客戶端配置 [common] # 啟用 TLS 加密 tls_enable = true # Frp 服務器地址 server_addr = 47.104.77.123 # Frp 服務器監聽的端口,與 frps.ini 的 bind_port 一致 server_port = 7001 # Frp 服務器配置的 token,與 frps.ini 的 token 一致 token = 123456 # 配置 SSH 服務 [ssh] type = tcp # 本地 SSH 服務地址 local_ip = 127.0.0.1 # 本地 SSH 服務端口 local_port = 22 # 自定義的遠程端口,用于連接 SSH remote_port = 6000 # 配置 HTTP 服務 [web] type = http # 本地 HTTP 服務地址 local_ip = 127.0.0.1 # 本地 HTTP 服務端口 local_port = 8080 # 自定義的子域名,用于訪問 Web 服務 subdomain = test.hijk.pw # 自定義的遠程端口,例如 8080 remote_port = 8080
使用
你就可以通過公網47.104.77.123連接到 ssh 遠程連接到你的電腦了。
ssh 123456@47.104.77.123 -p 6000
注意 端口一定要開放
比如:博主的例子里邊的 服務端 7001 7005端口。
審核編輯:湯梓紅
-
Linux
+關注
關注
87文章
11345瀏覽量
210386 -
計算機
+關注
關注
19文章
7536瀏覽量
88638 -
網絡
+關注
關注
14文章
7599瀏覽量
89243 -
遠程調試
+關注
關注
0文章
40瀏覽量
8639 -
程序員
+關注
關注
4文章
953瀏覽量
29855
原文標題:內網穿透工具 FRP (Fast Reverse Proxy) 真的非常好用
文章出處:【微信號:magedu-Linux,微信公眾號:馬哥Linux運維】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論