dns
This commit is contained in:
parent
52f7bf5266
commit
02663013a2
|
@ -0,0 +1,21 @@
|
||||||
|
bind:
|
||||||
|
root-domain: zentralwerk.online
|
||||||
|
master-ns: dns.serv.zentralwerk.online
|
||||||
|
public-ns:
|
||||||
|
- ns.c3d2.de
|
||||||
|
- spaceboyz.net
|
||||||
|
serial: 2017011300
|
||||||
|
|
||||||
|
reverse-zones-inet:
|
||||||
|
- 172.20.72
|
||||||
|
- 172.20.73
|
||||||
|
- 172.20.74
|
||||||
|
- 172.20.75
|
||||||
|
- 172.20.76
|
||||||
|
- 172.20.77
|
||||||
|
- 172.20.78
|
||||||
|
- 172.20.79
|
||||||
|
|
||||||
|
reverse-zones-inet6:
|
||||||
|
- '8.5.0.2.d.3.c.2.4.0.0.3.2.d.f.ip6.arpa'
|
||||||
|
- 'c.5.0.2.d.3.c.2.4.0.0.3.2.d.f.ip6.arpa'
|
|
@ -71,38 +71,69 @@ hosts-inet:
|
||||||
|
|
||||||
pub:
|
pub:
|
||||||
pub-gw: 172.20.76.1
|
pub-gw: 172.20.76.1
|
||||||
|
{%- for i in range(2, 256) %}
|
||||||
|
guest{{ i }}: 172.20.76.{{ i }}
|
||||||
|
{%- endfor %}
|
||||||
|
{%- for i in range(0, 255) %}
|
||||||
|
guest{{ 256 + i }}: 172.20.77.{{ i }}
|
||||||
|
{%- endfor %}
|
||||||
serv:
|
serv:
|
||||||
serv-gw: 172.20.73.1
|
serv-gw: 172.20.73.1
|
||||||
|
dns: 172.20.73.2
|
||||||
priv1:
|
priv1:
|
||||||
priv1-gw: 172.20.74.1
|
priv1-gw: 172.20.74.1
|
||||||
|
{%- for i in range(1, 14) %}
|
||||||
|
dhcp{{ i }}: 172.20.74.{{ 1 + i }}
|
||||||
|
{%- endfor %}
|
||||||
priv9:
|
priv9:
|
||||||
priv9-gw: 172.20.74.33
|
priv9-gw: 172.20.74.33
|
||||||
priv5:
|
priv5:
|
||||||
priv5-gw: 172.20.74.65
|
priv5-gw: 172.20.74.65
|
||||||
|
{%- for i in range(1, 14) %}
|
||||||
|
dhcp{{ i }}: 172.20.74.{{ 65 + i }}
|
||||||
|
{%- endfor %}
|
||||||
priv10:
|
priv10:
|
||||||
priv10-gw: 172.20.74.97
|
priv10-gw: 172.20.74.97
|
||||||
priv3:
|
priv3:
|
||||||
priv3-gw: 172.20.74.129
|
priv3-gw: 172.20.74.129
|
||||||
|
{%- for i in range(1, 14) %}
|
||||||
|
dhcp{{ i }}: 172.20.75.{{ 129 + i }}
|
||||||
|
{%- endfor %}
|
||||||
priv11:
|
priv11:
|
||||||
priv11-gw: 172.20.74.161
|
priv11-gw: 172.20.74.161
|
||||||
priv6:
|
priv6:
|
||||||
priv6-gw: 172.20.74.193
|
priv6-gw: 172.20.74.193
|
||||||
|
{%- for i in range(1, 14) %}
|
||||||
|
dhcp{{ i }}: 172.20.74.{{ 193 + i }}
|
||||||
|
{%- endfor %}
|
||||||
priv12:
|
priv12:
|
||||||
priv12-gw: 172.20.74.225
|
priv12-gw: 172.20.74.225
|
||||||
priv2:
|
priv2:
|
||||||
priv2-gw: 172.20.75.1
|
priv2-gw: 172.20.75.1
|
||||||
|
{%- for i in range(1, 31) %}
|
||||||
|
dhcp{{ i }}: 172.20.75.{{ 1 + i }}
|
||||||
|
{%- endfor %}
|
||||||
priv13:
|
priv13:
|
||||||
priv13-gw: 172.20.75.33
|
priv13-gw: 172.20.75.33
|
||||||
priv7:
|
priv7:
|
||||||
priv7-gw: 172.20.75.65
|
priv7-gw: 172.20.75.65
|
||||||
|
{%- for i in range(1, 14) %}
|
||||||
|
dhcp{{ i }}: 172.20.75.{{ 65 + i }}
|
||||||
|
{%- endfor %}
|
||||||
priv14:
|
priv14:
|
||||||
priv14-gw: 172.20.75.97
|
priv14-gw: 172.20.75.97
|
||||||
priv4:
|
priv4:
|
||||||
priv4-gw: 172.20.75.129
|
priv4-gw: 172.20.75.129
|
||||||
|
{%- for i in range(1, 14) %}
|
||||||
|
dhcp{{ i }}: 172.20.75.{{ 129 + i }}
|
||||||
|
{%- endfor %}
|
||||||
priv15:
|
priv15:
|
||||||
priv15-gw: 172.20.75.161
|
priv15-gw: 172.20.75.161
|
||||||
priv8:
|
priv8:
|
||||||
priv8-gw: 172.20.75.193
|
priv8-gw: 172.20.75.193
|
||||||
|
{%- for i in range(1, 14) %}
|
||||||
|
dhcp{{ i }}: 172.20.75.{{ 193 + i }}
|
||||||
|
{%- endfor %}
|
||||||
priv16:
|
priv16:
|
||||||
priv16-gw: 172.20.75.225
|
priv16-gw: 172.20.75.225
|
||||||
|
|
||||||
|
@ -147,6 +178,7 @@ hosts-inet6:
|
||||||
|
|
||||||
serv:
|
serv:
|
||||||
serv-gw: fd23:42:c3d2:582::1
|
serv-gw: fd23:42:c3d2:582::1
|
||||||
|
dns: fd23:42:c3d2:582:2:0:0:2
|
||||||
pub:
|
pub:
|
||||||
pub-gw: fd23:42:c3d2:583::1
|
pub-gw: fd23:42:c3d2:583::1
|
||||||
priv1:
|
priv1:
|
||||||
|
|
|
@ -135,3 +135,10 @@ containers:
|
||||||
gw: upstream1
|
gw: upstream1
|
||||||
c3d2:
|
c3d2:
|
||||||
type: veth
|
type: veth
|
||||||
|
|
||||||
|
dns:
|
||||||
|
interfaces:
|
||||||
|
serv:
|
||||||
|
type: veth
|
||||||
|
gw: serv-gw
|
||||||
|
gw6: serv-gw
|
||||||
|
|
|
@ -29,3 +29,5 @@ base:
|
||||||
- lxc-containers.server1
|
- lxc-containers.server1
|
||||||
- switches
|
- switches
|
||||||
- cpe.aps
|
- cpe.aps
|
||||||
|
'dns':
|
||||||
|
- bind.dns
|
||||||
|
|
|
@ -0,0 +1,61 @@
|
||||||
|
bind9:
|
||||||
|
pkg.installed: []
|
||||||
|
service:
|
||||||
|
- running
|
||||||
|
- enable: True
|
||||||
|
- restart: True
|
||||||
|
- watch:
|
||||||
|
- file: /etc/bind/named.conf*
|
||||||
|
- file: /etc/bind/*.zone
|
||||||
|
- pkg: bind9
|
||||||
|
|
||||||
|
/etc/bind/named.conf.local:
|
||||||
|
file.managed:
|
||||||
|
- require:
|
||||||
|
- pkg: bind9
|
||||||
|
- source: salt://bind/named.conf
|
||||||
|
- template: 'jinja'
|
||||||
|
|
||||||
|
# zentralwerk.online
|
||||||
|
/etc/bind/{{ pillar['bind']['root-domain'] }}:
|
||||||
|
file.managed:
|
||||||
|
- source: salt://bind/root-domain.zone
|
||||||
|
- template: 'jinja'
|
||||||
|
- context:
|
||||||
|
domain: {{ pillar['bind']['root-domain'] }}
|
||||||
|
|
||||||
|
# *.zentralwerk.online
|
||||||
|
{%- for net, subnet4 in pillar['subnets-inet'].items() %}
|
||||||
|
{%- set domain = net ~ '.' ~ pillar['bind']['root-domain'] %}
|
||||||
|
/etc/bind/{{ domain }}.zone:
|
||||||
|
file.managed:
|
||||||
|
- source: salt://bind/net-domain.zone
|
||||||
|
- template: 'jinja'
|
||||||
|
- context:
|
||||||
|
domain: {{ domain }}
|
||||||
|
net: {{ net }}
|
||||||
|
|
||||||
|
{%- endfor %}
|
||||||
|
|
||||||
|
# IPv4 reverse
|
||||||
|
{%- for subnet in pillar['bind']['reverse-zones-inet'] %}
|
||||||
|
{%- set domain = '.'.join(subnet.split('.').__reversed__()) ~ '.in-addr.arpa' %}
|
||||||
|
/etc/bind/reverse4-{{ subnet }}.zone:
|
||||||
|
file.managed:
|
||||||
|
- source: salt://bind/reverse4.zone
|
||||||
|
- template: 'jinja'
|
||||||
|
- context:
|
||||||
|
domain: {{ domain }}
|
||||||
|
subnet: {{ subnet }}
|
||||||
|
|
||||||
|
{%- endfor %}
|
||||||
|
|
||||||
|
# IPv6 reverse
|
||||||
|
{%- for domain in pillar['bind']['reverse-zones-inet6'] %}
|
||||||
|
/etc/bind/reverse6-{{ domain }}.zone:
|
||||||
|
file.managed:
|
||||||
|
- source: salt://bind/reverse6.zone
|
||||||
|
- template: 'jinja'
|
||||||
|
- context:
|
||||||
|
domain: {{ domain }}
|
||||||
|
{%- endfor %}
|
|
@ -0,0 +1,23 @@
|
||||||
|
{%- for net, subnet4 in pillar['subnets-inet'].items() %}
|
||||||
|
{%- set domain = net ~ '.' ~ pillar['bind']['root-domain'] %}
|
||||||
|
zone "{{ domain }}" IN {
|
||||||
|
type master;
|
||||||
|
file "/etc/bind/{{ domain }}.zone";
|
||||||
|
};
|
||||||
|
|
||||||
|
{%- endfor %}
|
||||||
|
|
||||||
|
{%- for subnet in pillar['bind']['reverse-zones-inet'] %}
|
||||||
|
{%- set domain = '.'.join(subnet.split('.').__reversed__()) ~ '.in-addr.arpa' %}
|
||||||
|
zone "{{ domain }}" IN {
|
||||||
|
type master;
|
||||||
|
file "/etc/bind/reverse4-{{ subnet }}.zone";
|
||||||
|
};
|
||||||
|
{%- endfor %}
|
||||||
|
|
||||||
|
{%- for domain in pillar['bind']['reverse-zones-inet6'] %}
|
||||||
|
zone "{{ domain }}" IN {
|
||||||
|
type master;
|
||||||
|
file "/etc/bind/reverse6-{{ domain }}.zone";
|
||||||
|
};
|
||||||
|
{%- endfor %}
|
|
@ -0,0 +1,25 @@
|
||||||
|
$ORIGIN {{ domain }}.
|
||||||
|
$TTL 10M
|
||||||
|
|
||||||
|
@ IN SOA {{ pillar['bind']['master-ns'] }}. astro.spaceboyz.net. (
|
||||||
|
{{ pillar['bind']['serial'] }} ; serial
|
||||||
|
1H ; refresh
|
||||||
|
1M ; retry
|
||||||
|
2H ; expire
|
||||||
|
5M ; minimum
|
||||||
|
)
|
||||||
|
{%- for ns in pillar['bind']['public-ns'] %}
|
||||||
|
IN NS {{ ns }}.
|
||||||
|
{%- endfor %}
|
||||||
|
|
||||||
|
{%- if pillar['hosts-inet'].get(net) %}
|
||||||
|
{%- for name, a in pillar['hosts-inet'][net].items() %}
|
||||||
|
{{ name }} IN A {{ a }}
|
||||||
|
{%- endfor %}
|
||||||
|
{%- endif %}
|
||||||
|
|
||||||
|
{%- if pillar['hosts-inet6'].get(net) %}
|
||||||
|
{%- for name, aaaa in pillar['hosts-inet6'][net].items() %}
|
||||||
|
{{ name }} IN AAAA {{ aaaa }}
|
||||||
|
{%- endfor %}
|
||||||
|
{%- endif %}
|
|
@ -0,0 +1,26 @@
|
||||||
|
$ORIGIN {{ domain }}.
|
||||||
|
$TTL 10M
|
||||||
|
|
||||||
|
@ IN SOA {{ pillar['bind']['master-ns'] }}. astro.spaceboyz.net. (
|
||||||
|
{{ pillar['bind']['serial'] }} ; serial
|
||||||
|
1H ; refresh
|
||||||
|
1M ; retry
|
||||||
|
2H ; expire
|
||||||
|
5M ; minimum
|
||||||
|
)
|
||||||
|
{%- for ns in pillar['bind']['public-ns'] %}
|
||||||
|
IN NS {{ ns }}.
|
||||||
|
{%- endfor %}
|
||||||
|
|
||||||
|
{%- for i in range(1, 255) %}
|
||||||
|
{%- set addr = subnet ~ '.' ~ i %}
|
||||||
|
|
||||||
|
{%- for net, hosts in pillar['hosts-inet'].items() %}
|
||||||
|
{%- for host, a in hosts.items() %}
|
||||||
|
{%- if a == addr %}
|
||||||
|
{{ i }} IN PTR {{ host }}.{{ net }}.{{ pillar['bind']['root-domain'] }}.
|
||||||
|
{%- endif %}
|
||||||
|
{%- endfor %}
|
||||||
|
{%- endfor %}
|
||||||
|
|
||||||
|
{%- endfor %}
|
|
@ -0,0 +1,22 @@
|
||||||
|
$ORIGIN {{ domain }}.
|
||||||
|
$TTL 10M
|
||||||
|
|
||||||
|
@ IN SOA {{ pillar['bind']['master-ns'] }}. astro.spaceboyz.net. (
|
||||||
|
{{ pillar['bind']['serial'] }} ; serial
|
||||||
|
1H ; refresh
|
||||||
|
1M ; retry
|
||||||
|
2H ; expire
|
||||||
|
5M ; minimum
|
||||||
|
)
|
||||||
|
{%- for ns in pillar['bind']['public-ns'] %}
|
||||||
|
IN NS {{ ns }}.
|
||||||
|
{%- endfor %}
|
||||||
|
|
||||||
|
{%- for net, hosts in pillar['hosts-inet6'].items() %}
|
||||||
|
{%- for host, aaaa in hosts.items() %}
|
||||||
|
{%- set reverse = salt['network.reverse_ip'](aaaa) %}
|
||||||
|
{%- if reverse.endswith(domain) %}
|
||||||
|
{{ reverse.replace('.' ~ domain, '') }} IN PTR {{ host }}.{{ net }}.{{ pillar['bind']['root-domain'] }}.
|
||||||
|
{%- endif %}
|
||||||
|
{%- endfor %}
|
||||||
|
{%- endfor %}
|
|
@ -0,0 +1,19 @@
|
||||||
|
$ORIGIN {{ domain }}
|
||||||
|
$TTL 10M
|
||||||
|
|
||||||
|
@ IN SOA {{ pillar['bind']['master-ns'] }}. astro.spaceboyz.net. (
|
||||||
|
{{ pillar['bind']['serial'] }} ; serial
|
||||||
|
1H ; refresh
|
||||||
|
1M ; retry
|
||||||
|
2H ; expire
|
||||||
|
5M ; minimum
|
||||||
|
)
|
||||||
|
{%- for ns in pillar['bind']['public-ns'] %}
|
||||||
|
IN NS {{ ns }}.
|
||||||
|
{%- endfor %}
|
||||||
|
|
||||||
|
{%- for net, hosts in pillar['hosts-inet'].items() %}
|
||||||
|
{%- for ns in pillar['bind']['public-ns'] %}
|
||||||
|
{{ net }} IN NS {{ ns }}.
|
||||||
|
{%- endfor %}
|
||||||
|
{%- endfor %}
|
|
@ -46,3 +46,6 @@ base:
|
||||||
- upstream.masquerade
|
- upstream.masquerade
|
||||||
- upstream.shaping
|
- upstream.shaping
|
||||||
- upstream.nat66
|
- upstream.nat66
|
||||||
|
'dns':
|
||||||
|
- no-ssh
|
||||||
|
- bind
|
||||||
|
|
Loading…
Reference in New Issue