操屁眼的视频在线免费看,日本在线综合一区二区,久久在线观看免费视频,欧美日韩精品久久综

新聞資訊

    本節模擬幾種導致 DNS 查詢變慢的場景,如果在實際環境中遇到類似現象,可以考慮往這些 方向排查。

    1、機器未配置 DNS 導致域名查找失敗

    現象:網絡是通的(例如 ping IP 通),但是 DNS 查詢總是失敗

    可能的原因:機器沒有配置 DNS 服務器

    解決辦法:修改/etc/.conf,給機器配置合適的 DNS 服務器 有時新啟動的機器(不管是物理機、虛擬機還是容器)沒有設置 DNS,導致訪問域名不通。我們來復現一下。

    在正常的容器里用 工具查看域名對應的 IP 地址:

    / # nslookup example.com
    Name:      example.com
    Address 1: 93.184.216.34
    Address 2: 2606:2800:220:1:248:1893:25c8:1946
    

    可以看到,我們獲取到了該域名一個 IPv4 地址和一個 IPv6 地址。

    將/etc/.conf 里的 DNS 服務器列表用#注釋掉,模擬沒有配置 DNS 服務器的場景。

    再次測試:

    / # nslookup example.com
    nslookup: can't resolve 'example.com': Try again
    

    所以遇到這種問題,可以先去排查/etc/.conf 里面是否配置了 DNS 服務器。

    2、DNS 服務太慢

    現象:DNS 查詢太慢

    顯示dns錯誤_dns經常出現問題_老顯示dns有問題

    可能的原因:配置的 DNS 服務器不合理

    解決辦法:修改/etc/.conf,配置合適的 DNS 服務器

    每個公司一般都有自維護的 DNS 服務器,不僅用來解析內網 DNS,而且可以加速解析公網域名 。

    dig 是另外一個功能更強大的 DNS 查詢工具,安裝:

    / # apk update && apk add bind-tools
    

    首先查看使用內網 DNS,查詢域名的延遲:

    / # dig example.com
    ...
    example.com.            15814   IN      A       93.184.216.34
    ;; Query time: 0 msec
    ;; SERVER: 192.168.1.11#53(192.168.1.11)
    

    可以看到非常快,在 1ms 以內。

    然后我們測試如果使用 的公網 DNS 服務器 8.8.8.8 [1],延遲會是多少。

    修改/etc/.conf,將其他 注釋掉,添加一行 8.8.8.8。

    再次測試:

    / # dig example.com
    ...
    example.com.            15814   IN      A       93.184.216.34
    

    顯示dns錯誤_dns經常出現問題_老顯示dns有問題

    ;; Query time: 150 msec ;; SERVER: 8.8.8.8#53(8.8.8.8)

    延遲變成了 150ms,比原來大了 150 多倍。

    因此,對于 DNS 查詢特別慢的場景,首先要查看配置的 DNS 服務器是否合理。

    3、 /etc/hosts 導致跳過 DNS 查詢

    現象:某域名訪問太慢、某域名總是指向相同 IP(多 IP 情況下)、特定機器不可訪問 某域名等等

    可能的原因:/etc/hosts 有 域名及 IP

    解決辦法:修改/etc/hosts

    前面提到,大部分公網域名都對應多個 IP 地址,因此每次 DNS 查詢拿到的 IP 地址都可能不一 樣,我們用 ping 來測試一下:

    / # ping baidu.com
    PING baidu.com (220.181.57.216): 56 data bytes
    64 bytes from 220.181.57.216: seq=0 ttl=45 time=26.895 ms
    64 bytes from 220.181.57.216: seq=1 ttl=45 time=26.701 ms
    ^C
    / # ping baidu.com
    PING baidu.com (123.125.115.110): 56 data bytes
    64 bytes from 123.125.115.110: seq=0 ttl=43 time=27.587 ms
    64 bytes from 123.125.115.110: seq=1 ttl=43 time=27.757 ms
    ^C
    

    dns經常出現問題_顯示dns錯誤_老顯示dns有問題

    可以看到,兩次 ping 測試(內部首先查詢 對應的 IP 地址)拿到的 IP 地址是不一樣 的。用 可以看到它們都是 對應的 IP 地址:

    / # nslookup baidu.com
    Name: baidu.com
    Address: 220.181.57.216
    Name: baidu.com
    Address: 123.125.115.110
    

    /etc/hosts 里面可以直接 一個域名對應的 IP 地址,這會導致機器跳過 DNS 查詢,直接拿這個 IP 作 為該域名的 IP。我們來驗證一下。

    修改/etc/hosts,添加一行 123.125.115.110 ,再次 ping 測試

    / # ping baidu.com
    PING baidu.com (123.125.115.110): 56 data bytes
    64 bytes from 123.125.115.110: seq=0 ttl=43 time=27.861 ms
    ^C
    --- baidu.com ping statistics ---
    1 packets transmitted, 1 packets received, 0% packet loss
    round-trip min/avg/max = 27.861/27.861/27.861 ms
    / # ping baidu.com
    PING baidu.com (123.125.115.110): 56 data bytes
    64 bytes from 123.125.115.110: seq=0 ttl=43 time=27.614 ms
    ^C
    

    這是不管執行多少次, 對應的 IP 地址都不會變了。而實際上,這個 IP 地址并不一定是最優的 IP 地址,甚至有可能這 個 IP 不可用,導致訪問 失敗。因此,實際中要極力避免在/etc/hosts 中 。

    dns經常出現問題_老顯示dns有問題_顯示dns錯誤

    4、DNS 查詢不穩定

    現象:DNS 查詢不穩定,時快時慢

    可能的原因:機器上有 tc 或 規則,導致到 DNS 服務器的 變慢或丟失

    解決辦法:修改或刪除 tc/ 規則

    我們用 tc 來模擬網絡延遲:

    / # apk add iproute2
    

    首先查看有沒有 tc 規則:

    / # tc -p qdisc ls dev eth0
    

    默認沒有任何規則。

    然后我們加一條:每個 延遲 600ms:

    / # tc qdisc add dev eth0 root netem delay 600ms
    / # tc -p qdisc ls dev eth0
    / # qdisc netem 8001: root refcnt 2 limit 1000 delay 600.0ms
    

    測試:

    / # dig example.com
    ...
    example.com.            15814   IN      A       93.184.216.34
    

    老顯示dns有問題_dns經常出現問題_顯示dns錯誤

    ;; Query time: 600 msec ;; SERVER: 192.168.1.11#53(192.168.1.11)

    可以看到,DNS 查詢變成了 600ms。

    這里我們測試的是固定延遲,這種問題很容易發現。我們還可以測試隨機延遲,或者按 比例延遲等 [2]:

    / # tc qdisc change dev eth0 root netem delay 600ms 10ms 25%
    / # tc qdisc change dev eth0 root netem delay 600ms 20ms distribution normal
    

    此類規則會導致 DNS 查詢速度更有隨機性。

    最后刪除 tc 規則:

    / # tc qdisc del dev eth0 root
    

    規則也會導致類似的問題。

    很多軟件在運行之后老顯示dns有問題,會在宿主機上添加 tc 或 規則,例如 ,K8S 等等 。因此遇到這種隨機延遲問題,首先可以查看機器上是否有 tc 或 規則。

    5、DNS 反向查詢不穩定

    線上遇到過這樣一個問題:從一臺機器 ping 一個內網域名,每個 ping 包看起來都會卡 5 ~ 30s 不等,但是 CTL-C 關閉 ping 之后老顯示dns有問題,打印出來的統計信息里,既沒有丟包,ping 的延遲也很低 (毫秒級),這就很奇怪。接下來:

    根據以上信息,說明 ping 卡頓的問題出在這臺機器,而且應該就是 ping 程序本身在做什么耗 時的操作。繼續:

    到這里,基本確定了是 DNS 服務器反向查詢的問題,我們用另外幾個命令行工具驗證一下, 以下三個命令都是根據 IP 反查 :

    果然,以上三個命令都會卡住。修改/etc/.conf,換一個 DNS 服務器之后,問題 消失了。接下來,就去查 DNS 服務器的問題吧。

    這里是網絡安全的全套精講教程,點擊卡片,即可觀看:

    這里有全套學習資料包(教程+源碼+學習筆記+工具+課件+面試題解析)免費領取,

    還有大牛講師在線答疑免費輔導!還等什么?快來學習吧!

網站首頁   |    關于我們   |    公司新聞   |    產品方案   |    用戶案例   |    售后服務   |    合作伙伴   |    人才招聘   |   

友情鏈接: 餐飲加盟

地址:北京市海淀區    電話:010-     郵箱:@126.com

備案號:冀ICP備2024067069號-3 北京科技有限公司版權所有