內網穿透,即NAT穿透,網路連線時術語。外網與內網的計算機節點需要連線通訊,對映埠能讓外網的電腦找到處於內網的電腦,提高下載速度。
內網穿透的應用場景
web 應用開發
向外網釋出開發的一些web demo,或者遠端除錯 API 介面 (如:微信公眾號,企業號的開發)
內網應用的訪問
公司內網部署的應用、資料庫等,人員出差、或者臨時外出,需要遠端訪問、連線除錯等情況。
遠端操控硬體裝置
物聯網裝置開發、除錯
今天就給大家介紹一款更牛逼的神器:serveo
牛逼之處就在於它無需下載安裝任何的軟體,一條命令搞定!,更重要的是它完全免費!
Serveo概述
Serveo 是一個免費的內網穿透服務,Serveo 可以將本地計算機暴露在網際網路上,官方稱其為 Ngrok 的絕佳替代品。
serveo 最大優點是:無需安裝、無需註冊、利用SSH隧道即可直接使用。
Serveo工作原理
Serveo SSH 伺服器只是遠端埠轉發,當使用者連線到 Serveo 時,他們得到一個公共URL,任何人都可以使用連線到 localhost 伺服器。
專案地址: https://serveo.net
安裝說明
無需安裝,開箱即用。
伺服器前提
需要具備SSH功能,並且能正常連結網際網路。
Serveo 使用實踐
將本地應用(HTTP服務)的 3000 埠對映到公網中
將本地應用的3000埠對映到公網中
# 如果要轉發其它埠,只需替換埠為其它就可以了
$ ssh -R 80:localhost:3000 serveo.net
Hi there
Forwarding HTTP traffic from https://heryum.serveo.net
Press g to start a GUI session and ctrl-c to quit.
第一次使用會提示建立SSH會話,請輸入yes確定。
建立會話成功後,它會隨機生成一個 xx.serveo.net 二級域名。你就可以使用瀏覽器訪問這個隨機生成的二級域名 heryum.serveo.net 去訪問到本地計算機 3000 埠上的服務了。
也可以不使用這個隨機生成的域名,你可以自定義一個自己習慣的二級域名,也是可以的,具體操作步驟如下:
$ ssh -R mingongge:80:localhost:3000 serveo.net
Hi there
Forwarding HTTP traffic from https://mingongge.serveo.net
Press g to start a GUI session and ctrl-c to quit.
...
# 這個自定義二級域名可以簡寫,也可以寫完整的,如:
$ ssh -R mingongge.serveo.net:80:localhost:8080 serveo.net
2、將本地 22 埠穿透到公網中
遠端訪問本地的ssh服務其實很簡單,只需要使用下面的命令即可。
# 名稱為自定義的,這裡設定為 mingongge
$ ssh -R mingongge:22:localhost:22 serveo.net
Hi there
Forwarding SSH traffic from alias "mingongge"
Press g to start a GUI session and ctrl-c to quit.
...
連線成功後,接下來你就可以從公網上對這個內網計算機的 SSH 進行訪問了。
$ ssh -J serveo.net user_name@mingongge
Hi there
user_name@mingongge's password:
Last login: Sun 29 May 23:08:12 2022 from 127.0.0.1
...
-J 選項是用在 OpenSSH 7.3 及以上版本中,如果你的 SSH 客戶端版本較低,可以使用 ProxyCommand 來替代。
$ ssh -o ProxyCommand="ssh -W mingongge:22 serveo.net" user_name@mingongge
注:如果你無法通過 22 埠訪問 Serveo 服務,官方還預留了 443 埠,具體更改如下:
$ ssh -p 443 -R 80:localhost:3000 serveo.net
Windows 系統使用
Win10 預設自帶 OpenSSH ,其它Window系統的話,需要大家去 OpenSSH 的 Github 上下載安裝,具體的安裝方式上面都有,這裡不介紹了。
如果你的 Win10 系統 cmd 無法識別 ssh 命令,可能是你的系統此功能未啟用,需要手工配置啟用一下。
啟用步驟如下
設定---應用、可選功能---新增可選功能
點選“新增功能”按鈕,在可選功能列表中看到“ OpenSSH 伺服器”,選中它,點選“安裝”
安裝成功之後,在cmd命令提示符視窗中即可執行ssh命令。