首頁  >  問答  >  主體

curl - centos的dns首次解析失敗的困惑

公司有一台centos伺服器比較奇怪,
就是curl ping wget 之類存取外網的操作都會卡住幾秒鐘種。 (相同配置及相同服務換將的其他幾台機器正常)
域名在hosts檔案中強制指定ip秒開。如 1.2.3.4 www.baidu.com
可以說明是dns解析的問題。

$ time curl domain-xxx.com 發現每次回傳都10秒以上,
此時/etc/resolv.conf 包含兩個nameserver。
然後刪除一個nameserver後,每次回傳在5秒以上。
設定3個nameserver後,每次回傳在15秒以上。

然後修改了/etc/resolv.conf中options timeout:1(超時設定成了1秒)
n個nameserver,每次回傳n秒以上。 (當然n最大為3)
可以看出是/etc/resolv.conf nameserver都失敗了。

但是例如 $ dig www.baidu.com 回傳以下結果

; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.30.rc1.el6_6.3 <<>> www.baidu.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 25008
;; flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;www.baidu.com.         IN  A

;; ANSWER SECTION:
www.baidu.com.      90  IN  CNAME   www.a.shifen.com.
www.a.shifen.com.   214 IN  A   220.181.112.244
www.a.shifen.com.   214 IN  A   220.181.111.188

;; Query time: 15 msec
;; SERVER: 8.8.8.8#53(8.8.8.8) ## /etc/resolv.conf 中第1个 nameserver
;; WHEN: Mon Aug 10 21:14:19 2015
;; MSG SIZE  rcvd: 90

real    0m1.019s ## 可以看到此时有1秒的时间莫名消耗掉了,当前只有1个nameserver
user    0m0.003s
sys 0m0.000s

我的問題來了
1,如果 /etc/resolv.conf 中的3個 nameserver都失敗了
那為什麼的dig的server結果還是8.8.8.8
2,為什麼會出現逾時重試,即第1次輪詢失敗,第2次的第1個nameserver就成功了(我這樣理解。。)。
3,centos系統或機房網路有沒有什麼可能影響我本機dns解析的。

謝謝大家。
補充一下:CentOS release 6.4 (Final)

大家讲道理大家讲道理2733 天前774

全部回覆(0)我來回復

無回覆
  • 取消回覆