老王在群里丢了一张 dig 截图,CNAME 套了三层
他说他查了半小时没查到 A 记录,我看了半天才发现是 CDN 在中间挡着。
子域名和 IP 到底是几对几的关系?我翻了一晚上资料,越翻问题越多。这篇就是我把没想明白的事摊在桌面上的过程。
有些是查资料时顺手存的,有些是自己翻自己旧笔记翻出来的
他说他查了半小时没查到 A 记录,我看了半天才发现是 CDN 在中间挡着。
手指都酸了,然后才想起应该写个循环。人类的懒惰有时候是假的。
书是 2018 年买的,扉页还写着“以后一定要看懂”,今年终于看懂了半页。
昨天还是 47 开头。值班的人说这叫调度,我说这叫薛定谔的服务器。
到底指的是一个网页输入框,还是一个 API,还是一个人脑子里的知识?
跑题了,但标题里带了“巨无霸”三个字,我第一反应居然是查它的域名的 IP。
视频加载慢得要命,我当时就打开控制台看它请求了哪些子域名。
我让她先 ping 一下,她说不会 ping。我们就从“怎么 ping”开始聊了一小时。
我没用过,但把它存进了书签,想着哪天研究解析链路的时候对照一下。
画完发现箭头全画反了,擦了重画,粉笔灰落了一键盘。
这个问题我问了三次,得到三个不同的答案,现在干脆都记下来。
信号只有 2G,页面转了 40 秒,最后出来一个超时。也算一种答案吧。
昨晚十一点半,我坐在书桌前,桌上还放着半杯凉掉的美式,键盘右上角那盏小灯一闪一闪。我在终端里敲下一行命令,ping 一个我们项目组的子域名,回车。屏幕回了我四个问号——准确地说,是“请求超时”四个字,重复了四遍。
我又敲了一次,还是超时。
那一刻我脑子里冒出的第一个念头不是“服务器挂了”,而是——“我到底查到的是哪个 IP?”于是我把终端窗口挪到一边,打开了浏览器,在一个搜索框里输入了那串关键词:子域名ip查询入口。搜索结果有一大堆,我一个一个点开,越点越迷糊。干脆就开了这篇,把自己这一晚上的折腾和疑问都写下来。
说实话,我一开始以为这个事特别简单:一个子域名,对应一个 IP,查一下,完事。就像查一个地址对应哪个门牌号,一问一答。真动手才发现不是这么回事。
一个域名可能对应多个 IP,一个 IP 也可能被十几个域名同时指着。这不是一对一的恋爱,是相亲大会。
我拿同事阿岚举例子。她前几天在工位上跟我抱怨,说 wwv.ysl7777.com 这个地址她怎么都打不开。我问她有没有先 ping 一下,她说不会。我就搬了把椅子过去,教她打开终端,敲 ping 加域名,回车。她盯着屏幕看了两秒,问我:“这什么玩意儿?”我说这是它的 IP。她“哦”了一声,然后问:“那我应该用哪个数字进去?”
我卡住了。
这个问题问得很朴素,但我竟然一时答不上来。因为“进去”这件事,本身就分好几种情况——浏览器、命令行、客户端,处理方式都不一样。我当时只好说,你先别管数字,先看看是不是 DNS 的问题。她点点头,把屏幕转回去了。我回自己工位坐下,心里其实没底。
那天下午我干脆把能想到的查询方式都试了一遍。命令行 dig 一次,一个在线工具查一次,再用另一个工具查一次。结果出来三个不同的 IP,其中有两个是同一家的 CDN 节点,第三个完全陌生。
我拿着这三张截图去找老王。老王是我们组里年纪最大的,戴着老花镜看代码的那种人。他看了一眼截图,把眼镜往下推了推,说:“这正常啊,调度。”我问哪个是对的,他说:“看你从哪儿问的。”
“看你从哪儿问的。”——老王,2026 年 9 月 8 日下午 4 点 17 分,工位 3 排 2 号,说完继续敲他的代码。
这句话我琢磨了一晚上。它听起来像句哲理,其实就是句技术事实:DNS 是分区域、分线路、分运营商的,你在北京问和在广州问,答案可能不一样;你早上问和晚上问,也可能不一样。所谓“入口”,很多时候只是“入口之一”。
我得说句可能不太讨人喜欢的话:我觉得现在很多打着“查询入口”旗号的页面,其实没打算真的帮你查清楚。它们更像是一个漏斗。你输进去一个域名,它给你返回一堆你并不需要的信息,然后旁边挂着七八个广告位。真正有用的一句话,往往藏在最下面,字号还特别小。
我不是说所有工具都这样。我常用的那两个命令行工具就很好,干净、直接、不废话。但每次在搜索结果里点开那些花花绿绿的页面,我都有一点点被糊弄的感觉。这事没什么好办法,我也改变不了它,只是想在这里说一句:如果你也查得一头雾水,可能不是你的问题,是工具没把话说清楚。
说点跑题的。查资料查到半夜的时候,我随手点开了收藏夹里一个视频,弄潮我的小哥哥mv1080,去年冬天存的。视频加载的时候我习惯性地打开开发者工具,看它请求了哪些子域名。密密麻麻一长串,看得我头大。那一刻我突然意识到,平时我们打开的每一个页面背后,可能挂着几十个子域名在悄悄工作,而我们从来没想过它们各自对应哪个 IP。
然后我又想起前几天在小红书上刷到的 欧美巨无霸身体乳。标题里有“巨无霸”三个字,我第一反应居然是——这个牌子的官网会不会也用了 CDN,那我查它的子域名 IP 能不能看出点什么。你看,人是会被自己的习惯带偏的。
我还存过一个叫 无需付费大片b站 的页面,当时是想找找有没有人把解析链路的图画得清楚一点。后来没怎么看,书签还在那儿躺着。等哪天不困了再说吧。
写到这儿,我发现我并没有得出什么结论。反而问题更多了。
第一,当别人问“这个子域名的 IP 是多少”的时候,他心里期待的是一个数字,还是期待一个“能连上去”的保证?这两个东西在我这儿已经开始分家了。
第二,那些号称能查所有子域名的入口,它们的数据到底从哪儿来?是自己爬的,还是有别的地方在喂?这个问题我查了半天,没查明白。
第三,也是最小的一件事:那天阿岚问我“应该用哪个数字进去”,我要怎么回答,才能既是准确的,又是她能听懂的。
我还没想好。明天上班的时候,我大概会搬把椅子再过去一趟。
我叫叶子,在一个不大不小的公司做前端,工位在 3 排 2 号隔壁,桌上常年摆着一杯凉掉的美式。
这个站是我下班之后一个人弄的,主题就是子域名和 IP 这件小事。不是因为我懂,恰恰是因为我不太懂,所以把每次查到的、问到的、猜到的都记下来。
上周三晚上我查一个域名查了两个小时,最后发现答案在第一页的第二行。那天我就决定要做这个站了。没什么宏大理由,就是想把话说清楚一点。
如果你也在查什么查得头大,欢迎把问题留给我,我大概率也答不上来,但我们可以一起翻资料。
“DNS 不是数据库,它是一套协商机制。”—— 出自《计算机网络:自顶向下方法》第 2 章某段脚注,我在 9 月 8 日晚上 11 点 47 分读到,用荧光笔划了两遍