From: alex Date: Sun, 15 Jan 2023 19:45:53 +0000 (+0100) Subject: Configure other DNS internal servers X-Git-Tag: 20240214-emacs~500 X-Git-Url: https://xn--ix-yja.es/gitweb/?a=commitdiff_plain;h=caf1f5d51080f45f03420e7d63c9c6509a5a2f40;p=alex.git Configure other DNS internal servers --- diff --git a/personal_infra/puppet/modules/dns_dhcp/manifests/init.pp b/personal_infra/puppet/modules/dns_dhcp/manifests/init.pp index 358633a..237f14c 100644 --- a/personal_infra/puppet/modules/dns_dhcp/manifests/init.pp +++ b/personal_infra/puppet/modules/dns_dhcp/manifests/init.pp @@ -6,6 +6,7 @@ class dns_dhcp { file {'/etc/dnsmasq.d/internal': content => epp('dns_dhcp/internal', { 'dns_dhcp' => lookup("network.dns_dhcp"), + 'dns_other_server_defs' => $dns_other_server_defs, }), } ~> diff --git a/personal_infra/puppet/modules/dns_dhcp/templates/internal.epp b/personal_infra/puppet/modules/dns_dhcp/templates/internal.epp index 779df27..8622764 100644 --- a/personal_infra/puppet/modules/dns_dhcp/templates/internal.epp +++ b/personal_infra/puppet/modules/dns_dhcp/templates/internal.epp @@ -15,3 +15,8 @@ dhcp-option=option:router,<%= $dns_dhcp['router'] %> <% } %> interface=<%= join($dns_dhcp['interfaces'], ',') %> + +<% $dns_other_server_defs.each |$server_def| { %> +server=/<%= $server_def['network_name'] %>/<%= $server_def['dns_ip'] %> +rev-server=<%= $server_def['reverse_ip_range'] %>,<%= $server_def['dns_ip'] %> +<% } %> diff --git a/personal_infra/puppet/site/01-dns.pp b/personal_infra/puppet/site/01-dns.pp new file mode 100644 index 0000000..eab766a --- /dev/null +++ b/personal_infra/puppet/site/01-dns.pp @@ -0,0 +1,10 @@ +$dns_source_hosts = lookup("dns.source_hosts") +$dns_other_hosts = $dns_source_hosts.filter |$host_name| { $host_name != $facts["networking"]["fqdn"] } + +$dns_other_server_defs = $dns_other_hosts.map |$host_name| { + { + network_name => join([lookup("hostvars.'$host_name'.network.network_name"), lookup('dns.internal_domain')], '.'), + reverse_ip_range => lookup("hostvars.'$host_name'.network.self_internal_network"), + dns_ip => lookup("hostvars.'$host_name'.network.self_internal_ip"), + } +}