LinuxCommandLibrary

avahi-autoipd

Assign a link-local IP address automatically

SYNOPSIS

avahi-autoipd [options] [interface]

PARAMETERS

-h, --help
    Show help and exit.

-V, --version
    Show version information.

-D, --daemonize
    Daemonize after startup (implies -s)

-f, --foreground
    Run in foreground, don't daemonize.

-s, --syslog
    Log to syslog instead of stderr.

-S, --no-syslog
    Log to stderr even if daemonized.

-v, --verbose
    Increase verbosity.

-d, --debug
    Enable debug messages.

-y, --check-rfc3927-compatibility
    Verify RFC 3927 compliance on interfaces.

-p TIME, --probe-time=TIME
    Initial probe wait time in seconds (default 1).

-t TIME, --probe-num=TIME
    ARP probe packets count (default 1).

-a TIME, --announce-wait=TIME
    Wait before announcements in seconds (default 2).

-m NUM, --max-conflicts=NUM
    Max conflicts before randomizing (default 10).

-r TIME, --rate-limit-interval=TIME
    Defense interval in seconds (default 60).

-w, --no-probe-wait
    Skip link-up wait before probing.

DESCRIPTION

avahi-autoipd is a standalone daemon implementing IPv4 Link-Local (IPv4LL) address autoconfiguration for Linux systems, as specified in RFC 3927 and the Zeroconf protocol. It automatically assigns addresses from the 169.254.0.0/16 range to network interfaces lacking a DHCP server or static configuration.

When started on an interface, avahi-autoipd performs duplicate address detection (DAD) via ARP probes to claim a unique address based on the interface's MAC address hash. It announces the address periodically and defends against conflicts by rate-limiting probes or randomizing selections.

Ideal for ad-hoc networks, embedded devices, or fallback when DHCP fails. Supports running as a daemon, foreground process, or per-interface. Integrates with action scripts for hooks like DNS updates. Verbose logging aids debugging. Ensures RFC compliance optionally.

Unlike full DHCP clients, it focuses solely on link-local; combine with DHCP for production. Runs rootless where possible, drops privileges post-bind.

CAVEATS

IPv4-only; conflicts possible with DHCP clients; root required for binding; not for routed networks; action scripts need 0755 perms.

ACTION SCRIPTS

Supports /etc/avahi-autoipd.action script executed on events (bound, stop). Use ${interface}, ${ip} vars.

EXIT CODES

0: success; 1: general error; 2: invalid args; 3: interface error; 4: address claim fail.

HISTORY

Part of Avahi project since 2006; implements RFC 3927 (2005); maintained by Lennart Poettering et al.; integrated in many distros like Debian, Fedora.

SEE ALSO

avahi-daemon(8), dhclient(8), systemd-networkd(8), ip(8)

Copied to clipboard