如何讓 systemd-resolve 在熱插拔後正確生效?

如何讓 systemd-resolve 在熱插拔後正確生效?

設定

我正在玩一個運行 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重新啟動?

相關內容