上一篇关于 Cloudflare DNS 的文章中提到,错误使用 1.1.1.1 会导致问题。评论里,也有知友表示不明白 Cloudflare 监控和分析“垃圾”信息。还有不少人质疑,Cloudflare 在承诺不记录信息的情况下,又怎么能够分析“垃圾”信息。希望这篇文章,能够回答这些问题。
在上线服务后不久,Cloudflare 发布了一篇博客 Fixing reachability to 1.1.1.1, GLOBALLY!,具体的解释了在他们上线 1.1.1.1 DNS 服务之前都发现了哪些问题,以及为此做出的努力。借此,我们可以继续深入了解在 1.1.1.1 这个普通又不普通的 IP 地址身上,究竟发生过什么。
有知友评论说自己设置了 1.1.1.1 作为 DNS 服务器地址却无法使用。这很可能是因为网络服务提供商(Internet Service Provider,简称 ISP)进行了错误的设置。这里解释一下 ISP 的范畴:联通、电信这样的全国性 ISP 自不必说;对于使用教育网的学生们,自己的学校就是 ISP;我在家设置了路由器为全家人提供了 Wi-Fi 接入,我也可以算是家人的 ISP。这些 ISP 之间形成了层级的结构,任何一层的错误设置,都可能导致无法使用这一 DNS 服务。
Cloudflare 将 ISP 的错误分为了三类:
Built-in 1.1.1.1: ISP 的路由器占用了 1.1.1.1 作为内网地址。这导致解析请求无法到达真正的 1.1.1.1 DNS 服务器;
Blackholing 1.1.1.1: ISP 将其网络中的某个节点设置了 1.1.1.1 为静态 IP,这同样会导致数据包无法离开其网络到达外部的 1.1.1.1 服务器;
Filtering 1.1.1.1: ISP 设置了规律规则,将发向或发自 1.1.1.1 的数据包丢弃。
其中前两类是最常见的,尤其是第一类。Cloudflare 点名了北美最大的网络服务提供商 AT&T,其为广大家庭用户提供的路由器就错误地使用了 1.1.1.0/29(这是一个地址块,包含一定范围内的连续 IP 地址,现在只要知道其中包含了 1.1.1.1)用于内网通讯。由于需要硬件升级固件才能彻底解决,AT&T 只得给出一个临时方案,就是使用 Cloudflare 的备用 IP 1.0.0.1。
除此之外,在酒店、咖啡厅等公共场所,人们通过无线网络接入点来上网。不幸的是,著名网络设备厂商思科 Cisco,在其生产的无线控制器上擅自占用(原文用词 squatting)了 1.1.1.1 这个地址。那么,在所有使用这样设备的场所,人们都无法正常连接到 Cloudflare 的服务器了。
Cloudflare 还在持续和 ISP 以及相关设备的制造方联系,以期在全球范围内消除这类错误。如果发现自己正在使用的网络有上述情况,不妨向 ISP 提提意见,要求“整改”。
第一节中解释的错误通常只是影响到局部网络中用户的使用,并不会向 1.1.1.1 的服务器上发送 DDoS 级别的“垃圾”信息。那么这些“垃圾”又是从何而来的呢?
上一篇文章中曾提到, Cloudflare 从 APNIC 手中获得了 1.1.1.1 的使用权。事实上,他们获得的是两个地址块 1.0.0.0/24 和 1.1.1.0/24(又一次出现了地址块,之后可以写篇文章好好讲讲)。也就是说 Cloudflare 可以使用 1.1.1.0 到 1.1.1.255 以及 1.0.0.0 到 1.0.0.255 这 512 个 IP 地址,也可以持续监控每个地址接收到的数据。2018 年 3 月份,Cloudflare 在这些地址上检测到大约 10Gbps 的流量。这些数据大多指向 80(http), 443 (https) 等常用端口。从数据的格式上也可以分析出,这些数据来自于代理连接,以及DHCP/BOOTP,还有iperf,syslog 等工具。
这些 IP 地址还会受到 DDoS 攻击的牵连。黑客的僵尸网络(botnet)可能有着这样的程序逻辑:先启动肉鸡,向一个诸如 1.1.1.1 这样的地址发动攻击,一段时间后,再转向真正的目标。Cloudflare 常常能观察到持续几分钟的对于某个 IP 的攻击,流量可达 5Gbps。
题图就是一天内一个 IP 地址网络流量的变化图。可以看到,其呈现明显的阶跃函数(step function)的特性,每一次流量的跃升都对应着一次 DDoS 攻击的开始,突降则是 DDoS 的结束。
在写这篇文章的过程中,我才发现自己在上一篇中确实有些概念没有理解透彻。还好都通过本文得以说明。
一些在中国大陆地区的知友,会关心自己能不能使用这项 DNS 服务,以及是不是能做到解析快速这个最主要的需求。据我了解,1.1.1.1 和 1.0.0.1 并没有被科学。无法使用的话,很可能就是第一节里解释的 ISP 的问题。有知友报告在广东用的很爽,我推测是连接到了 Cloudflare 位于澳门的节点,自然是飞快。如果未来 Cloudflare 能够在大陆部署 DNS 服务器节点的话,其可用性将会得到极大的保障。
文章原作者lwshang,使用cc by 4.0协议共享