[systemd-devel] systemd-resolved cannot survive router reinstall

Tom Gundersen teg at jklm.no
Thu Aug 21 01:26:46 PDT 2014


On Thu, Aug 21, 2014 at 8:22 AM, Anatol Pomozov
<anatol.pomozov at gmail.com> wrote:
> Hi
>
> Sorry for the delay, just got back home.
>
> On Tue, Aug 12, 2014 at 12:19 PM, Tom Gundersen <teg at jklm.no> wrote:
>> On Tue, Aug 12, 2014 at 2:48 AM, Anatol Pomozov
>> <anatol.pomozov at gmail.com> wrote:
>>> Thanks for the instructions, here is the log
>>> https://gist.github.com/anatol/cb497118cfad6af3dc60
>>>
>>> The interesting entries are:
>>> Aug 11 17:30:25 theserver systemd-networkd[32648]: ICMPv6 CLIENT:
>>> Received Router Advertisment flags MANAGED/OTHER
>>> Aug 11 17:30:25 theserver systemd-networkd[32648]: ICMPv6 CLIENT:
>>> Received Router Advertisment flags MANAGED/OTHER
>>> Aug 11 17:30:30 theserver systemd-networkd[32648]: ICMPv6 CLIENT:
>>> Received Router Advertisment flags MANAGED/OTHER
>>>
>>> Is it the "heartbeat" message from the router?
>>
>> This is IPv6 router advertisment. Not related to your DHCPv4 problems.
>>
>> When the router is rebooted, we should expect to get -LOWER_UP
>> followed by +LOWER_UP in the logs (same as when unplugging the cable).
>> Could you try running "ip monitor link" when rebooting the rooter and
>> paste whatever events you get? How about when you unplug/replug the
>> cable?
>
> I just realized that all my computers (except the home server that has
> the dhcp problem) are either connected directly to router via cable or
> use wifi (i.e. also connected directly). This means when router power
> cycles all directly connected machines see it and thus renew the dhcp
> lease. But the home server is connected via switch so it is located in
> its own network segment. Even if router reboots, that segment stays
> healthy and the server does not notice any "problem" with the router.
> It thinks that the lease is OK. I need to unplug/plug the cable
> connected to the home server - this brings networkd down/up and
> eventually updates the lease.
>
> So the problem is not in networkd, sorry for the noise. The problem is
> in OpenWRT that uses dnsmasq and stores dhcp lease information on
> tmpfs. If I reboot the router it looses all the leases and machines
> should update the information somehow. This is a problem for machines
> in a separate network segment. I can not believe that OpenWRT
> developers never tested such configuration. I am going to contact
> openwrt/dnsmasq maillist and ask what is the right way to solve the
> issue.

Thanks for getting back to this. That explains the situation.

> PS According to off-list discussion with Tom FORCERENEW dhcp option
> http://tools.ietf.org/html/rfc3203 is what suppose to fix this issue.
> But dnsmasq does not support it.
>
> PPS NetworkManager has a higher-level connectivity checking. It can be
> configured to read an url content periodically and if it returns
> unexpected result then connection considered broken.

We intend to add such connectivity checking to networkd too, but I
doubt we should use it to renew the DHCP lease, but keep the DHCP
logic to only renewing when connectivity to the local link is lost.

Cheers,

Tom


More information about the systemd-devel mailing list