1
0
Fork 0
mirror of https://github.com/roles-ansible/ansible_role_avahi_client.git synced 2024-08-16 16:09:49 +02:00

Merge pull request #1 from roles-ansible/nsswitch

update nsswitch and variable names
This commit is contained in:
L3D 2021-09-02 10:56:30 +02:00 committed by GitHub
commit 4c67ceabec
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
10 changed files with 48 additions and 25 deletions

View file

@ -7,18 +7,37 @@
Avahi provides local hostname resolution using a "hostname.local" naming scheme. Avahi provides local hostname resolution using a "hostname.local" naming scheme.
This ansible role installs the required dependencies and configures the DNS resolver accordingly. 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__configure_nsswitch`` to ``false``. 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``. 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: If you want only IPv4 or IPv6 names resolved, change ``mdns`` to ``mdns4`` or ``mdns6`` in these variables:
```yaml ```yaml
avahi__mdns_name: 'mdns' avahi_client__mdns_name: 'mdns'
avahi__mdns_minimal_name: 'mdns_minimal' avahi_client__mdns_minimal_name: 'mdns_minimal'
``` ```
Learn more From the documentation of [nss-mdns](https://github.com/lathiat/nss-mdns)
------------
+ [/etc/nsswitch.conf](https://man7.org/linux/man-pages/man5/nsswitch.conf.5.html) > `mdns` resolves both IPv6 and IPv4 addresses, `mdns4` only IPv4 addresses and `mdns6` only IPv6 addresses.
+ Avahi [wiki.archlinux.org](https://wiki.archlinux.org/title/Avahi) > `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 range `169.254.x.x` (the range used by IPV4LL/APIPA/RFC3927.)
+ nss-mdns [0pointer.de](https://0pointer.de/lennart/projects/nss-mdns/#documentation) > 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.
Learn more
----------
* DNS-SD [http://dns-sd.org/](http://dns-sd.org/)
* mDNS [http://www.multicastdns.org/](http://www.multicastdns.org/)
* Avahi [https://www.avahi.org/](https://www.avahi.org/)
* Avahi git [https://github.com/lathiat/avahi](https://github.com/lathiat/avahi)
* Avahi [wiki.archlinux.org](https://wiki.archlinux.org/title/Avahi)
* [NSS mdns plugin](https://github.com/lathiat/nss-mdns)
* [/etc/nsswitch.conf](https://manpages.debian.org/unstable/manpages/nsswitch.conf.5.en.html)

View file

@ -1,10 +1,10 @@
--- ---
# deploy custom /etc/nsswitch.conf config # deploy custom /etc/nsswitch.conf config
avahi__configure_nsswitch: true avahi_client__configure_nsswitch: true
# mdns resolver name # mdns resolver name
avahi__mdns_name: 'mdns' avahi_client__mdns_name: 'mdns'
avahi__mdns_minimal_name: 'mdns_minimal' avahi_client__mdns_minimal_name: 'mdns_minimal'
# should we do a version check? (recomended) # should we do a version check? (recomended)
submodules_versioncheck: false submodules_versioncheck: false

View file

@ -7,8 +7,8 @@
when: when:
- ansible_pkg_mgr == "apt" - ansible_pkg_mgr == "apt"
- name: install avahi packages - name: Install Avahi packages
become: true become: true
ansible.builtin.package: ansible.builtin.package:
name: "{{ avahi_packages }}" name: "{{ avahi_client__packages }}"
state: present state: present

View file

@ -14,4 +14,4 @@
- name: configure /etc/nsswitch.conf - name: configure /etc/nsswitch.conf
ansible.builtin.include_tasks: nsswitch.yml ansible.builtin.include_tasks: nsswitch.yml
when: avahi__configure_nsswitch | bool when: avahi_client__configure_nsswitch | bool

View file

@ -1,5 +1,5 @@
--- ---
- name: deploy /etc/nsswitch.conf - name: Deploy '/etc/nsswitch.conf'
become: true become: true
ansible.builtin.template: ansible.builtin.template:
src: 'templates/nsswitch.conf.j2' src: 'templates/nsswitch.conf.j2'

View file

@ -12,7 +12,7 @@ gshadow: files
publickey: files publickey: files
hosts: files mymachines myhostname {{ avahi__mdns_minimal_name }} [NOTFOUND=return] resolve [!UNAVAIL=return] dns {{ avahi__mdns_name }} hosts: files {{ avahi_client__mdns_minimal_name }} [NOTFOUND=return] resolve [!UNAVAIL=return] dns {{ avahi_client__mdns_name }} myhostname
networks: files networks: files
protocols: db [NOTFOUND=return] files protocols: db [NOTFOUND=return] files

View file

@ -1,5 +1,5 @@
--- ---
avahi_packages: avahi_client__packages:
- avahi - 'avahi'
- mdns-scan - 'nss-mdns'
- nss-mdns # - 'mdns-scan'

View file

@ -1,5 +1,8 @@
--- ---
avahi_packages: avahi_client__packages:
- 'avahi-discover' - 'avahi-discover'
- 'avahi-utils' - 'avahi-utils'
- 'mdns-scan' - 'libnss-mdns'
# - 'avahi-autoipd'
# - 'avahi-dnsconfd'
# - 'mdns-scan'

View file

@ -1,4 +1,4 @@
--- ---
# versionscheck # versionscheck
playbook_version_number: 6 playbook_version_number: 7
playbook_version_path: 'do1jlr.avahi_client.version' playbook_version_path: 'do1jlr.avahi_client.version'

View file

@ -1,3 +1,4 @@
--- ---
avahi_packages: avahi_client__packages:
- mdns-scan - avahi
# - 'mdns-scan'