朋友Monica發來一個政黨的facebook頁面,結果我打不開這個政黨的網站。我以為這網站從來不曾存在過,結果bing有搜索結果:
Yahoo也有搜索結果:
我總是打不開這個網站,無論我換哪裡的 VPN都打不開,而Monica能打開,還給我發來載圖。
我用各種在線網頁上的nslookup也查詢不到任何DNS結果。Monica請人在法國也打不開。我覺得可能是使用的DNS服務器的差異,決定來探尋個究竟。
我電腦上設置的DNS解析服務器是8.8.8.8,Google公司的DNS服務器:
gongzuola:~ zola$ dig +trace ysp.org.tw
; <<>> DiG 9.8.3-P1 <<>> +trace ysp.org.tw
;; global options: +cmd
. 99111 IN NS e.root-servers.net.
. 99111 IN NS h.root-servers.net.
. 99111 IN NS l.root-servers.net.
. 99111 IN NS i.root-servers.net.
. 99111 IN NS a.root-servers.net.
. 99111 IN NS d.root-servers.net.
. 99111 IN NS c.root-servers.net.
. 99111 IN NS b.root-servers.net.
. 99111 IN NS j.root-servers.net.
. 99111 IN NS k.root-servers.net.
. 99111 IN NS g.root-servers.net.
. 99111 IN NS m.root-servers.net.
. 99111 IN NS f.root-servers.net.
;; Received 228 bytes from 8.8.8.8#53(8.8.8.8) in 224 ms
tw. 172800 IN NS a.dns.tw.
tw. 172800 IN NS b.dns.tw.
tw. 172800 IN NS c.dns.tw.
tw. 172800 IN NS d.dns.tw.
tw. 172800 IN NS e.dns.tw.
tw. 172800 IN NS f.dns.tw.
tw. 172800 IN NS g.dns.tw.
tw. 172800 IN NS h.dns.tw.
tw. 172800 IN NS i.dns.tw.
tw. 172800 IN NS ns.twnic.net.
tw. 172800 IN NS anytld.apnic.net.
;; Received 489 bytes from 193.0.14.129#53(193.0.14.129) in 394 ms
ysp.org.tw. 86400 IN NS www.ysp.org.tw.
dig: couldn’t get address for ‘www.ysp.org.tw’: no more
gongzuola:~ zola$
那,我用a.dns.tw這個NS server來查詢ysp.org.tw的真實IP:
先打a.dns.tw的真實IP:
gongzuola:~ zola$ nslookup a.dns.tw
Server: 8.8.8.8
Address: 8.8.8.8#53
Non-authoritative answer:
Name: a.dns.tw
Address: 203.73.24.25
然後用203.73.24.25來查ysp.org.tw的IP
gongzuola:~ zola$ nslookup ysp.org.tw 203.73.24.25
Server: 203.73.24.25
Address: 203.73.24.25#53
Non-authoritative answer:
*** Can’t find ysp.org.tw: No answer
暈,a.dns.tw居然也不知道ysp.org.tw的IP,我再試其他NS server
gongzuola:~ zola$ nslookup ysp.org.tw b.dns.tw
Server: b.dns.tw
Address: 210.201.138.58#53
Non-authoritative answer:
*** Can’t find ysp.org.tw: No answer
b.dns.tw也說不知道。經測試dns.tw下面的a、b、c、d、e、f、g、h、i都說不知道,ns.twnic.ne和anytld.apnic.net這些NS server都說不知道。
那我去找找ysp.org.tw的whois信息看看
https://www.twnic.net.tw 好難用啊,你看,查詢whois的窗口這麼小(又有機會吐槽台灣公家機關的服務品質了):
總算找到域名註冊用到的DNS 服務器了,是 203.69.42.186
Domain Name: ysp.org.tw
Registrant:
青年陽光黨
Youth Sunshine Party
T10F., No.3, Sec. 1, Dunhua S. Rd., Songshan Dist., Taipei City 10557, Taiwan (R
Contact:
CHIH HENG FAN [email protected]
TEL: 02-25795808
FAX: 02-25795808
Record expires on 2019-05-03 (YYYY-MM-DD)
Record created on 2017-05-03 (YYYY-MM-DD)
Domain servers in listed order:
www.ysp.org.tw 203.69.42.186
www.ysp.org.tw 203.69.42.186
Registration Service Provider: APT
用203.69.42.186查nslookup一下:
gongzuola:~ zola$ nslookup ysp.org.tw 203.69.42.186
;; connection timed out; no servers could be reached
啊?還是沒有結果? 好像203.69.42.186不是開放53端口的DNS服務器
whois信息通常是指明負責解析的DNS服務啊,難道twnic的搞法是把服務器地址寫到whois信息裡?
瀏覽器裡輸入http://203.69.42.186
結果:
Access forbidden!
You don’t have permission to access the requested directory. There is either no index document or the directory is read-protected.If you think this is a server error, please contact the webmaster.Error 403
203.69.42.186
Apache
擦,十有八九是把DNS A記錄寫進whois了,我來試試能否把這IP寫進hosts直接在本地訪問到ysp.org.tw
gongzuola:~ zola$ sudo vi /etc/hosts
Password:
127.0.0.1 localhost
255.255.255.255 broadcasthost
::1 localhost
fe80::1%lo0 localhost
203.69.42.186 www.ysp.org.tw ysp.org.tw
然後在地址欄輸入: http://www.ysp.org.tw
擦,居然真的打開了:
看來,我找到問題的關鍵所在了:
當我使用 dig +trace ysp.org.tw 查詢的時候,有一行結果是:
;; Received 489 bytes from 193.0.14.129#53(193.0.14.129) in 394 ms
ysp.org.tw. 86400 IN NS www.ysp.org.tw.
dig: couldn’t get address for ‘www.ysp.org.tw’: no more
這段是NS返回了www.ysp.org.tw這個DNS服務器,但www.ysp.org.tw又沒有真的開放DNS查詢功能。顯然是這個網站管理員搞錯了。但不知道又怎麼讓部分人包括bing.com跟yahoo都能訪問得到這個網站。
但這裡應該寫DNS服務器:
蔡英文的iing.tw的whois是這樣的:
Domain servers in listed order:
ns-1035.awsdns-01.org
ns-1869.awsdns-41.co.uk
ns-461.awsdns-57.com
ns-740.awsdns-28.net
上面這4個帶ns開頭的網域就是真的能解析DNS的伺服器。
解決辦法:
修改whois中的NS地址,讓解析域名的工作交給DNS伺服器來完成,比如,使用cloudflare的bob.ns.cloudflare.com 這樣的DNS伺服器。
仍然有疑惑,需要讀者的協助:
幫我看看你的DNS服務器是哪個,能否打開 http://www.ysp.org.tw ? 查看自己電腦上的DNS的辦法有很多,可以在終端機(terminal)(windows電腦是cmd)裡輸入 nslookup zuola.com來查看,我目前用的是8.8.8.8
gongzuola:~ zola$ nslookup zuola.com
Server: 8.8.8.8
Address: 8.8.8.8#53
Non-authoritative answer:
Name: zuola.com
Address: 104.28.27.52
然後再用nslookup ysp.org.tw查查看。我這裡會顯示無法抵達:
gongzuola:~ zola$ nslookup ysp.org.tw
;; connection timed out; no servers could be reached
来自周曙光的BLOGSPOT空间
可以打開
伺服器: dns.hinet.net
Address: 168.95.1.1