VPS/云主机等
优惠信息分享

cloudflareworkers搭建获取宽带ip网页,用于ddns

cloudflareworkers搭建获取宽带ip网页,用于ddns插图

前段时间偶然听说有人在ddns-url上做了手脚,把里面的url换成了自己加了料的地址,通过记录来访问的ip,实现钓鱼。而且这几年也有部分公益接口停止服务了,干脆自己通过cloudflare workers搭建个获取自身公网ip的web,用来给ddns获取ip。

先解释实下上面说的钓鱼是什么情况,就是有人做了个web,记录返回访问的ip,因为很多人用ddns是部署在非路由设备上,就需要通过url来获取本机公网ip(也就是通过接口获取ip)。那这个web的作用就是实现:用户访问这个web即可显示本地宽带ip,ddns通过读取网页结果就能更改对应的域名解析。

所以部分人就会通过修改原作者插件或想办法忽悠不懂的人把它恶意url加到ddns里面,这样就可以获取并记录到用户的ip,因为做了ddns的情况下99%都会暴露各种端口,人家后台直接扫描记录的ip暴露的端口,再定向爆破即可。正常作者以及公益接口是不会做这种事情,毕竟谁闲着没事做记录别人ip啊,但是就有人没事干,就会整这种,就都是正常的web,也能获取到ip用来ddns,只是人家额外记录了你的ip并试图定向入侵罢了。

这和bt/pt钓鱼一样,部分魔改客户端可以直接看到ip地址,这些人就搞个种子包钓鱼,因为玩pt/bt的大部分都是有nas,再定向扫描端口、爆破,就可以入侵到内网。所以别说啥ipv6人家扫不了,都啥年代了,还搞扫ip,这钓鱼不是比扫ip快多了。当然,如果自身防护做好了,也不担心这个,高强度密码加上定向拉黑ip,来一个拉黑一个,,,,有点扯远了。

不过我说的那种钓鱼基本上很少,自己部署个这种服务还可以防止公益接口失效,这个访问量太大的话也是一笔不小的成本,所以部分公益接口也会因此停止服务,自行部署个web就可以防止公益接口失效导致ddns失效。

一、cloudflare部署workers

关于cloudflare(以下简称cf)以及对应的使用教程,本文不再赘述,不了解的可以放看往期教程,通俗的说就是建立cf账号、添加域名,相关内容这篇《cloudflare workers 解决docker无法拉取镜像问题》都有介绍的。

登录cf,进入首页的Workers 和 Pages,再点击概述,创建应用程序。

cloudflareworkers搭建获取宽带ip网页,用于ddns插图1

之后再点击创建worker,输入项目名称,然后在下面会有一行小字:您的 Worker 将被部署到:xxxxx,这个是cf自动分配给你的域名,通过这个就可以访问这个项目,有童鞋就会想那为啥还要自己准备域名,因为很简单,cf分配的那个域名目前打不开,只能绑定自己的域名。输入完名称后点击保存,会出现默认的worker.js,这个不用管,点击完成就行。

cloudflareworkers搭建获取宽带ip网页,用于ddns插图2cloudflareworkers搭建获取宽带ip网页,用于ddns插图3

完成后会出现初始界面,点击编辑代码。先删掉默认的代码。

cloudflareworkers搭建获取宽带ip网页,用于ddns插图4

然后把以下代码复制到里面,再点击部署。

addEventListener('fetch', event => {
event.respondWith(handleRequest(event.request))
})

async function handleRequest(request) {
const ip = request.headers.get('CF-Connecting-IP') || 'IP not available'
return new Response(` ${ip}`, {
headers: { 'Content-Type': 'text/plain' },
})
}cloudflareworkers搭建获取宽带ip网页,用于ddns插图5

二、绑定域名并配置路由

cf workers默认使用的是自动分配的域名,目前是不可访问,所以还需要绑定自己的域名。

这里有点特殊,不能像我之前那篇文章一样直接添加域名,因为这里涉及获取ip的问题。正常情况下workers是有ipv6,而且域名也是优先解析ipv6地址,当客户端通过ipv6访问刚刚部署的workers的时候,返回的也是ipv6地址,而很多同学是ipv4/ipv6双栈网络,就需要分离ipv4/ipv6的解析,即固定解析地址。

举个例子,假设选择有v4.xxx.xx(以下简称v4域名)和v6.xxx.xx(以下简称v6域名)两个子域名,则需要让v4域名只解析固定的ipv4地址,ipv6域名同理,这样在ddns查询ip的时候就可以通过两个不同的域名分别获取到本地公网ipv4/ipv6地址。

首先我们要获取到cloudflare的ipv4以及ipv6地址,cf的ip很多,不用刻意选择,也不用优选,毕竟这个只要能访问就行,不追求速度。打开windows终端(cmd也可以),输入以下命令,下面域名可以替换成其他使用cf的域名都行:想了想没必要那么麻烦,直接用我现在使用的这两个ip就行,当然自己可以选择其他cf的ip地址:

ipv4 104.21.29.98
ipv6 2606:4700:3031::ac43:94bd

然后在cf新建解析,把这两个地址分别解析到v4和v6域名,注意别启用旁边的小云朵(cdn)。

cloudflareworkers搭建获取宽带ip网页,用于ddns插图6cloudflareworkers搭建获取宽带ip网页,用于ddns插图7

然后进入对应域名-Workers 路由,添加两个路由,注意格式为“v4域名/*”和“v6域名/*”,也就是要分别添加v4和v6两个路由,就是在域名后面添加“/*”,workers选择刚刚建立的那个。

cloudflareworkers搭建获取宽带ip网页,用于ddns插图8cloudflareworkers搭建获取宽带ip网页,用于ddns插图9cloudflareworkers搭建获取宽带ip网页,用于ddns插图10

之后就可以直接在浏览器访问这两个域名,即可显示本地公网ip。(原谅我打那么多马赛克,因为我不想随意暴露域名~)

cloudflareworkers搭建获取宽带ip网页,用于ddns插图11cloudflareworkers搭建获取宽带ip网页,用于ddns插图12

三、配置ddns-url

这里以ddns-go为例,其他的ddns程序差不多一样,进入ddns后台,在获取ip方式-通过接口获取那把自己的域名添加进去,v4和v6域名分别填到对应接口,记得是“https”格式的。当然也可以删除掉原来的接口,只用自己的也行。添加好保存即可,ddns就可以用自己的url获取到本地公网ip,这里就不做演示了,反正我测试是没问题。

cloudflareworkers搭建获取宽带ip网页,用于ddns插图13

四、其他

1.cf workers每日总计免费10w次请求额度,普通人是几乎不可能用完,但为防止滥用仍建议添加路由和规则限制他人使用。

2.上述第三步添加解析那里,一般情况下cf的ip不会改变,所以固定解析一个ip没啥问题。

3.如果不想自己搭建,也可以用我搭建好的,后台回复“getip”即可获取我搭建好的服务。

赞(0)
未经允许不得转载:遗弃你|YIQINI.COM » cloudflareworkers搭建获取宽带ip网页,用于ddns

评论 抢沙发

评论前必须登录!

 

登录

找回密码

注册