[avahi] avahi-autoipd

Lennart Poettering lennart at poettering.net
Mon Sep 4 10:16:57 PDT 2006


On Mon, 04.09.06 22:07, chris mcharg (chris at outtrack.org) wrote:

Hi!

> autoipd gets its chance to run and set an ipv4ll address when  
> dhclient fails for some reason to set a routable address, and with  
> the default script it can then get killed when dhclient obtains an ip  
> address lease. On top of this, by default autoipd can remove the  
> ipv4ll address when a routable address has somehow been set (by  
> monitoring Netlink events?).  If a user/admin wants to ensure tcp  

Yes, by monitoring Netlink (at least on Linux).

> transmission doesn't get cut during a switch from ipv4ll to routable,  
> they can use --force-bind so the Netlink events have no effect, and  
> also alter the dhclient hook script so autoipd is not killed.
> 
> Does that sound right?

Yes, it does. 

One addition though:

When used as dhclient plugin avahi-autoipd is started from a dhclient
action script (On Debian it is known as
/sbin/dhclient-script). However, avahi-autoipd's network configuration
itself is done also with an action script
(/etc/avahi/avahi-autoipd.action).

To keep the IPv4LL adress on the interface even after a routable
adderss has been configured you have two options: first, do as you
said and don't kill avahi-autoipd in dhclient-script, or second,
modify avahi-autoipd.action and don't remove ip address from the
interface if the script is called requesting just that.

> Apple has this page on mixed routable and ip4ll addresses:
> http://developer.apple.com/qa/qa2004/qa1357.html
> I have no idea of the default routing settings of most of the linux  
> distributions, but it seems debian at least doesn't have the settings  
> for responding to a host with an ipv4ll address when a routable  
> address is set.  Do you have any plans for providing defaults/ 
> guidance for these?

I'll leave this up to the distributions. 

Honestly I believe that their claim "Most modern Linux distributions
already include full IPv4 link-local support" is not true.

I see the point for adding these routing table entries,
though. Although I am sure they're not without problems. Adding these
rules will force the usage of ARP for all destinations that do not
have an explicit route defined. This will cause ARP timeouts and might
be a security hole. However the impact of this is not entirely clear
to me.

But yes, I would suggest following Apple's suggestion here and add this
routes to the default network configuration scripts.

To be effective these routes must be added to *all* network hosts, not
just those where IPv4LL is used. It might be problematic to convince
the distribution maintainers to add these routes by default.

> In the current avahi-autoipd.action script, a label is set when using  
> the ip tool, but no alias is defined when setting the address with  
> ifconfig.  Was there a reason for that? (sorry... I don't know a lot  
> about interface labels/aliases)

No specific reason. It's just that "labels" are not a 1:1 translation
of alias interfaces.

I will have a look into this. Stay tuned.

> Sorry for all the questions,

You're welcome!

Lennart

-- 
Lennart Poettering; lennart [at] poettering [dot] net
ICQ# 11060553; GPG 0x1A015CC4; http://0pointer.net/lennart/


More information about the avahi mailing list