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

说人话:假设你在家里有一台搭建了Web服务器的电脑,使用的是私有IP地址192.168.1.100。由于你的网络是内网,外部的用户无法直接访问这个Web服务器。

必要前提

  1. 要有一个域名,建议阿里云购买,便宜😂

  2. 要有一台自己的电脑当服务器,可联网

1.Cloudflare 官网注册与登录

官网链接如下:科赋锐信息科技Cloudflare | Cloudflare

cloudflare_index.png

2.在网站添加自己的域名

在右侧添加域添加自己的域名

3.为网站选择计划

选择哪个Free的计划即可,选择继续。下个页面如果没有DNS记录,点击继续激活

4.更改域名注册机构的DNS服务器

将下列两个Cloudflare名称服务器复制到你的域名注册机构,我的是阿里云

下图是阿里云的DNS修改位置

修改好之后应该是如图所示(可能需要等待一段时间,不超过24小时),状态显示活动就是ok的

5.进入ZERO TRUST

点击 Networks -> Tunnels -> Create a tunnel 选择Cloudflared

注意:在ZERO TRUST页面可能会有付款的操作,点击退出重新进即可。但是为了后面的配置(比如SSH),建议还是添加一张VISA的信用卡之类的付款方式,方便后续教程的操作

然后给你的tunnel取个名字后,如下图:

6.配置内网的服务器(PC)

至此,如上图所示,依次选择你的操作系统(Operating System)和架构(Architecture),下载安装包安装后执行上图步骤4所示的命令。

注意:windows在执行CMD时请以管理员身份运行

由于我的服务器是Ubuntu系统,下载包及安装,安装cloudflared服务,命令如下:

curl -L --output cloudflared.deb https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-amd64.deb && 
sudo dpkg -i cloudflared.deb && 
sudo cloudflared service install eyJhIjoiMTg4OTcwMDQ4OGI1MmNmODhhYmNhMjM5OTJjOWUwZDEiLCJ0IjoiYzQxZGE5ODgtZDUyYi00NjZiLTlhM2EtNTgzNTQ5NDhjZGQyIiwicyI6IlpUQm1Zekl5TTJZdFpUYzBOQzAwTm1Ga0xUZzFNek10TjJKbE56RTNaakZrTkRO11J9

成功后页面如下,状态显示HEALTHY就是🆗的

7.tunnel的重新连接

首先卸载cloudflare service,然后按如上命令重新安装:

sudo cloudflared service uninstall

👌👌👌👌(❁´◡`❁)(❁´◡`❁)(❁´◡`❁)😊😊😊😊