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
.
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
mdns
resolves both IPv6 and IPv4 addresses,mdns4
only IPv4 addresses andmdns6
only IPv6 addresses.mdns{4,6,}_minimal
is 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.local
or addresses that aren't in the range169.254.x.x
(the range used by IPV4LL/APIPA/RFC3927.) Combining the_minimal
and the normal NSS modules allows us to make mDNS authoritative for Zeroconf host names and addresses and use it as fallback for everything else.
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.
# 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
-
DNS-SD http://dns-sd.org/
-
Avahi https://www.avahi.org/
-
Avahi git https://github.com/lathiat/avahi
-
Avahi wiki.archlinux.org