《使用CloudFlare隐藏真实IP与家庭网络去除端口号与Tunnel穿透教程》
本教程是 Lucky 反向代理教程 与 (๐•ᴗ•๐) 部署与微信推送教程 的后续。其中,在 (๐•ᴗ•๐) 部署与微信推送教程中,我们使用了 VPS + FRP 的方式解决了无公网 IP 的问题。在 Lucky 反向代理教程中,使用 Lucky 反向代理功能来保护我们的 VPS 上的服务,不会被 IP +端口这种粗暴方式直接访问。尽管我们只开放了22(SSH)、80(http)、443(https)、9000(frp) 这4个端口,但在给别人分享我们搭建的服务的时候,别人通过 ping 我们域名的方式,就会得到我们 VPS 的真实 IP。为了解决这些问题,以及补充家庭动态公网下如何操作等问题,故又写了这篇教程。
本篇教程将会分为三个模块:
一、使用 CloudFlare 隐藏域名背后的真实IP
二、使用 CloudFlare 解决家庭动态公网回程访问时要加端口号的问题
三、使用 CloudFlare Tunnel 作为内网穿透的冗余方案
这里先补充一下家庭网络如何设置 Lucky 反向代理
首先因为动态公网的原因,我们要先设置 DDNS,将域名指向家中IP。腾讯的域名选择腾讯云或者 DNSpod 均可。如果之前使用过 DDNS-Go 的,则跳过步骤5,直接将之前申请的 Token 或 Secert ID/Key 等复制过来即可。
由于运营商屏蔽了443,所以 Lucky 监听端口这里从443改成其他的,例如改成16666
那么我们访问相关的服务也需要加上端口号:https://frps.abc.xyz:16666
一、使用 CloudFlare 隐藏真实 IP
1、注册 CloudFlare
进入 CloudFlare 官网: https://www.cloudflare.com/zh-cn/ ,点击右上角登录
点击注册
按要求填写,然后点击注册
2、添加域名
注册完成后 CloudFlare 会自动跳转到添加页,我们添加自己的域名
选择Free方案,点击继续
CloudFlare 会自动扫描你的域名下的解析,理论上会扫描到4个解析,分别是两个A和两个AAAA,对应 abc.xyz 与 *.abc.xyz 即主域名与泛域名的 IPv4 与 IPv6 解析,当然没有的话我们手动添加即可
3、设置DNS
其中代理状态应该是未代理(我这里设置好了DNS但是未启用,所以是仅DNS)。CloudFlare会随机分配给我们两个DNS服务器,我们需要将域名的DNS改成CloudFlare提供的这两个
登入腾讯云控制台-我的域名 https://console.cloud.tencent.com/domain/all-domain/all
找到需要的域名,点击更多-修改DNS服务器,将CloudFlare提供的DNS填入
4、打开代理
DNS的生效需要一些时间,我自己是中午弄的,下午4点左右发现已经生效了。我们进入DNS-记录,检查是否开启了CloudFlare代理,如果没有开启的话请手动开启,4条解析都要开启,并点击保存。
5、补充
家庭动态公网这里需要多补充一个DDNS,需要在 Lucky 中再多加一个CloudFlare DDNS,非公网用户则跳过此步骤
注意这里选择 所有区域
完成后如下图
此时 ping 域名会发现返回的IP已经不是真实的IP了,而是CloudFlare的代理IP,这样我们就完成了隐藏真实IP地址的任务。
一个好玩的,尝试开启这个功能,你会遇到熟悉的界面 (一般不开启,可能遇到潜在问题)
二、使用 CloudFlare 解决家庭动态公网回程访问时要加端口号的问题
使用 CloudFlare 的流量规则匹配功能,重写到指定端口,用以去除 URL 的端口号
如下图按照步骤填写即可
此时我们再访问 https://(๐•ᴗ•๐).abc.xyz 则直接跳转到了 (๐•ᴗ•๐) 的登入页面
三、使用 CloudFlare Tunnel 作为内网穿透的冗余方案
注:本节只是在看 CloudFlare 相关教程/文档时偶然发现的,我自己测试下载速度有1MB/s,各位仅作为了解或备用内网穿透方案或临时使用方案,稳定性未知,其余情况均为测试。
点击左侧 Zero Trust
随意起个名字
选择第一个免费方案
点击 Proceed to payment
添加一个付款方式,我这里添加的是 VISA虚拟卡。顺便推荐一下我用的虚拟卡FOMEPay,是之前比较有名的易贝卡,因为政策原因,改名为FOMEPay,GPT、NetFlix、OnlyFans都能付款。推荐链接:https://gpt.fomepay.com/#/pages/login/index?d=002824
验证完成后,点击 Networks-Tunnels
刚进来时是空的,因为我之前测试过,所以有一条。点击Create a tunnel
点击Next
给你的通道起个名字,我就叫Family了
这里需要安装客户端,内网同一网段下有一个设备安装就可以,这里我选择docker安装,复制安装命令到 NAS 的 SSH 中
容器跑起来后,这里会显示Connected,即连接成功。点击Next
添加反向代理条目,比如我给威联通管理页代理,上面填写喜欢的s(๐•ᴗ•๐),domain选择你的域名,下面填写内网的地址和端口。点击Save tunnel
点击条目最右侧三个点,configure,进入到详细设置页。在P(๐•ᴗ•๐)lic Hostname中可继续增加子域名
四、总结
本篇教程又是一个超长的教程,是前两篇教程的延续。从浏览量上可以看出,大家弄好之后,觉得能用就行。(๐•ᴗ•๐)教程有15426次浏览,但Lucky教程只有654次浏览,稍微进阶一点的都不想看😭😭。可以理解,毕竟挺麻烦的。
但我必须提醒大家,安全真的真的很重要!
作者: @Caffe ,协助: @woshitao ,转载请标明出处,谢谢!