systemd-resolved has a DBUS API, which is used by network configuration managers such as systemd-networkd and NetworkManager to set the hostname resolution -related configuration to be used by systemd-resolved.

You can see the runtime configuration of systemd-resolved by running `systemd-resolve --status`. To see what protocols (DNS, LLMNR, MDNS) are used to resolve a specific hostname, use `systemd-resolve somemachine.local`, for example.

The protocols that are used during hostname resolution can be toggled per-interface using the same command, or they can be set via the DBUS API by some network configuration manager.

Caution: The following is "as far as I know":
Please note that the systemd-resolved DBUS API provides methods to do hostname resolution with more control over the resolution method than the functions provided by GNU C libraries. These latter functions inspect `hosts:` entry of `/etc/nsswitch.conf` to determine plugins that are used to do hostname resolution, one of which should be `resolve` to direct queries to systemd-resolved in case the GNU C hostname resolution API is used.

Sorry if this veered into the territory of "I didn't ask this question". I just thought that clarifying the whole picture could help in better setting up hostname resolution.

_______________________________________________
systemd-devel mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/systemd-devel

Reply via email to