This role manages configuration of systemd-resolved.
It creates directory /etc/systemd/resolved.conf.d/
and places new configuration file, instead of overriding the default file /etc/systemd/resolved.conf
. This is recommended by systemd-resolved documentation. It helps to track changes and custom settings. If needed, system default settings can be restored by removing all content of the resolved.conf.d directory.
Name of the file can be specified by the systemd_resolved.config_file
variable. There can be more config files.
There are no default variables (except config file name). If you run this role without defining any variable, config file called ansible_config.conf
will be created but will have no effect on systemd-resolved settings. It is OK to use any subset of variables, e.g. if you use only systemd_resolved.dnssec
the rest will be automatically "inhrited" from system default settings.
Full documentation for the reolved.conf file can be found in systemd documentation.
You can always check systemd-resolved settings using resolvectl utility.
None
Variable | Type | Possible values | Comments |
---|---|---|---|
systemd_resolved.config_file | String | File name | |
systemd_resolved.dns | List, String | One IP/List of IP addresses | example: [1.1.1.1, 8.8.8.8] |
systemd_resolved.fallback_dns | List, String | One IP/List of IP addresses | example: [1.1.1.1, 8.8.8.8] |
systemd_resolved.domains | List, String | One domain/List of domains | |
systemd_resolved.dnssec | Bool, String | true , false , allow-downgrade |
|
systemd_resolved.dns_over_tls | Bool, String | true , false , opportunistic |
|
systemd_resolved.multicast_dns | Bool, String | true , false , resolve |
|
systemd_resolved.llmnr | Bool, String | true , false , resolve |
|
systemd_resolved.cache | Bool, String | true , false , no-negative |
|
systemd_resolved.cache_from_localhost | Bool | true , false |
|
systemd_resolved.dns_stub_listener | Bool, String | true , false , udp , tcp |
|
systemd_resolved.dns_stub_listener_extra | String | IP address | |
systemd_resolved.read_etc_hosts | Bool | true , false |
|
systemd_resolved.resolve_unicast | Bool | true , false |
|
systemd_resolved.stale_retention | Integer | Integer number |
Example:
systemd_resolved:
config_file: ansible_config.conf
dns:
- 8.8.8.8
- 1.1.1.1
fallback_dns:
- 1.0.0.1
dnssec: false
None
- name: Manage systemd-resolved
hosts: hosts
vars:
systemd_resolved:
config_file: ansible_config.conf
dns:
- 8.8.8.8
- 1.1.1.1
fallback_dns:
- 1.0.0.1
dnssec: false
roles:
- { role: berkas1.ansible_systemd_resolved }