当前位置: 代码迷 >> 综合 >> 内网穿透方案一 Ngrok
  详细解决方案

内网穿透方案一 Ngrok

热度:95   发布时间:2024-02-23 18:47:52.0

原理:

  • 内网: 局域网

  • 外网 :互联网
    在这里插入图片描述

  • 内网穿透:

内网穿透,也即 NAT 穿透,进行 NAT 穿透是为了使外网域名( 具有某一个特定源 IP 地址和源端口号的数据包 )不被 NAT 设备屏蔽而正确路由到内网主机

UDP 内网穿透的实质是利用路由器上的NAT 系统。NAT 是一种将私有( 保留 )地址( 内网地址 )转化为合法IP地址( 外网地址 )的转换技术

Ngrok

一 在 https://ngrok.com/ 上注册一个 Ngrok 账号,在底部可以用 github 授权登录,Setup & Installation 选项中有安装和基本使用信息

1.解压安装
在Linux或Mac OS X上,您可以使用以下命令从终端解压缩ngrok。在Windows上,只需双击ngrok.zip将其解压缩。

unzip /path/to/ngrok.zip

2.连接您的帐户
运行此命令会将您的身份验证令牌添加到默认配置文件。这将使您可以使用更多功能和更长的会话时间。正在运行的隧道将列在仪表板的状态页面上。 ngrok.yml

./ngrok authtoken 1i8UkyZwEXHbRNMAk77eEY7edJZ_7jmvdVm8HhHucSj9oHuZH

3.点火
阅读有关如何使用ngrok 的文档。通过从命令行运行它来尝试一下:

 ./ngrok help

要开始将HTTP隧道转发到本地端口80,请运行以下命令:

./ngrok http 80
二 下载一个 Ngrok Windows客户端并解压。( 里面只有一个 ngrok.exe 文件 )
三 在 ngrok.exe 文件所在目录 cmd ,在黑窗口中输入 2 条命令。
第一条命令:
ngrok authtoken 1i8UkyZwEXHbRNMAk77eEY7edJZ_7jmvdVm8HhHucSj9oHuZH -subdomain flying 8100
第二条命令:
ngrok http 8100

1 在 cmd 黑窗口中输入命令,认证上面在 Ngrok 中看到的 token ,并指定二级域名和端口。

解释:ngrok authtoken 密钥 -subdomain  二级域名 端口
ngrok authtoken 1i8UkyZwEXHbRNMAk77eEY7edJZ_7jmvdVm8HhHucSj9oHuZH -subdomain flying 8100

备注:一般如果没花钱买的话,指定二级域名和端口会不成功的 。没关系,他会随机给我们一个域名

2 把刚才第一步的域名绑定到本地内网的 ip+端口上。

ngrok http 8100

黑窗口会变成这样

ngrok by @inconshreveable                                                                                                                                                       (Ctrl+C to quit)Session Status                online
Session Expires               4 hours, 54 minutes
Version                       2.3.35
Region                        United States (us)
Web Interface                 http://127.0.0.1:4040
Forwarding                    http://ab3c037cb913.ngrok.io -> http://localhost:8100
Forwarding                    https://ab3c037cb913.ngrok.io -> http://localhost:8100