aboutsummaryrefslogtreecommitdiffstats
path: root/roles/space_server/templates/named.conf.j2
blob: 0314545a97a7e063eb648db92f4f4bfe5c9eb0d8 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
//
// named.conf
//
// Provided by Red Hat bind package to configure the ISC BIND named(8) DNS
// server as a caching only nameserver (as a localhost DNS resolver only).
//
// See /usr/share/doc/bind*/sample/ for example named configuration files.
//

options {
	listen-on port 53 {
		127.0.0.1;
		185.38.175.0;
	};
	listen-on-v6 port 53 {
		::1;
		2a01:4262:1ab::;
	};
	allow-query {
		127.0.0.1;
		185.38.175.0/24;
		10.42.0.0/16;
		::1;
		2a01:4262:1ab::/48;
	};
	dns64 2a01:4262:1ab:0:0:f::/96 {
		clients { 2a01:4262:1ab:f::/64; };
		exclude {
			2a01:4262:1ab:0:0:f::/96;
			::ffff:0:0/96;
		};
	};
	directory 	"/var/named";
	dump-file 	"/var/named/data/cache_dump.db";
	statistics-file "/var/named/data/named_stats.txt";
	memstatistics-file "/var/named/data/named_mem_stats.txt";
	secroots-file	"/var/named/data/named.secroots";
	recursing-file	"/var/named/data/named.recursing";

	/* 
	 - If you are building an AUTHORITATIVE DNS server, do NOT enable recursion.
	 - If you are building a RECURSIVE (caching) DNS server, you need to enable 
	   recursion. 
	 - If your recursive DNS server has a public IP address, you MUST enable access 
	   control to limit queries to your legitimate users. Failing to do so will
	   cause your server to become part of large scale DNS amplification 
	   attacks. Implementing BCP38 within your network would greatly
	   reduce such attack surface 
	*/
	recursion yes;

	dnssec-enable yes;
	dnssec-validation yes;

	managed-keys-directory "/var/named/dynamic";

	pid-file "/run/named/named.pid";
	session-keyfile "/run/named/session.key";

	/* https://fedoraproject.org/wiki/Changes/CryptoPolicy */
	include "/etc/crypto-policies/back-ends/bind.config";
};

logging {
	channel default_debug {
		syslog daemon;
		severity dynamic;
	};
	channel default {
		syslog daemon;
		severity info;
	};
	category default {
		default;
	};
};

acl local {
	127.0.0.1;
	10.42.0.0/24; // infrastructure
	10.42.1.0/24; // member wired
	10.42.2.0/24; // member wireless
	::1;
	2a01:4262:1ab:a::/64; // infrastructure
	2a01:4262:1ab:b::/64; // member wired
	2a01:4262:1ab:c::/64; // member wireless
	2a01:4262:1ab:f::/64; // member nat64
};
{% if ddns_secret is defined %}

key dhcpupdate {
	algorithm {{ ddns_secret.algorithm }};
	secret "{{ ddns_secret.key }}";
};
{% endif %}

zone "." IN {
	type hint;
	file "named.ca";
};

zone "s" IN {
	type master;
	file "/etc/named/s.zone";
	allow-query { local; };
	allow-update { none; };
	allow-transfer { none; };
};
{% if ddns_secret is defined %}

zone "dhcp" IN {
	type master;
	file "dynamic/dhcp.zone";
	allow-query { local; };
	allow-update { key dhcpupdate; };
	allow-transfer { none; };
	notify no;
};
{% endif %}

zone "42.10.in-addr.arpa" IN {
	type master;
	file "dynamic/ipv4.rev.zone";
	allow-query { local; };
{% if ddns_secret is defined %}
	allow-update { key dhcpupdate; };
{% endif %}
	allow-transfer { none; };
	notify no;
};

include "/etc/named.rfc1912.zones";
include "/etc/named.root.key";