天天看點

【遠端辦公】5分鐘學會搭建内網穿透

疫情期間大家都在讨論

遠端辦公

的實作,推薦看下黃東旭大佬 寫的 《PingCAP的5年遠端辦公實踐》,以下内網映射工具作為常用補充。

來講講為啥要做内網映射

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

  • 求網管大佬在路由器上給自己内網加個

    端口映射

  • 購買

    花生殼

    等動态域名解析軟體
  • 使用 natapp 等免費(也有付費的)的提供的内網映射服務
  • 基于

    ngrok/frp

    自建内網映射服務

為什麼放棄

ngrok

,使用

frp

【遠端辦公】5分鐘學會搭建内網穿透

我們在2016年提供了一個

ngrok

的免費服務,并且分享了搭建的步驟可以參考

《Angrok 一個内網穿透服務》

,搭建步驟對于一般的使用者非常不友好,後邊也就停止了相關的服務轉向了

frp

Github 的關注度對比

【遠端辦公】5分鐘學會搭建内網穿透
【遠端辦公】5分鐘學會搭建内網穿透

穿透協定支援

frp 支援 http ssh tcp udp ftp 等協定

【遠端辦公】5分鐘學會搭建内網穿透

開始動手

準備工作

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

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

安裝

frp (frps)

服務端

  • 下載下傳 frp 安裝包
https://github.com/fatedier/frp/releases/download/v0.31.1/frp_0.31.1_darwin_amd64.tar.gz
  • 解壓壓縮包,修改

    frps.ini

[common]
bind_port = 7000     # frps 服務啟動,占用的端口
vhost_http_port = 80  # frps 服務監聽轉發的端口           
  • 啟動

    frps

    服務
./frps -c ./frps.ini           

frp(frpc)

用戶端

自定義域名通路内網服務

  • 修改

    frpc.ini

[common]
server_addr = ECS的公網IP
server_port = 7000

[随意但必須唯一]
type = http
local_port = 本地目标服務的端口
custom_domains = 自定義的域名           
  • 啟動用戶端
./frpc -c ./frpc.ini
           
  • 通路 自定義域名即可通路内網的服務

使用ssh通路公司内網機器

  • frpc.ini

[common]
server_port = 7000

[随意但必須唯一]
type = tcp
local_ip = 127.0.0.1  
local_port = 22
remote_port = 10022           
./frpc -c ./frpc.ini           
  • 通過 ssh 通路内網機器
ssh -p 10022 [email protected]           

繼續閱讀