「遠程辦公」5分鐘實現內網穿透

疫情期間大家都在討論 遠程辦公的實現,推薦看下黃東旭大佬 寫的 《PingCAP的5年遠程辦公實踐》,以下內網映射工具作為常用補充。

來講講為啥要做內網映射

從公網中訪問自己的內網設備一直是個麻煩事情,尤其是做微信開發等。設備可能處於路由器後,或者運營商因為IP地址短缺不給你分配公網IP地址。如果我們想直接訪問到這些設備,一般非常麻煩。

  • 求網管大佬在路由器上給自己內網加個端口映射
  • 購買 花生殼 等動態域名解析軟件
  • 使用 natapp 等免費(也有付費的)的提供的內網映射服務
  • 基於ngrok/frp自建內網映射服務

為什麼放棄 ngrok,使用 frp


我們在2016年提供了一個ngrok 的免費服務,並且分享了搭建的步驟可以參考《Angrok 一個內網穿透服務》 ,搭建步驟對於一般的用戶非常不友好,後邊也就停止了相關的服務轉向了 frp。

Github 的關注度對比


「遠程辦公」5分鐘實現內網穿透

「遠程辦公」5分鐘實現內網穿透


穿透協議支持

frp 支持 http ssh tcp udp ftp 等協議


「遠程辦公」5分鐘實現內網穿透


開始動手

準備工作

搭建一個完整的frp服務,我們需要

  • 公網IP 的 ECS 一臺
  • 域名 (若不需要解析則不需要)

安裝 frp (frps)服務端

  • 下載 frp 安裝包

github.com/fatedier/fr…

  • 解壓壓縮包,修改 frps.ini
<code>[common]
bind_port = 7000 # frps 服務啟動,佔用的端口
vhost_http_port = 80 # frps 服務監聽轉發的端口/<code>
  • 啟動 frps 服務
<code>./frps -c ./frps.ini/<code>

安裝 frp(frpc)客戶端

  • 在目標內網設備機器,安裝客戶端。 根據操作系統下載不同版本

自定義域名訪問內網服務

  • 修改 frpc.ini
<code>[common]
server_addr = ECS的公網IP
server_port = 7000

[隨意但必須唯一]
type = http
local_port = 本地目標服務的端口
custom_domains = 自定義的域名/<code>
  • 啟動客戶端
<code>./frpc -c ./frpc.ini/<code>
  • 訪問 自定義域名即可訪問內網的服務

使用ssh訪問公司內網機器

  • 修改 frpc.ini
<code>[common]
server_port = 7000

[隨意但必須唯一]
type = tcp
local_ip = 127.0.0.1
local_port = 22
remote_port = 10022/<code>
  • 啟動客戶端
<code>./frpc -c ./frpc.ini/<code>
  • 通過 ssh 訪問內網機器
<code>ssh -p 10022 [email protected]/<code>

鏈接:https://juejin.im/post/5e325019e51d453c9e15618d


分享到:


相關文章: