設定
我正在玩一個運行 Debian Jessie 的小型嵌入式板。我正在systemd
盡可能地使用東西,包括網路東西。我已經添加了文件:
/etc/systemd/network/eth0-dhcp.network
:
[Match]
Name=eth0
[Network]
DHCP=yes
我將/etc/resolv.conf
文件修復為符號連結/run/systemd/resolve/resolv.conf
。
systemd 報告的版本是 215。
我已將開發板插入我的 MacBookPro,它正在將其 wifi 連接作為乙太網路共享。
會發生什麼
1)第一次啟動時,一切正常。ifconfig
顯示我有一個由 MacBook 分發的有效 IP 位址。我可以ping 0.debian.pool.ntp.org
並得到有效的答案。cat /etc/resolv.conf
顯示有效nameserver
地址。這一切都在預料之中,也是一件好事(tm)
2) 如果我斷開乙太網路電纜,我會在控制台上收到一組訊息,指示連結已關閉。此時,ifconfig
不再顯示ip位址。cat /etc/resolv.conf
現在是空的。當然,ping 也不再運作了。這也都在意料之中。
3)我重新連接電纜。現在我收到一組訊息,表示連結已開啟。此時,ifconfig
說明我又擁有了有效的ip位址。但/etc/resolv.conf
裡面什麼也沒有。所以我的 ping 命令不起作用,沒有地址。但是我可以ping 204.2.134.162
(該主機之前報告的位址)。因此,我得出的結論是,雖然我的網路層透過電纜熱插拔正確地恢復正常,但systemd-resolved
不是嗎?
執行完後systemctl restart systems-resolved
,/etc/resolv.conf
再次顯示一個條目,但解析的 IP 位址現在不同,仍然無法 ping 通。
有人可以向我解釋這裡發生了什麼事嗎?在網路熱插拔事件發生後,如何才能使名稱解析再次運作?隨意迂腐,我的網路知識大多是憑經驗學到的軼事和反覆試驗。
更新
有人指出,Debian 池位址可能確實不同且無法 ping 通。相反google.com
,該部分總是可以正常工作。所以剩下的問題是
網路熱插拔後如何讓systemd-resolved重新啟動?