localtunnel 和 Cloudflare Tunnels 都是内网穿透工具,可以方便快捷的将本地 Localhost 暴露给全世界,无需修改 DNS 和防火墙设置

localtunnel

localtunnel 是一款基于 node.js 的内网穿透工具,非常流行,可以方便快捷的将本地 Localhost 暴露给全世界,无需修改 DNS 和防火墙设置

github 地址: https://github.com/localtunnel/localtunnel

使用方式

  1. 安装: npm install -g localtunnel

  2. 绑定端口: lt --port 8000, 绑定要访问内网服务的端口, 即本地访问该服务的端口

  3. 公网 ip:之后会生成一个 https 的公网 ip 地址, 通过该地址可以访问内网

  4. 访问密码: 本地访问该 ip, 点击查看密码, 即可看到。从外网访问 ip,并输出密码即可

获取并输入密码

注意

  1. 服务关闭后, 外网不可访问, 再次开启后会分配新的 ip

Cloudflare Tunnels

Tunnels:如果你想在外网访问家里的设备,又很难申请到公网 IP,就可以使用 Cloudflare Tunnels 实现的免费内网穿透服务,这种方案配置简单,无数量限制、无流量限制

地址转换

通过地址转换的方式访问内网,通常涉及使用网络地址转换(NAT)端口映射。以下是一些常见的方法:

1. NAT(网络地址转换)

NAT 是一种技术,允许多个设备共享一个公共 IP 地址。通过 NAT,内网设备可以通过公网 IP 地址与外部网络通信。NAT 会将内网设备的 IP 地址和端口号转换为公网 IP 地址和端口号。

2. 端口映射

端口映射是一种特定的 NAT 类型,它将内网中的特定端口映射到公网 IP 地址的特定端口。这样,外部设备可以通过公网 IP 地址和映射的端口访问内网设备。

3. VPN(虚拟专用网络)

VPN 允许远程用户通过安全的方式访问内网。VPN 会创建一个加密的隧道,通过公网将远程用户的连接转发到内网。这种方式不仅提供了访问内网的能力,还增加了安全性。

4. 代理服务器

代理服务器可以作为中介,接收外部请求并将其转发到内网设备。这种方式常用于访问内网中的特定服务,如 Web 服务器、数据库等。

5. 云服务

使用云服务提供商提供的 NAT 和端口映射功能,可以方便地将内网设备暴露到公网。例如,AWS 提供的 NAT Gateway 和端口映射功能。

示例

假设你有一个内网中的 Web 服务器,IP 地址为 192.168.1.10,端口号为 8080。你希望通过公网访问这个 Web 服务器,可以通过以下步骤:

  1. 配置 NAT 和端口映射:在路由器上配置 NAT 和端口映射,将内网 IP 地址 192.168.1.10 和端口 8080 映射到公网 IP 地址(例如公网 IP 地址为 203.0.113.1)和端口号(例如 8080)。
  2. 访问 Web 服务器:通过公网 IP 地址和端口号访问 Web 服务器,地址为 http://203.0.113.1:8080