From caf1f5d51080f45f03420e7d63c9c6509a5a2f40 Mon Sep 17 00:00:00 2001 From: alex Date: Sun, 15 Jan 2023 20:45:53 +0100 Subject: [PATCH] Configure other DNS internal servers --- .../puppet/modules/dns_dhcp/manifests/init.pp | 1 + .../puppet/modules/dns_dhcp/templates/internal.epp | 5 +++++ personal_infra/puppet/site/01-dns.pp | 10 ++++++++++ 3 files changed, 16 insertions(+) create mode 100644 personal_infra/puppet/site/01-dns.pp 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"), + } +} -- 2.47.3