Skip to content

零成本基建系列——如何在没有公网IP的情况下提供外网访问

家里的电脑、公司内网里的服务器通常没有固定的公网IP,这些机器通常都是躲在路由器/NAT 后面,只有局域网 IP(比如 192.168.x.x10.x.x.x),而运营商给的公网 IP 是挂在路由器上的非固定IP。这些机器通常无法对外提供服务,也就是说外面的人想直接连你的机器,是连不进来的。 但有些场景我们有需要让外面的人能连进来,比如在家临时访问公司内网的某个系统;远程 SSH 连自己家里的 NAS;微信/支付宝支付回调调试需要公网能访问本地的开发服务;把本地跑的 Web 项目临时发给别人预览等等。 那么有没有办法解决呢?答案是有的,而且我们可以零成本的实现。这里就来分享一个通过免费域名+Cloudflare实现内网穿透的方法。

  1. 注册免费域名 访问 https://my.dnshe.com/ ,免费注册一个de5.net的域名(注意其他域名可能无法在cloudflare上使用)
  2. 注册Cloudflare账户(如果还没有现成的账户)
  3. 域名迁移到Cloudflare 选择添加域名 选择迁移域名 选择免费的plan后获得域名服务器地址:keira.ns.cloudflare.com 和 ram.ns.cloudflare.com
  4. 回到dnshe设置DNS服务器 将Cloudflare提供的域名服务器填写进去,可能需要几分钟或者几个小时才生效
  5. 开通Cloudflare ZeroTrust 选择一种付款方式后激活,放心不会产生费用
  6. 回到首页,设置Cloudflare隧道 点击创建隧道 设置隧道名称 根据自己的系统安装对应的软件 我的是windows,安装成功后在服务中可以看到 服务启动后很快网页端就检测到并成功链接 点击继续成功完成隧道创建
  7. 进入隧道页面创建route 选择Published application 填入本地服务的服务地址(含端口号)
  8. 外网调用开始本地服务调试 比如在微信开发者平台配置调用 本地启动服务 本地接收到调用就可以开始调试了,到此内网穿透成功