DNS指向錯誤問題



贊助商連結


頁 : [1] 2

kantjn47
2003-08-30, 11:45 AM
請高手幫幫忙:
我們公司的Web Server是放在Web66代管的
而Web Server本來的IP是203.66.138.12
後來Web66把IP換成211.78.213.212也就是目前使用的IP
但是問題來了!常有客戶打電話來抱怨連不上網站
經查詢結果原來是DNS指向錯誤,會跑到舊IP去了
檢查一下架在我們公司的DNS Server IP設定並無錯誤
後來發現Web66在台固的DNS主機上(dns1.tfn.net.tw)竟有我們的DNS紀錄(而且是錯誤的)
於是打電話去要求把台固DNS記錄拿掉
原本以為問題就此解決,沒想到問題還是存在
也就是當DNS查詢時有時會出現Non-authoritative answer舊IP的資料
這是錯誤的DNS紀錄還殘留在快取嗎?
如果是的話這快取也未免存活太久了!
有高手知道怎麼處理,還是能查出哪裡還有錯誤的紀錄嗎?
另外如果我們申請中華電信的次DNS服務,會有改善嗎?

以下是NSLOOKUP的訊息

> www.e-oher.com
Server: hntp1.hinet.net
Address: 168.95.192.1

www.e-oher.com internet address = 211.78.213.212
> www.e-oher.com
Server: hntp1.hinet.net
Address: 168.95.192.1

Non-authoritative answer:
www.e-oher.com internet address = 203.66.138.12

e-oher.com nameserver = e-oher.com
e-oher.com internet address = 61.218.49.139

贊助商連結


wangcm
2003-08-30, 02:28 PM
最初由 kantjn47 發表
請高手幫幫忙:
以下恕刪

於是打電話去要求把台固DNS記錄拿掉
原本以為問題就此解決,沒想到問題還是存在
也就是當DNS查詢時有時會出現Non-authoritative answer舊IP的資料
這是錯誤的DNS紀錄還殘留在快取嗎?
如果是的話這快取也未免存活太久了!
有高手知道怎麼處理,還是能查出哪裡還有錯誤的紀錄嗎?
另外如果我們申請中華電信的次DNS服務,會有改善嗎?

以下是NSLOOKUP的訊息

> www.e-oher.com
Server: hntp1.hinet.net
Address: 168.95.192.1

www.e-oher.com internet address = 211.78.213.212
> www.e-oher.com
Server: hntp1.hinet.net
Address: 168.95.192.1

Non-authoritative answer:
www.e-oher.com internet address = 203.66.138.12

e-oher.com nameserver = e-oher.com
e-oher.com internet address = 61.218.49.139

特定domain name的DNS除了其authorizaed NS之外因為cache的關係只要query過您的domain name的DNS都會成為non-authoritative NS(所以您也無法得知到底有多少,自然也無法通知其expire cache,BTW,因為管理上及DNS先天上沒有認証機制等原因要通知其它DNS expire cache實務上不太可行),cache在這些NS上的有效時間是由soa中的ttl所指定的(意思就是由您或您所委托代管業者所定義,因為很少變動一般建議不短於一天,BTW,win內附的DNS daemon default是一小時),通常遇到要換ip的狀況時我們會先把新ip加上去(whether通了與否,client的AP會連到兩個ip之一,不通時再試另一個,除了增加delay外算是較保險的作法),並將ttl縮短(ex 1小時)以縮短錯誤cache的影響時間,待更換完ip後再將舊ip拿掉並將ttl復原(理由同前),至於委托誰代管其實不會有影響(除了每個業者的default ttl可能不同這點)...BTW,以弟個人觀點其實DNS不太須要委外,一般而言DNS造成的loading/traffic幾乎可以忽略,委外反而圖增麻煩....

kantjn47
2003-08-30, 05:21 PM
最初由 wangcm 發表
特定domain name的DNS除了其authorizaed NS之外因為cache的關係只要query過您的domain name的DNS都會成為non-authoritative NS(所以您也無法得知到底有多少,自然也無法通知其expire cache,BTW,因為管理上及DNS先天上沒有認証機制等原因要通知其它DNS expire cache實務上不太可行),cache在這些NS上的有效時間是由soa中的ttl所指定的(意思就是由您或您所委托代管業者所定義,因為很少變動一般建議不短於一天,BTW,win內附的DNS daemon default是一小時),通常遇到要換ip的狀況時我們會先把新ip加上去(whether通了與否,client的AP會連到兩個ip之一,不通時再試另一個,除了增加delay外算是較保險的作法),並將ttl縮短(ex 1小時)以縮短錯誤cache的影響時間,待更換完ip後再將舊ip拿掉並將ttl復原(理由同前),至於委托誰代管其實不會有影響(除了每個業者的default ttl可能不同這點)...BTW,以弟個人觀點其實DNS不太須要委外,一般而言DNS造成的loading/traffic幾乎可以忽略,委外反而圖增麻煩....

感謝wangcm兄指導
我們的DNS Server並沒有委託別人代管而是架在公司內部,
之前Web66私下幫我們設定錯誤的DNS在台固那邊我們也不知道,
直到我查詢了台固的DNS發現我們網域的Name server怎麼會不是e-oher.com
才知道他們之前有做測試卻忘了刪除
另外叫他們刪除這筆記錄也已經過兩個月了
怎麼快取還會在呢?真叫人百思不解阿

hhdig
2003-08-30, 06:34 PM
應該跟台固那的紀錄無關
若你有去如TWNIC的機構申請,只要到TWNIC做變更即可
因為DNS的查詢是由網址的TW開始查起,後面的名稱完全是用託管的方式來運作
也就是說若你在TWNIC申請一個網域名稱abc.com.tw
然後指定DNS SERVER的主機名稱為dns.abc.com.tw(這是架構在公司內的SERVER)
當在使用者需要查詢所有有關abc.com.tw這個網域的所有主機時(如www.abc.com.tw)
將不是由twnic答覆ip,而是twnic會將這個問題交由你公司內的dns答覆
上面的運作我公司之前遇到的問題就是一個示範,
在twnic所註冊的ip為單一外部ip,可是到168.95.1.1做FQDN時卻發現有兩個IP
一個為註冊時所用的IP,另一個竟然是內部192.168.x.x的ip
那時查證原因是,當時指定給twnic的dns server是我內部的dns
所以內部的ip也藉由查詢一起洩漏出去......
後來在加一台外部dns就改善了

所以在這個dns運作機制下你應該是去查你註冊網域名稱的機構下的紀錄

dou0228
2003-08-30, 08:14 PM
最初由 hhdig 發表
應該跟台固那的紀錄無關

[delete]

所以內部的ip也藉由查詢一起洩漏出去......
後來在加一台外部dns就改善了

所以在這個dns運作機制下你應該是去查你註冊網域名稱的機構下的紀錄

台固最近的 DNS 動作怪怪的..
黑 Net DNS 是採用 每一個 DNS Query 都會發出 forward.
台固的則會 Cache 住, 直到 TTL expire 為止.

但是如果你的 Authority & Additional Records 裡洩露了 NS 主機名稱.

台固就會自己跑去 NS 主機問, 根本不鳥 TWNIC 或上層 DNS 設定.

我 Trace 了一下你公司的設定, 難怪出了問題了 @_@..


AUTHORITY RECORDS:
-> e-oher.com
nameserver = e-oher.com
ttl = 162504 (1 day 21 hours 8 mins 24 secs)
ADDITIONAL RECORDS:
-> e-oher.com
internet address = 61.218.49.139
ttl = 162504 (1 day 21 hours 8 mins 24 secs)

因此 DNS 主機位在 61.218.49.139
----------------------------------------------------
Server: e-oher.com
Address: 61.218.49.139
QUESTIONS:
www.e-oher.com, type = NS, class = IN
AUTHORITY RECORDS:
-> e-oher.com
ttl = 3600 (1 hour)
primary name server = wan.e-oher.com
主要 Name Server 為 wan.e-oher.com
----------------------------------------------------
> wan.e-oher.com
ANSWERS:
-> wan.e-oher.com
internet address = 192.168.100.4
ttl = 3600 (1 hour)
結果你回了 Private IP, 台固 DNS 覺得奇怪, 因此還是照用新的
----------------------------------------------------


所以你可以試著先把 wan.e-oher.com 的 A Record 回成 61.218.49.139
看看問題還在不在..

wangcm
2003-08-30, 09:40 PM
最初由 dou0228 發表
台固最近的 DNS 動作怪怪的..
黑 Net DNS 是採用 每一個 DNS Query 都會發出 forward.
台固的則會 Cache 住, 直到 TTL expire 為止.

但是如果你的 Authority & Additional Records 裡洩露了 NS 主機名稱.

台固就會自己跑去 NS 主機問, 根本不鳥 TWNIC 或上層 DNS 設定.

以下恕刪

對no-authoritative NS而言只要其cache中有某個domain相關的record尚未expire或被flush出去(BTW,hinet的機器實際上應該是一堆接在L4 switch後的server farm,其cache不見得是同步的,另一個可能是cache因為resource limit的關係已經被flush掉,所以須要重新forward query)自然會依cache回答client的query,這就是DNS中cache機制的作用,沒啥好奇怪的,不過您可能要確定一下在.com中您的authorized NS,到目前看來還是61.218.49.139,而61.218.49.139中soa內的NS就是錯的....BTW,一般DNS的實作只是很單純跟據query和resource record回答問題,不會去判斷record合理與否....

kantjn47
2003-08-30, 09:48 PM
最初由 dou0228 發表
台固最近的 DNS 動作怪怪的..
黑 Net DNS 是採用 每一個 DNS Query 都會發出 forward.
台固的則會 Cache 住, 直到 TTL expire 為止.

但是如果你的 Authority & Additional Records 裡洩露了 NS 主機名稱.

台固就會自己跑去 NS 主機問, 根本不鳥 TWNIC 或上層 DNS 設定.

我 Trace 了一下你公司的設定, 難怪出了問題了 @_@..


AUTHORITY RECORDS:
-> e-oher.com
nameserver = e-oher.com
ttl = 162504 (1 day 21 hours 8 mins 24 secs)
ADDITIONAL RECORDS:
-> e-oher.com
internet address = 61.218.49.139
ttl = 162504 (1 day 21 hours 8 mins 24 secs)

因此 DNS 主機位在 61.218.49.139
----------------------------------------------------
Server: e-oher.com
Address: 61.218.49.139
QUESTIONS:
www.e-oher.com, type = NS, class = IN
AUTHORITY RECORDS:
-> e-oher.com
ttl = 3600 (1 hour)
primary name server = wan.e-oher.com
主要 Name Server 為 wan.e-oher.com
----------------------------------------------------
> wan.e-oher.com
ANSWERS:
-> wan.e-oher.com
internet address = 192.168.100.4
ttl = 3600 (1 hour)
結果你回了 Private IP, 台固 DNS 覺得奇怪, 因此還是照用新的
----------------------------------------------------


所以你可以試著先把 wan.e-oher.com 的 A Record 回成 61.218.49.139
看看問題還在不在..

感謝您

關於您提到的這點我之前也蠻疑惑的,也提出好幾次
但公司另一位較資深的MIS一直堅持,所以也沒有更動它

由於我們是用IP Mapping的方式把61.218.49.139對應進來192.168.100.4
因此他認為61.218.49.139這個IP並沒有真正的主機在上面,所以設成61.218.49.139沒有意義。
不過我會試著說服他把wan.e-oher.com改成61.218.49.139

dou0228
2003-08-30, 10:37 PM
最初由 wangcm 發表
自然會依cache回答client的query,這就是DNS中cache機制的作用,沒啥好奇怪的

我沒說 Cache 機制奇怪, 而是台固的 DNS 它似乎會看 Authority & Additional Record 裡的 NS, 然後一路查下去..



而61.218.49.139中soa內的NS就是錯的....
不會去判斷record合理與否....

嗯, 我查出來的結果發現的確 www.e-oher.com 的 NS 有問題..
因為台固根本找不到那台機器.

以下是我猜測的 台固 DNS 回應的過程:


Client 發出 DNS Query
1) 有在 Cache 內, TTL not expire => 直接回給 Client, 並填入 Auth & Add Records.

2) 找不到, 只好往上層問 Type A 的 Record.
i. 發現裡面有 Auth. & Add. 欄位
繼續往 Authority 裡的 NS 去詢問.
a) ... 直到相同為止( 就是 Additional == Query Server )
詢問問題, 並把答案傳給 Client ( Cache 起來 )

b) 如果問不到, 那只好把既有之前的答案塞給 Client.

ii. 找不到 Auth. & Add. 欄位
會把答案傳回去給 Client, 並加上上層得到的 Auth. & Add. 欄位.


這一整個流程還須要確認, 是我最近觀察台固 DNS 發現的..

BTW, 我知道黑 Net 後端 168.95.0.0/16 是一大堆 DNS farm, 不過實在是..
問題很多..:mad:

kantjn47
2003-09-02, 09:30 PM
HI ALL
昨天回公司後把IP改為實體的之後
台固的DNS果然都能查到正確的IP了
但是中華的DNS還是不一定查得到正確的IP(211.78.213.212)
比較奇怪的是原本都能正確回覆的So-net DNS(61.64.127.1)
卻變的盡是查到錯誤的IP(203.66.138.12)
怎麼辦呢?
另外想請教一下dou0228 兄
要用哪一個指令才能查到像您那麼豐富的資料阿?

dou0228
2003-09-02, 10:11 PM
唉.. 果然.. 注意一下, TTL 似乎還沒有到期, 所以..

在 nslookup 下, 指定: set debug 就會看到 details info 了.

我說明一下:


第一次問 dns.hinet.net
> www.e-oher.com
Server: dns.hinet.net
Address: 168.95.1.1
ANSWERS:
-> www.e-oher.com
internet address = 203.66.138.12
ttl = 1928 (32 mins 8 secs)
AUTHORITY RECORDS:
-> com
nameserver = A.GTLD-SERVERS.NET
ttl = 13075 (3 hours 37 mins 55 secs)

............ 恕刪..

ADDITIONAL RECORDS:
-> A.GTLD-SERVERS.NET
internet address = 192.5.6.30
ttl = 147941 (1 day 17 hours 5 mins 41 secs)

............ 恕刪..

第二次問 dns.hinet.net
QUESTIONS:
www.e-oher.com, type = A, class = IN
ANSWERS:
-> www.e-oher.com
internet address = 211.78.213.212
ttl = 1026 (17 mins 6 secs)
AUTHORITY RECORDS: [delete]

ADDITIONAL RECORDS:
-> e-oher.com
internet address = 61.218.49.139
ttl = 15209 (4 hours 13 mins 29 secs)

這一筆完全正常, 問題可能是因為那些 DNS Farm 並未完全同步的關係.
TTL 還沒到期之故..


至於 So-Net 呢, TTL 也太長, 居然長達一天, 話說回來, 您更新超過一天以上了嗎? :confused: