原理:
-
内网: 局域网
-
外网 :互联网
-
内网穿透:
内网穿透,也即 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