l3d.avahi_client
ansible role avahi_client
Avahi provides local hostname resolution using the .local MDNS Domain.
This ansible role installs the required dependencies and configures the DNS resolver accordingly.
You can opt-out from deploying a new /etc/nsswitch.conf config by setting avahi_client__configure_nsswitch to false.
You can opt-in in a simple versionscheck that can prevent you from running a older version of this role by setting submodules_versioncheck to true.
Configuring nsswitch
If you want only IPv4 or IPv6 names resolved, change mdns to mdns4 or mdns6 in these variables:
avahi_client__mdns_name: 'mdns'
avahi_client__mdns_minimal_name: 'mdns_minimal'
From the documentation of nss-mdns
mdnsresolves both IPv6 and IPv4 addresses,mdns4only IPv4 addresses andmdns6only IPv6 addresses.mdns{4,6,}_minimalis mostly identical to the versions without_minimal. However, they differ in one way. The minimal versions will always deny to resolve host names that don't end in.localor addresses that aren't in the range169.254.x.x(the range used by IPV4LL/APIPA/RFC3927.) Combining the_minimaland the normal NSS modules allows us to make mDNS authoritative for Zeroconf host names and addresses and use it as fallback for everything else.
Ansible Collection
This role is part of the l3d.avahi Ansible Collection.
Visit the README.md of the l3d.avahi collection for information about downloading or integrating the collection to your ansible playbook.
Role Usage Example:
# ansible-galaxy install l3d.avahi_client
- name: "Let your System use MDNS to resolve .local addresses"
hosts: localhost
roles:
- {role: l3d.avahi_client, tags: avahi}
vars:
# Enable optional Versioncheck.
submodules_versioncheck: true
Learn more
DNS-SD http://dns-sd.org/
Avahi https://www.avahi.org/
Avahi git https://github.com/lathiat/avahi
Avahi wiki.archlinux.org
Avahi provides local hostname resolution using the ".local" MDNS Domain.
ansible-galaxy install l3d.avahi_client