就如同標題所說的,Ptt 對外寄信的伺服器 node.ptt.cc
查不到反解的問題:
$ host node.ptt.cc node.ptt.cc has address 140.112.172.16 $ host 140.112.172.16 Host 16.172.112.140.in-addr.arpa not found: 2(SERVFAIL)
情況大概是這樣,Ptt 使用的 140.112.172.0/27
這個網段 (尾碼從 0~31) 不是 /24
以上的範圍,而 140.112.172.0/24
是台大計中管轄範圍,所以台大就把 140.112.172.x
這段的反解 PTR record 用 CNAME
的方式指到 x.0-31.172.112.140.in-addr.arpa
,像是 140.112.172.16
這樣:
;; ANSWER SECTION: 16.172.112.140.in-addr.arpa. 86400 IN CNAME 16.0-31.172.112.140.in-addr.arpa.
然後再針對 0-31.172.112.140.in-addr.arpa
設定 NS RR 到 ns0.ptt.cc
與 ns1.ptt.cc
兩台 NS server:
;; AUTHORITY SECTION: 0-31.172.112.140.in-addr.arpa. 86400 IN NS ns1.ptt.cc. 0-31.172.112.140.in-addr.arpa. 86400 IN NS ns0.ptt.cc.
但是 ns0.ptt.cc
與 ns1.ptt.cc
都不見了:
$ host ns0.ptt.cc Host ns0.ptt.cc not found: 3(NXDOMAIN) $ host ns1.ptt.cc Host ns1.ptt.cc not found: 3(NXDOMAIN)
導致反解查不到對應的資料 (會是 SERVFAIL
):
;; ->>HEADER<<- opcode: QUERY, status: SERVFAIL, id: 58463
猜了一下,看起來 ns0.ptt.cc
還活著,只是 Cloudflare 上面的 DNS record 沒設定過去:
$ dig ns0.ptt.cc @140.112.172.16 ;; ANSWER SECTION: ns0.ptt.cc. 300 IN A 140.112.172.16
不過 ns1.ptt.cc
(140.112.172.10
) 看起來就沒服務了,但至少在 Cloudflare 上補個 DNS record 上去應該就會動了 (只是沒有兩台互相備援)。