在前面的教程中,我们讲到了如何通过IPV6网络远程访问家中的网络。如果有域名,还可以通过ddns-go等工具自动解析到域名。方便访问家中的设备,但是,这样存在一个很大的问题,就是非IPV6网络是无法访问的。
如何解决此问题呢?通常,我们是通过公网服务器端口转发来实现的。但是,需要购买公网服务器,不划算。有没有更加简单的方法呢?让我们一起来探究吧~
将域名托管到CF
CF全称Cloudflare 主要提供基于反向代理的内容传递网络(CDN)和分布式域名解析服务。登录官网并注册。


注册完成后,效果如下:

现在,我们需要将腾讯云的域名,托管到CF

效果如下,选择继续前往激活。


接下来,登录腾讯云域名控制台。修改DNS


完成后,等待一会儿。等数据同步!

完成后效果如下:

创建API

直接使用相关模板即可。

完成后,复制API

自动解析IPV6
这里,我们还是用DDNS-go这款工具

完成后,在DNS控制台便可以看到记录了。

对于 HTTP 和 HTTPS 流量的代理,国内无法使用标准的 80 和 443 端口。仅支持以下端口。
HTTP 端口:
8080、8880、2052、2082、2086、2095
TTPS 端口:
2053、2083、2087、2096、8443
如,我们在宝塔面板中新建一个站点。

在纯IPv4网络便可以成功访问

如果,你要访问本地的站点,可以通过反向代理的方式实现。以宝塔为例:

不足
- 访问速度相对慢(正常,毕竟是免费套餐)
- 端口固定,全部走ipv4
针对上篇文章中讲到的问题,本文进行简单的补充。并且解决上文提到的两个不足。
上文,我们提到了利用CF面临一个非常严重的问题。
端口固定,全部走ipv4,不能自动选择。这大大的影响使用体验。该如何解决此问题呢?
我们可以建立隧道,以便解决。(其实和FRP等一样,只需要一个域名,几乎零成本。)
详细步骤
点击左侧 Zero Trust





安装
# 添加 gpg key
sudo mkdir -p --mode=0755 /usr/share/keyrings
curl -fsSL https://pkg.cloudflare.com/cloudflare-main.gpg | sudo tee /usr/share/keyrings/cloudflare-main.gpg >/dev/null
# 添加apt源
echo 'deb [signed-by=/usr/share/keyrings/cloudflare-main.gpg] https://pkg.cloudflare.com/cloudflared any main' | sudo tee /etc/apt/sources.list.d/cloudflared.list
# 安装 cloudflared
sudo apt-get update && sudo apt-get install cloudflared安装完成后,可根据下方提示,安装到系统服务,方便重启后业务正常。因为是安装了隧道,所以在DDNS-GO中可以直接删除前面的配置了。



效果测试

优点
- 不花一分钱,只需要一个域名
- 网络自动切换,如果本地支持IPv6则通过ipv6访问。如果是ipv4网络,则通过ipv4访问。

- 自动配置HTTPS,在内网是http时,添加隧道后自动https
总结
相较于其它的内网穿透和反向代理工具,CF 使用免费、安装配置简单,提供强大的安全防护,和域名 SSL/TLS 证书,但国内访问延迟较高。但日常使用基本没什么问题。
3 条评论
发现博主的图片外联是阿里OSS的 可别被刷流量了喔 ::bli:goutou::
加了防盗链的。
省流:优点是免费,缺点是很慢