I want to configure an address on eth0:ipv4ll, even if eth0 is itself configured. Eth0 will never be configured with an ipv4ll address, it's set to DHCP. The system in question is used both in a regular network, and out of it, and needs to ipv4ll address all the time.

I set up a line in the interfaces file as such:

iface eth0:ipv4ll inet ipv4ll

But, this merely gets a log note that avahi-auotipd isn't configuring the interface because it already has a routable address on it.

Yes, eth0 has an address. But eth0:ipv4ll isn't eth0.

I can't figure out where exactly avahi-autoipd is being run, or I'd simply add --force-binding to the line.

Is there a better way?


I looked at the ifupdown source and definition file and the ipv4ll interface type is just a manual up/down wrapper. You can configure an avahi-autoipd interface in /etc/network/interfaces as a manual type:

auto eth0:0
iface eth0:0 inet manual
  up avahi-autoipd -D --force-bind eth0:0
  down avahi-autoipd -k eth0:0

If you have eth0 configured for dhcp then you also need to comment out the line in /etc/dhcp/dhclient-enter-hooks.d/avahi-autoipd that causes the avahi interface to be killed off when dhcp configures itself. Once you do these things then you will be able to use an eth0 and eth0:0 (which gets renamed to eth0:avahi after you ifup eth0:0, oddly).


Well, it seems that ifup calls avahi-autoipd directly, from a static string inside the binary.

Kind of inflexible.

I'll be pursuing another solution. I'd welcome advice in any case. For instance, I wonder if there is a better choice than ifupdown, which also seem s to know too much about Network Manager.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.