2

I've installed KDE desktop, that depends on avahi. It has two daemons avahi-daemon and avahi-dnsconfd.

In ArchLinux wiki there is no info about avahi-dnsconfd. I've tried Daemon and Avahi pages.

2 Answers 2

1

Here's the description from debian's avahi-dnsconfd package:

Package: avahi-dnsconfd
Description-en: Avahi DNS configuration tool
 Avahi is a fully LGPL framework for Multicast DNS Service Discovery.
 It allows programs to publish and discover services and hosts
 running on a local network with no specific configuration. For
 example you can plug into a network and instantly find printers to
 print to, files to look at and people to talk to.
 .
 This tool listens on the network for announced DNS servers and passes
 them to resolvconf so it can use them. This is very useful on autoconfigured
 IPv6 networks.
Homepage: http://avahi.org/

More info should be available at the Avahi home page.

1

avahi-dnsconfd is a simple daemon which queries avahi-daemon for addresses of DNS servers. Based on the response it then updates /etc/resolv.conf file. Basically:

  1. Upon starting it sends "BROWSE-DNS-SERVERS" request to avahi-daemon via /var/run/avahi-daemon/socket. Equivalent to:
    $ echo 'BROWSE-DNS-SERVERS-IPV4' | nc -U /var/run/avahi-daemon/socket
    
  2. Waits for the response/update from avahi-daemon on the socket. The response string will look something like this:
    > 3 1 194.168.8.100 53
    > 3 1 194.168.4.100 53
    > 3 0 194.168.8.100 53
    > 3 0 194.168.4.100 53
    
    • column 1 indicates new server (>) or server that has been removed (<)
    • column 2 is a numerical network interface ID
    • column 3 is a numerical protocol ID (1=IPv6, 0=IPv4)
    • columns 4 and 5 are the address and port number of the DNS server
  3. For each line of the above response/update, executes /etc/avahi/dnsconfd.action script. This script updates /etc/resolv.conf file
  4. GOTO 2.

For this to work, you need to set publish-resolv-conf-dns-servers=yes in /etc/avahi/avahi-daemon.conf

avahi-dnsconfd daemon is normally not used. Often, /etc/resolv.conf file is populated by a DHCP client which obtains DNS addresses from a DHCP Server.

1
  • In other words use mDNS multicasts to configure DNS on the local machine?
    – Kentzo
    Commented Jun 19, 2023 at 5:53

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .