最近在用 Odroid hc4 自己建 NAS 的時候發現,剛開機的時候對外連線都正常,但使用一段時間後 DNS 設定似乎會不見,我們一起來看看該如何解決。
系統狀況
- 使用 hc4 內建 petitboot 線上安裝的 Debian 10,沒有安裝桌面環境,所以不會有 NetworkManager 幫你管理網路連線。
- 發生連線問題時,同一內網的電腦可以 ssh 連線到 hc4 => 表示對內連線正常,網路線連接路由沒有問題
- 如果使用 docker pull image 會回覆這個錯誤
ERROR: Get https://registry-1.docker.io/v2/: dial tcp: lookup registry-1.docker.io on [::1]:53: read udp [::1]:44732->[::1]:53: read: connection refused
- 如果使用 ping google.com 會回覆這個錯誤
j@ordroid-hc4:~$ ping google.com
ping: google.com: Name or service not known
- 如果直接 ping ip 則可以正常
j@ordroid-hc4:~$ ping 172.217.161.206
PING 172.217.161.206 (172.217.161.206) 56(84) bytes of data.
64 bytes from 172.217.161.206: icmp_seq=1 ttl=57 time=45.9 ms
64 bytes from 172.217.161.206: icmp_seq=2 ttl=57 time=44.5 ms
判斷是 DNS 設定跑掉,目前不清楚為何會這樣,只好直接在 /etc/resolv.conf 增加以下幾行,強迫給定 nameserver
nameserver 8.8.8.8
nameserver 8.8.4.4
此時再 ping 就會正常了
j@ordroid-hc4:~$ ping google.com
PING google.com (172.217.24.14) 56(84) bytes of data.
64 bytes from tsa01s07-in-f14.1e100.net (172.217.24.14): icmp_seq=1 ttl=115 time=6.08 ms
64 bytes from tsa01s07-in-f14.1e100.net (172.217.24.14): icmp_seq=2 ttl=115 time=9.03 ms
Docker 也能正常 pull image
如果大家有遇到類似的問題可以試試修改 /etc/resolv.conf 看能不能解決!
延伸閱讀:
自己 DIY 一個 NAS 吧! – 安裝 OpenMediaValue 到 ordroid HC4
關掉 Network Manager 自己手動設定 static ip 吧!