【遠端辦公】5分鐘實現內網穿透

冷冷gg發表於2020-01-30

疫情期間大家都在討論 遠端辦公的實現,推薦看下黃東旭大佬 寫的 《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 安裝包

github.com/fatedier/fr…

  • 解壓壓縮包,修改 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 root@x.x.x.x
複製程式碼

image

相關文章