[systemd-devel] Persistent address on "Lost carrier"

Lennart Poettering lennart at poettering.net
Thu Jun 15 08:21:23 UTC 2017


On Tue, 13.06.17 21:44, Amish (anon.amish at gmail.com) wrote:

> Hello,
> 
> I have the following in /etc/systemd/network/25-eth0.network
> 
> [Match]
> MACAddress=00:11:22:33:44:55
> 
> [Network]
> Address=192.168.1.32/24
> Gateway=192.168.1.1
> 
> Now I have few "dynamic" routes where destination IP keeps changing.
> 
> Example:
> /usr/bin/ip route add to 1.2.3.4 via 192.168.1.2 (Different gateway)
> 
> Many more routes are added by one script which keeps adding / deleting
> routes based on certain algorithms.
> 
> Since destination IP keeps changing, I can not put it in [Route] section.
> 
> Now my problem is, if for any reason the interface loses carrier (cable
> fault / switch / router reboot), the IP associated with it is removed and
> hence all the routes added by script gets lost.
> 
> My question is how to stop this?
> 
> How do I tell systemd to not to delete IP address on "Lost carrier"?
> 
> I tried with:
> 
> BindCarrier=lo
> OR
> BindCarrier=eth0
> OR
> BindCarrier=lo eth0
> 
> But none worked.
> 
> Any idea / suggestions? Something similar to - CriticalConnection for DHCP?
> 
> Or may be we can have Persistent=true in "[Network]" OR "[Address]" section?

This is really not how networkd is supposed to be used. Either it
manages an interface in its entirety or not at all. It's not designed
to manage an interface only "half-way", i.e. manage addresses but not
the routes.

I am sorry, but networkd really isn't the right tool for what you are
trying to do.

Sorry,

Lennart

-- 
Lennart Poettering, Red Hat


More information about the systemd-devel mailing list