MacOS DNS issue ping IP ok but ping hostname failed

今天遇到一個 MacOS 上 DNS 的問題, 

記錄一下. 

Issue: 

    ping hostname failed

Analysis

    ping IP ok / nslookup ok


1. Log


    可以用 系統監視程式對照來看


2. 連線設定檔案

    在 /Library/Preferences/SystemConfiguration 下

       NetworkInterfaces-pre-upgrade-source.plist

       NetworkInterfaces.plist

       com.apple.airport.preferences.plist

       com.apple.network.eapolclient.configuration.plist

       com.apple.wifi.message-tracer.plist

       preferences-pre-upgrade-source.plist

       preferences.plist

    可以先移除(或先搬到 backup 保存, 真有問題再放回來)

    這樣重新開機, 打開 系統設定 網路時, 會造一份新的.

 

2. IPv6 先關閉

    sudo networksetup -setv6off Wi-Fi


3. DNS 可以設定成 8.8.4.4

    可以看 /etc/resolv.conf 有沒有對照設定到


4. /etc/hosts

    如果用 nslookup 查到的 IP 建立進去後, 可以 ping hostname 得到.

 

5. mDNSResponder 

    可以用 launchctl 來重啟

    sudo launchctl unload -w /System/Library/LaunchDaemons/com.apple.mDNSResponder.plist

    sudo killall -HUP mDNSResponder

    sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.mDNSResponder.plist


6. imagnet

     sudo launchctl load -w /System/Library/LaunchAgents/com.apple.imagent.plist


這樣神奇的就ok 了, 可能是系統因為 Recovery 從 MacOS 10 

升到 MacOS 12.6 Monterey之後, 有些檔案沒對應好的關係. 



留言

熱門文章