设置
我正在玩一个运行 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重新启动?