I have a service that depends on the host's primary IP address, and that service fails to start if that address is not configured on the host. Is there a way to have systemd-networkd bring a statically-configured interface up, even if the link for that interface is down at boot time, and keep it up if if the link is lost at any given time?

I found that for netplan exists ignore-carrier: true. I need the same for systemd-networkd

1 Answer 1


Reading systemd.network manual I've found this two parameters:

           Takes a boolean. Allows networkd to configure a specific link even if it has no carrier. Defaults to false. If IgnoreCarrierLoss= is not explicitly set, it will default to this value.
           Specifies the policy for systemd-networkd managing the link administrative state. Specifically, this controls how systemd-networkd changes the network device's "IFF_UP" flag, which is sometimes controlled by system administrators by running e.g., ip
           link set dev eth0 up or ip link set dev eth0 down, and can also be changed with networkctl up eth0 or networkctl down eth0.

           Takes one of "up", "always-up", "manual", "always-down", "down", or "bound". When "manual", systemd-networkd will not change the link's admin state automatically; the system administrator must bring the interface up or down manually, as desired. When
           "up" (the default) or "always-up", or "down" or "always-down", systemd-networkd will set the link up or down, respectively, when the interface is (re)configured. When "always-up" or "always-down", systemd-networkd will set the link up or down,
           respectively, any time systemd-networkd detects a change in the administrative state. When BindCarrier= is also set, this is automatically set to "bound" and any other value is ignored.

           When the policy is set to "down" or "manual", the default value of RequiredForOnline= is "no". When the policy is set to "always-down", the value of RequiredForOnline= forced to "no".

           The administrative state is not the same as the carrier state, so using "always-up" does not mean the link will never lose carrier. The link carrier depends on both the administrative state as well as the network device's physical connection. However,
           to avoid reconfiguration failures, when using "always-up", IgnoreCarrierLoss= is forced to true.

Setting the ConfigureWithoutCarrier=true and ActivationPolicy=always-up it worked

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .