国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

DNS 故障集錦

網絡 運維
我不打算在這篇文章中討論如何解決或避免這些問題,但我會放一些討論這些問題的鏈接,在那里可以找到解決問題的方法。

當我第一次知道 DNS 時,我想它應該不會很復雜。不就是一些存儲在服務器上的 DNS 記錄罷了。有什么大不了的?

但是教科書上只是介紹了 DNS 的原理,并沒有告訴你實際使用中 DNS 可能會以多少種方式破壞你的系統。這可不僅僅是緩存問題!

所以我 在 Twitter 上發起了一個提問,征集人們遇到的 DNS 問題,尤其是那些一開始看起來與 DNS 沒什么關系的問題。(“總是 DNS 問題”這個梗)

我不打算在這篇文章中討論如何解決或避免這些問題,但我會放一些討論這些問題的鏈接,在那里可以找到解決問題的方法。

問題:網絡請求緩慢

如果你的網絡比預期的要慢,這是因為某些原因導致 DNS 解析器變慢了。這可能是解析器負載過大或者存在內存泄漏等原因導致的。

我的路由器的 DNS 轉發器曾遇到過這個問題,導致我的所有 DNS 請求很慢。我通過重啟路由器解決了這個問題。

問題:DNS 超時

一些網友提到由于 DNS 查詢超時,他們的網絡請求需要耗時 2 秒多甚至 30 秒。這跟“網絡請求緩慢”問題類似,但情況要更糟糕,因為 DNS 請求就會消耗掉幾秒鐘時間。

Sophie Haskins 有一篇關于 Kubernete DNS 超時的博客文章 一次 Kube DNS 踩坑經歷

問題:ndots 設置

一些網友提到在 /etc/resolv.conf 中設置 ndots:5 時會出現問題。

下面是從 這篇《Kubernetes 容器莢中 /etc/resolv.conf 里設置 ndots:5 為什么會拖慢你的程序性能》中引用的 /etc/resolv.conf文件。

nameserver 100.64.0.10
    search namespace.svc.cluster.local svc.cluster.local cluster.local eu-west-1.compute.internal
    options ndots:5

如果你用上面的配置文件,想要查詢得域名是 google.com,那么你的程序會調用 getaddrinfo 函數,而它會依次查詢以下域名:

  1. google.com.namespace.svc.cluster.local.
  2. google.com.svc.cluster.local.
  3. google.com.cluster.local.
  4. google.com.eu-west-1.compute.internal.
  5. google.com.

簡單來說,它會檢查 google.com 是不是 search 這一行中的某個子域名。

所以每發起一次 DNS 查詢,你都得先等待前 4 次查詢失敗后才能獲取到最終查詢結果。

問題:難以判斷系統使用的 DNS 解析器

這本身并不是一個問題,但當你遇到 DNS 問題時,一般都會跟 DNS 解析器有關。我沒有一種判斷 DNS 解析器的萬能方法。

下面是我知道的方法:

  • 在 Linux 系統上,最常見的是通過 /etc/resolv.conf 來選擇 DNS 解析器。但是也有例外,比如瀏覽器可能會忽略 /etc/resolv.conf,而是使用 基于 HTTPS 的 DNSDNS-over-HTTPS
  • 如果你使用的是 UDP DNS,你可以通過 sudo tcpdump port 53 來查看 DNS 請求被發送到了哪里。但如果你使用的是基于 HTTPS 的 DNS 或 基于 TLS 的 DNSDNS over TLS,這個方法就不行了。

我依稀記得這在 MacOS 系統上會更加令人迷惑,我也不清楚原因。

問題:DNS 服務器返回 NXDOMAIN 而不是 NOERROR

這是我曾經遇到過的一個 Nginx 不能解析域名的問題。

  • 我設置 Nginx 使用一個特定的 DNS 服務器來解析 DNS 查詢
  • 當訪問這個域名時,Nginx 做了兩次查詢,第一次是對 A 的,第二次是對 AAAA 的
  • 對于 A 的查詢,DNS 服務器返回 NXDOMAIN
  • Nginx 認為這個域名不存在,然后放棄查詢
  • 對于 AAAA 的查詢 DNS 服務器返回了成功
  • 但 Nginx 忽略了對 AAAA 返回的查詢結果,因為它前面已經放棄查詢了

問題出在 DNS 服務器本應該返回 NOERROR 的——那個域名確實存在,只是沒有關于 A 的記錄罷了。我報告了這個問題,然后他們修復了這個問題。

我自己也寫出過這個問題,所以我理解為什么會發生這種情況——很容易想當然地認為“沒有要查詢的記錄,就應該返回 NXDOMAIN 錯誤碼”。

問題:自動生效的 DNS 緩存

如果你在生成一個域名的 DNS 記錄之前就訪問這個域名,那么這個記錄的缺失會被緩存起來。當你第一次遇到這個問題時一定會非常吃驚——我也是去年才知道有這個問題。

緩存的 TTL 就是域名的 起始權限記錄Start of Authority(SOA) 記錄的 TTL ——比如對于 jvns.ca ,這個值是一個小時。

問題:Nginx 永久緩存 DNS 記錄

如果你在 Nginx 中使用下面的配置:

location / {
        proxy_pass https://some.domain.com;
    }

Nginx 只會在啟動的時候解析一次 some.domain.com,以后不會再對其進行解析。這是非常危險的操作,尤其是對于那些 IP 地址經常變動的域名。它可能平安無事地運行幾個月,然后突然在某個凌晨兩點把你從床上糾起來。

針對這個問題已經有很多眾所周知的方法了,但由于本文不是關于 Nginx 的,所以我不打算深入探討它。但你第一次遇到它時一定會很驚訝。

這是一篇關于這個問題發生在 AWS 負載均衡器上的 博客文章

問題:Java 永久緩存 DNS 記錄

跟上面類似的問題,只是出現在 Java 上:據說 這與你 Java 的配置有關。“JVM 的默認 TTL 設置可能會導致只有 JVM 重啟時才會刷新 DNS 記錄。”

我還沒有遇到過這個問題,不過我那些經常寫 Java 的朋友遇到過這個問題。

當然,任何軟件都可能存在永久緩存 DNS 的問題,但據我所知它經常出現在 Nginx 和 Java 上。

問題:被遺忘的 /etc/hosts 記錄

這是另一種緩存問題:/etc/hosts 中的記錄會覆蓋你的常規 DNS 設置!

讓人迷惑的是 dig 命令會忽略 /etc/hosts 文件。所以當你使用 dig whatever.com 來查詢 DNS 信息時,它會告訴你一切正常。

問題:電子郵件未發送 / 將成為垃圾郵件

電子郵件是通過 DNS(MX 記錄, SPF 記錄, DKIM 記錄)來發送和驗證的,所以有些電子郵件問題其實是 DNS 問題。

問題:對國際化域名無效

你可以使用非 ASCII 字符甚至是表情符來注冊域名,比如 拉屎網 https://??.la

DNS 能夠處理國際化域名是因為 ??.la 會被用 punycode 編碼將轉換為 xn--ls8h.la

盡管已經有了 DNS 處理國際化域名的標準,很多軟件并不能很好地處理國際化域名。Julian Squires 的 干掉 Chrome 瀏覽器的表情符!! 就是一個非常有趣的例子。

問題:TCP DNS 被防火墻攔截

有人提到一些防火墻會允許在 53 端口上使用 UDP 協議,但是禁止 TCP 協議。然而很多 DNS 查詢需要在 53 端口上使用 TCP,這可能會導致很難排查的間歇性的問題。

問題:musl 不支持 TCP DNS

很多應用程序使用 libc 的 getaddrinfo 來做 DNS 查詢。musl 是用在 Alpine Docker 容器上的 glibc 替代品。而它不支持 TCP DNS。如果你的 DNS 查詢的響應數據超過 DNS UDP 數據包的大小(512 字節)就會出現問題。

我對此仍然不太清楚,我下面我的理解也可能是錯的:

  1. musl 的 getaddrinfo 發起一個 DNS 請求
  2. DNS 服務器發現請求的響應數據太大了,沒法放入一個 DNS 數據包中
  3. DNS 服務器返回一個空截斷響應empty truncated response,并期望客戶端通過 TCP DNS 重新用發起查詢
  4. 但 musl 不支持 TCP DNS,所以根本不會重試

關于這個問題的文章:在 Alpine Linux 上的 DNS 解析問題

問題:getaddrinfo 不支持輪詢 DNS

輪詢round robin DNS 是一種 負載均衡load balancing 技術,每次 DNS 查詢都會獲得一個不同的 IP 地址。顯然如果你使用 gethostbyname 做 DNS 查詢不會有任何問題,但是用 getaddrinfo 就不行了。因為 getaddrinfo 會對獲得的 IP 地址進行排序。

在你從 gethostbyname 切換到 getaddrinfo 時可能完全不會意識到這可能會引起負載均衡問題。

這個問題可能會非常隱蔽,如果你不是用 C 語言編程的話,這些函數調用被隱藏在各種調用庫背后,你可能完全意識不到發生了這種改變。所以某次看似人畜無害的升級就可能導致你的 DNS 負載均衡失效。

下面是討論這個的一些文章:

問題:啟動服務時的競爭條件

有人 提到 使用 Kubernete DNS 時遇到的問題:他們有兩個同時啟動的容器,一旦啟動就會立即嘗試解析對方的地址。由于 Kubernete DNS 還沒有改變,所以 DNS 查詢會失敗。這個失敗會被緩存起來,所以后續的查詢會一直失敗。

寫在最后

我所列舉的不過是 DNS 問題的冰山一角,期待大家告訴我那些我沒有提到的問題和相關鏈接。我希望了解這些問題在實際中是如何發生的以及如何被解決的。

責任編輯:龐桂玉 來源: Linux中國
相關推薦

2018-03-29 09:30:01

DNS故障處理

2011-08-17 10:07:30

windows7故障

2009-08-15 12:49:54

DHCP常見故障DNS常見故障

2009-08-16 16:11:05

2010-06-03 13:00:37

DNS故障

2010-08-26 09:15:47

ADSL故障

2011-05-04 09:53:37

惠普激光打印機故障

2010-09-27 14:19:09

DNS故障處理

2009-12-29 09:01:49

2010-07-28 16:53:59

2011-03-14 09:35:22

2009-04-14 16:14:51

2011-04-02 10:26:04

2021-11-25 10:36:04

DNS命令Linux

2012-07-03 14:02:28

路由器故障

2019-05-22 09:51:28

網絡故障

2009-11-13 13:48:58

網絡配置DNS

2009-11-13 10:48:47

網絡配置DNS

2011-05-11 09:25:53

2009-07-28 09:18:17

點贊
收藏

51CTO技術棧公眾號

一区二区视频在线播放| 国产日韩av在线| 触手亚洲一区二区三区| 国产欧美综合在线观看第十页| 91久久精品国产91久久性色tv| 日本成人中文| 久久久久久久国产| av一级久久| 亚洲天堂色网站| 高清毛片在线观看| 538prom精品视频线放| 一本一道dvd在线观看免费视频| 国产欧美日韩三级| av免费在线播放网站| 国产99久久久久久免费看农村| 亚洲一区二区高清视频| 日本欧美一区二区三区乱码| 久久综合狠狠综合久久综青草| 亚洲天天影视网| 99se婷婷在线视频观看| 欧美交a欧美精品喷水| 免费97视频在线精品国自产拍| 经典三级一区二区| 亚洲日本中文字幕| 天堂а√在线最新版中文在线| 欧美一级黄色大片| 欧美激情20| 久久久精品网站| 久久这里只有精品一区二区| 欧美在线视频一二三| 99久久婷婷| 久久久久高清| 国产福利91精品一区| 成 年 人 黄 色 大 片大 全| 久久久久久久免费视频了| 激情五月亚洲色图| 亚洲精品美腿丝袜| av资源在线观看免费高清| 日韩一区二区在线观看| 欧美成人a交片免费看| 欧美大片在线影院| 天天做天天爱天天综合网2021| 国产日韩精品推荐| 国产成人午夜电影网| 午夜电影福利网| 日本精品一区二区三区高清 | 黄色成人在线网址| 欧美性大战久久久久| 精油按摩中文字幕久久| 激情五月开心婷婷| 五月天一区二区| www.51av欧美视频| 91精品国产色综合久久不卡98口| 欧美激情偷拍自拍| 天堂av免费看| 亚洲免费观看高清完整版在线观看 | 男人透女人免费视频| 亚洲午夜三级在线| 欧美videossex另类| 精品国产一区二区三区久久狼5月| 黑人巨大精品欧美一区二区免费 | 97人人在线视频| 久久久久久久久久久久久久久久久久 | 男女免费网站| 欧美日韩精品系列| 欧美日韩卡一| 91gao视频| 成人福利在线看| 情趣网站视频在线观看| 亚洲欧美日韩中文在线| 日本大胆欧美| 久久久久久久久久伊人| 精品成人av一区| 97欧美成人| 亚洲va码欧洲m码| 99久久婷婷国产综合精品电影| 久蕉在线视频| 欧美激情女人20p| 日韩国产精品久久| 一级特黄特色的免费大片| 亚洲男人天堂网| 欧美激情欧美| 精品中文字幕av| 欧美一区二区日韩一区二区| 日日天天久久| 妞干网视频在线观看| 欧美丝袜自拍制服另类| 成人午夜大片| 男女日批视频在线观看| 337p亚洲精品色噜噜噜| 亚洲另类春色校园小说| 9191国产视频| 欧美日韩视频一区二区| 四虎影视精品永久在线观看| 成年网站免费| 日韩一级在线观看| 99r国产精品视频| 久久久亚洲精品一区二区三区| 在线观看免费黄视频| 国产不卡av在线| 91原创在线视频| 色戒汤唯在线观看| 欧美日韩一区二| 欧美色电影在线| 91精品亚洲| 最新中文在线视频| 国产不卡一区二区在线播放| 久久综合精品国产一区二区三区| 福利影院在线看| 日韩一区二区电影在线观看| 欧美亚洲综合一区| 久久精品久久久| 中文有码在线观看| 秋霞成人午夜伦在线观看| 风间由美一区| 成人黄在线观看| 亚洲一区二区三区三| 女一区二区三区| 成人3d动漫一区二区三区| 中文字幕日韩视频| 国产一区在线观看视频| 性欧美ⅴideo另类hd| 国产精品美女诱惑| 欧美视频中文字幕在线| 久久99国产精品视频| jizz蜜桃视频在线观看| 97久久久久久| 国产精品久久777777| 国产精品17p| av网站一区| 国产精品扒开腿做爽爽爽视频| 国产精品丝袜久久久久久app| 青草伊人久久| 成人狠狠色综合| 国产精品日韩欧美大师| 亚洲一区二区三区影院| 99国产**精品****| 国产在线高清| 欧美13一14另类| 亚洲第一视频网| 成人免费视频一区| 精品国产三区在线| 国产精品后入内射日本在线观看| 久久久国产精品免费| 欧美激情一区二区三区在线| 国产乱论精品| 日本不卡1区2区3区| 91中文字幕在线观看| 欧美日韩国产区一| 韩国视频一区二区| 日韩中文字幕| 一级视频在线免费观看| 久久av一区二区| 亚洲精品久久久久久国产精华液| 亚洲欧美色图小说| 麻豆九一精品爱看视频在线观看免费| 亚洲高清影院| 18视频在线观看| 蜜桃传媒视频麻豆第一区免费观看| 欧美日韩激情一区二区三区| 丝袜亚洲另类丝袜在线| 日韩欧美一区二区三区免费观看| 虎白女粉嫩尤物福利视频| 97香蕉超级碰碰久久免费的优势| 又紧又大又爽精品一区二区| 欧美女激情福利| 暖暖在线中文免费日本| 精品无码国产一区二区三区av| 欧美成人性色生活仑片| 亚洲午夜免费视频| 日日摸夜夜添夜夜添亚洲女人| 日韩成人影音| 日韩欧美亚洲| 天天综合色天天综合色hd| 色婷婷综合成人| 亚洲电影一区二区三区| 久久亚洲图片| 日韩第一区第二区| 日本人妖在线| 红桃一区二区三区| 人体精品一二三区| 精品裸体舞一区二区三区| 中文字幕免费观看一区| 国产在线不卡| 精品午夜视频| 黄色免费网站在线| 亚洲77777| 久久精品国产精品国产精品污 | 精品久久国产精品| 色综合天天狠狠| 国产成人av电影在线播放| 成人网18免费网站| gogo亚洲高清大胆美女人体| 污污网址在线观看| 国产二级片在线观看| 国产一区福利视频| 欧洲成人性视频| 中文字幕在线精品| 欧美另类z0zxhd电影| 亚洲色图视频网站|