add barebones knot config
This configuration does not yet do much but it provisions a knot server that runs.
This commit is contained in:
parent
d9fc1ef401
commit
facd770f10
8 changed files with 110 additions and 0 deletions
1
inventories/chaosknoten/host_vars/auth-dns.yaml
Normal file
1
inventories/chaosknoten/host_vars/auth-dns.yaml
Normal file
|
|
@ -0,0 +1 @@
|
||||||
|
---
|
||||||
|
|
@ -101,3 +101,8 @@
|
||||||
|
|
||||||
- name: Run ensure_eh22_styleguide_dir Playbook
|
- name: Run ensure_eh22_styleguide_dir Playbook
|
||||||
ansible.builtin.import_playbook: ensure_eh22_styleguide_dir.yaml
|
ansible.builtin.import_playbook: ensure_eh22_styleguide_dir.yaml
|
||||||
|
|
||||||
|
- name: Setup authoritative dns servers
|
||||||
|
hosts: auth-dns
|
||||||
|
roles:
|
||||||
|
- auth-dns
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,13 @@
|
||||||
|
# Links & Resources
|
||||||
|
# https://www.knot-dns.cz/docs/latest/html/index.html
|
||||||
|
|
||||||
|
services:
|
||||||
|
knot:
|
||||||
|
image: docker.io/cznic/knot:v3.5.4
|
||||||
|
restart: unless-stopped
|
||||||
|
command: "knotd"
|
||||||
|
network_mode: host
|
||||||
|
volumes:
|
||||||
|
- ./configs:/config:ro
|
||||||
|
- ./storage:/storage
|
||||||
|
|
||||||
8
roles/auth-dns/handlers/main.yaml
Normal file
8
roles/auth-dns/handlers/main.yaml
Normal file
|
|
@ -0,0 +1,8 @@
|
||||||
|
- tags: [ 02-auth-dns ]
|
||||||
|
name: restart knot
|
||||||
|
become: true
|
||||||
|
notify: restart knot
|
||||||
|
ansible.builtin.systemd:
|
||||||
|
name: knot.service
|
||||||
|
state: restarted
|
||||||
|
|
||||||
6
roles/auth-dns/tasks/01-install.yaml
Normal file
6
roles/auth-dns/tasks/01-install.yaml
Normal file
|
|
@ -0,0 +1,6 @@
|
||||||
|
- tags: [ auth-dns ]
|
||||||
|
name: Install knot
|
||||||
|
become: true
|
||||||
|
package:
|
||||||
|
name: [ knot, knot-exporter ]
|
||||||
|
|
||||||
11
roles/auth-dns/tasks/02-configure.yaml
Normal file
11
roles/auth-dns/tasks/02-configure.yaml
Normal file
|
|
@ -0,0 +1,11 @@
|
||||||
|
- tags: [ auth-dns ]
|
||||||
|
name: Deploy knot configuration file
|
||||||
|
become: true
|
||||||
|
notify: restart knot
|
||||||
|
template:
|
||||||
|
src: knot.conf.j2
|
||||||
|
dest: /etc/knot/knot.conf
|
||||||
|
owner: knot
|
||||||
|
group: knot
|
||||||
|
mode: u=rw,g=r,o=
|
||||||
|
|
||||||
2
roles/auth-dns/tasks/main.yaml
Normal file
2
roles/auth-dns/tasks/main.yaml
Normal file
|
|
@ -0,0 +1,2 @@
|
||||||
|
- import_tasks: 01-install.yaml
|
||||||
|
- import_tasks: 02-configure.yaml
|
||||||
64
roles/auth-dns/templates/knot.conf.j2
Normal file
64
roles/auth-dns/templates/knot.conf.j2
Normal file
|
|
@ -0,0 +1,64 @@
|
||||||
|
# {{ ansible_managed }}
|
||||||
|
# See knot.conf(5) or refer to the server documentation.
|
||||||
|
|
||||||
|
server:
|
||||||
|
rundir: "/run/knot"
|
||||||
|
user: knot:knot
|
||||||
|
automatic-acl: on
|
||||||
|
listen: [ "0.0.0.0@53", "::@53" ]
|
||||||
|
|
||||||
|
log:
|
||||||
|
- target: syslog
|
||||||
|
any: info
|
||||||
|
|
||||||
|
database:
|
||||||
|
storage: "/var/lib/knot"
|
||||||
|
|
||||||
|
key:
|
||||||
|
- id: auth-dns.hamburg.ccc.de
|
||||||
|
algorithm: hmac-sha512
|
||||||
|
secret: ""
|
||||||
|
|
||||||
|
remote:
|
||||||
|
- id: quad9
|
||||||
|
address: "2620:fe::fe"
|
||||||
|
|
||||||
|
# define how the presence of parent KSK keys is checked
|
||||||
|
# in this case, we just ask quad9 which is an open resolver
|
||||||
|
submission:
|
||||||
|
- id: default
|
||||||
|
parent: quad9
|
||||||
|
parent-delay: 1h
|
||||||
|
|
||||||
|
# define how dnssec signing is done
|
||||||
|
# in this case we don't do anything special but teach knot how to check of KSK presence
|
||||||
|
policy:
|
||||||
|
- id: default
|
||||||
|
ksk-submission: default
|
||||||
|
nsec3: true
|
||||||
|
nsec3-salt-length: 0
|
||||||
|
|
||||||
|
# define default settings that apply to all zones
|
||||||
|
template:
|
||||||
|
- id: default
|
||||||
|
storage: "/etc/knot/zones"
|
||||||
|
file: "%s.zone"
|
||||||
|
semantic-checks: on
|
||||||
|
zonefile-sync: -1
|
||||||
|
zonefile-load: difference-no-serial
|
||||||
|
journal-content: all
|
||||||
|
default-ttl: 60
|
||||||
|
catalog-role: member
|
||||||
|
catalog-zone: hamburg.ccc.de.catalog.
|
||||||
|
dnssec-signing: on
|
||||||
|
dnssec-policy: default
|
||||||
|
{# notify: ["ns1.hanse.de", "ns.bsd.network."] #}
|
||||||
|
|
||||||
|
- id: minimal
|
||||||
|
{# notify: ["ns1.hanse.de", "ns.bsd.network."] #}
|
||||||
|
|
||||||
|
zone:
|
||||||
|
{# - domain: onsite.eurofurence.catalog. #}
|
||||||
|
{# template: minimal #}
|
||||||
|
{# catalog-role: generate #}
|
||||||
|
{# - domain: "onsite.eurofurence.org" #}
|
||||||
Loading…
Add table
Add a link
Reference in a new issue