NS连不上服务器,多数人查错了方向

ns连不上服务器,问题十有八九不在 NS 本身。我一般把这句话拆成两半来看:一半是递归解析器根本找不到权威 NS,另一半是权威 NS 好好活着,但它指向的那台机器连不上,这两件事的排查路径完全不一样,混在一起查就是在原地转圈。

服务器连接

ns连不上服务器,先弄清断在哪一层

在本地敲 dig +short NS 你的域名,看返回的是不是你在注册商面板里填的那两台。返回对了,说明登记这一层没毛病;返回空、或者返回的还是上一家服务商的名字,那就先别往下折腾了,回面板确认保存是不是真生效了——有些注册商点完「提交」还得再点一次确认,不点就一直挂着旧的,这种事我遇到过不止一次。

NS 是权威,浏览器从来不会直接去问它。

这条得先记住,不然方向一开始就偏。浏览器问的是本地递归解析器,解析器再一级一级问到权威,所以你看到的「网站打不开」和「NS 连不上」压根不是同一个故障点,能同时坏的概率很低,先分清是哪一头再说。

说白了,NS 只负责指路,不负责跑网站。

再往下就用 dig +trace 你的域名,它会从根开始一级一级问下去,最后落在你那台权威服务器上,中途哪一跳没回应、哪一跳返回 SERVFAIL 或者 REFUSED,屏幕上写得清清楚楚,比反复刷浏览器有用得多,也比追着客服问「你们 DNS 是不是挂了」靠谱得多。

改完 NS 就开测,这一步最容易骗自己

TTL 没走完,本地递归和别人家的递归都还抱着旧记录,你在这边改完,那边看到的还是上一家,测出来的结果自然一塌糊涂。别急着下结论。

我一般的做法是换两三个公共 DNS 交叉查,dig NS 你的域名 @8.8.8.8 和 @1.1.1.1 各跑一遍,如果它们都返回新的 NS 而只有你本机是旧的,那就是本地缓存,等就好,不用动任何配置;反过来,公共 DNS 也还是旧的,那才说明注册商那边没生效或者上级还压着。你会发现这个动作花不到一分钟,能省掉后面一堆瞎猜。

glue 记录没写,权威 NS 等于没地址

这条是新手和老手都容易忽略的地方。注册商让你填的 NS 如果是 ns1.example.com 这种主机名而不是 IP,那解析器光知道名字没用,还得能把这个名字解成 IP,这一步靠的是注册商侧的 glue 记录,也就是在面板里给 ns1、ns2 各挂一条 A 记录。glue 没写或者写错成内网 IP,dig +trace 会在找你的权威这一跳上死等,超时之后返回 SERVFAIL,很多人看到这个报错就跑去换 DNS 服务商,说到底还是自己少填了一行。

敲一下就知道了。

53 端口只放行 UDP,TCP 忘了

DNS 主要跑 UDP 53,但响应包一大就自动切 TCP,DNSSEC、AXFR、还有一些大 TXT 查询全靠 TCP 撑着。云主机安全组里只放 UDP 53,用小查询测着一切正常,一到真实流量就开始零星超时,这种毛病太常见了啊,我自己也犯过。TCP 也得开。

验证方式很土但是有效:dig +tcp 你的域名 @你的权威IP,能出结果就说明通了嘛,卡住不动就是被挡。再在服务器上 ss -lunp | grep 53 看一眼有没有进程在监听,两个都没有,那就不是 DNS 配置问题,是端口和进程还没对上。机房侧有时会封 53 的出入站,尤其是便宜的年付机器,这个得看服务商的实际策略,以他们的页面说明为准,问客服比猜快吧。

方向错了,越查越远。

服务器上没起服务,改十条记录也白搭

权威软件没跑起来,注册商填得再漂亮也是空的。我一般先 rndc status 或者 systemctl status named 瞄一眼,再看 zone 文件有没有语法错,named-checkzone 一把就能照出来;bind 的 allow-query 默认只给本机的情况不少,listen-on 只监听 127.0.0.1 的更多,外面问过来自然全是拒绝,日志里能看到 query denied 这类字样,翻 /var/log/named 或者 journalctl -u named 就行。

服务没起来就白搭。

NS 和 A 记录,别混着改

还有个常见误判,把 NS 记录和 A 记录当成一件事。其实两码事。NS 决定谁来回答你这个域,A 决定这个域指向哪台机器,改的对象都不一样。服务器换了一台,改的是 A;换 DNS 服务商,改的才是 NS。这俩要是一起动,再赶上 TTL 没走完,中间那段时间外部看到什么结果都有可能。别在这时候下判断啊,不然测出来的数据全是噪音。

注册商那边的几个小动作,够你查一晚上

域名过期、实名没过、注册商给你挂个 clientHold——这几种状态下 NS 照样查得到。但解析链路会被人为掐掉。你从服务器那头查一百遍也查不出所以然。whois 看一眼 status 字段就好,比在服务器上折腾半小时省事。还有种情况,注册商要求至少两台 NS,而且不能落在同一 IP 段;你只填一台,保存按钮直接不让你过。说白了这是规则层面的事,看面板提示呗。

把顺序倒过来查,效率差得远——先确认注册商那边登记了什么、glue 有没有、域名状态正常不正常,再去测你那台权威的 53 通不通,最后才看服务进程和 zone 文件对不对;反过来从服务器往上查,很多时候查到半夜还在怀疑人生,多半就是注册商里一个勾没打。

留个自查单子:面板里的 NS 是不是你要的那两台、glue 的 A 记录写了没有、域名状态是不是 ok、用公共 DNS 查 NS 对不对、dig +tcp @权威IP 通不通、服务器上 53 有没有在监听、zone 文件能不能过 checkzone。七条走完还连不上,那大概率不是你在本地能解决的了,把 dig +trace 的完整输出存好,直接找服务商,比一句「NS 连不上服务器」描述得清楚得多。

【版权声明】:本站内容若无意侵犯到您的权利,请及时与我们联系将尽快删除相关内容!

赞 (0)
爱家的头像爱家
域名交易到底买的是什么,钱都花在哪了
上一篇 2026-11-13 17:22
CentOS如何查看磁盘空间和文件夹的存储使用情况?
下一篇 2025-10-05 19:51

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

广告合作

QQ:14239236

在线咨询: QQ交谈

邮件:asy@cxas.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信