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之後, 有些檔案沒對應好的關係.
留言
張貼留言