内网穿透方案一 Ngrok

原理:

  • 内网: 局域网

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

  • 内网穿透:

内网穿透,也即 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
题外话

国内的 Ngrok

登录域名:  http://ngrok.cc
邮箱:1759681420@qq.com
密码:qq1122

开通隧道
	隧道协议:http
	隧道名称:ngrok_test
	前置域名:flying
	本地端口:127.0.0.1:80
	http验证用户名:ngrok
	http验证密码:ngrok

参考文章:
https://cloud.tencent.com/developer/article/1499928
https://blog.csdn.net/qq_33404395/article/details/80788233

升级文章:
https://blog.csdn.net/Mrqiang9001/article/details/100036416
https://blog.csdn.net/Mrqiang9001/article/details/100045195

### 回答1: Docker 安装内网穿透的步骤如下: 1. 安装 Docker:首先要安装 Docker,如果还没有安装请参考 Docker 官方文档进行安装。 2. 启动 Docker 容器:使用 Docker 启动一个容器,可以使用 Docker 官方镜像或者自定义镜像。 3. 安装内网穿透工具:在 Docker 容器中安装内网穿透工具,如 Ngrok、Frp 等。 4. 配置内网穿透工具:配置内网穿透工具,并启动服务。 5. 测试内网穿透:通过公网访问容器中的内网服务,检查内网穿透是否成功。 以上就是 Docker 安装内网穿透的大致步骤。具体操作可能会因内网穿透工具不同而有所差别,请参考该工具的官方文档。 ### 回答2: 安装docker内网穿透的步骤如下: 1. 确保你已经安装了Docker,可以在命令行中运行`docker --version`来验证安装是否成功。 2. 下载一个内网穿透的Docker镜像,比如说frp(Fast Reverse Proxy)。可以使用以下命令下载: `docker pull docker.io/mritd/frp:latest` 3. 创建一个配置文件,用于配置frp内网穿透的设置。可以在本地创建一个文件夹,比如说`/path/to/config`,然后在该文件夹中创建一个名为`frps.ini`的文件。 配置文件的内容可以参考frp的官方文档,配置示例: ```ini [common] bind_port = 7000 bind_udp_port = 7001 [web] type = http local_ip = 127.0.0.1 local_port = 80 remote_port = 6000 ``` 4. 启动frp容器,并加载配置文件。可以使用以下命令启动容器: `docker run -d -v /path/to/config:/etc/frp --name frps docker.io/mritd/frp:latest` 注意将`/path/to/config`替换为你创建配置文件的文件夹路径。 5. 完成上述步骤后,frp就会在你的主机上创建一个代理服务器。其中`remote_port`指定了外部访问该服务的端口号,可以根据实际情况进行修改。 6. 现在可以使用外部设备访问你的内网服务,访问方式为: `http://公网IP:远程端口号`。 这样,你的内网服务就可以通过Docker内网穿透技术对外提供网络访问了。 值得注意的是,上述步骤中使用的是frp作为内网穿透方案的示例,你也可以选择其他适合你需求的方案来实现内网穿透。 ### 回答3: 要在 Docker 中安装内网穿透工具,您可以按照以下步骤进行操作: 1. 首先,您需要在 Docker 主机上安装并运行内网穿透工具,例如 ngrok。您可以通过访问 ngrok 官方网站或下载适用于 Docker 的 ngrok 镜像来进行安装。运行以下命令来拉取并启动 ngrok 容器: ``` docker run -it --rm -p 4040:4040 --name ngrok wernight/ngrok ngrok http 80 ``` 这将在端口 4040 上启动 ngrok 容器,并将其映射到主机端口 4040。 2. 接下来,您需要获取生成的 ngrok URL。在运行 ngrok 容器的控制台输出中,您将看到类似于 "Forwarding http://{随机字符串}.ngrok.io -> http://localhost:80" 的信息。这个 ngrok URL 将用于访问您内部网络中的服务。 3. 您可以使用 ngrok URL 来访问运行在内部网络中的服务。只需将 ngrok URL 复制到浏览器地址栏中,即可直接访问您的服务。注意,每次运行 ngrok 容器时,生成的 ngrok URL 都将是不同的,所以您可能需要在每次运行之前手动更新相关应用程序的配置。 通过这些步骤,您可以在 Docker 中安装并使用内网穿透工具来访问内部网络中的服务。请记住,根据您的具体需求,可能还需要一些额外的配置步骤来确保内网穿透工具正常运行和访问所需的服务。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值