Migrer de unbound/nsd vers bind

NSD ne permet pas d’avoir de zones dynamiques. De toute manière, un bon
vieux BIND fera très bien l’affaire aussi.
This commit is contained in:
Marc van der Wal 2023-10-25 15:50:22 +02:00
parent ec37d3b892
commit 5e965712bd
18 changed files with 36 additions and 81 deletions

View File

@ -83,7 +83,7 @@ Pour cela:
5. De retour à linvite de commandes, rechargez le fichier de zones avec la commande:
nsd-control reload expediteur.example
rndc reload expediteur.example
Vous devriez voir le message «ok». Sinon, cela signifie quune erreur de syntaxe sest glissée dans le fichier de zone.
@ -200,7 +200,7 @@ Létape suivante est donc de publier les clefs publiques dans le DNS:
6. Sauvegardez et quittez léditeur. Rechargez la zone:
nsd-control reload expediteur.example
rndc reload expediteur.example
7. Vérifiez la bonne présence de clefs DKIM avec `dig`:

View File

@ -2,19 +2,18 @@ FROM alpine:latest
RUN apk add \
bash \
bind \
bind-tools \
execline \
nano \
nano-syntax \
nsd \
openssl \
s6-overlay \
unbound \
vim
COPY etc/unbound/unbound.conf /etc/unbound
COPY etc/nsd/nsd.conf /etc/nsd/nsd.conf
COPY zones /etc/nsd/zones
RUN install -o named -g root -m 0755 -d /var/db/bind
COPY --chown=named:root etc/bind/named.conf /etc/bind/named.conf
COPY --chown=named:root zones /etc/bind/zones
COPY etc/s6-overlay /etc/s6-overlay

27
dns/etc/bind/named.conf Normal file
View File

@ -0,0 +1,27 @@
options {
directory "/var/db/bind";
dnssec-validation no;
recursion no;
};
zone example IN {
type master;
file "/etc/bind/zones/example.zone";
};
zone attaquant.example IN {
type master;
file "/etc/bind/zones/example/attaquant.zone";
};
zone destinataire.example IN {
type master;
file "/etc/bind/zones/example/destinataire.zone";
};
zone expediteur.example IN {
type master;
file "/etc/bind/zones/example/expediteur.zone";
update-policy local;
};

View File

@ -1,31 +0,0 @@
server:
ip-address: 0.0.0.0
port: 1053
debug-mode: yes
zonesdir: "/etc/nsd/zones"
database: ""
remote-control:
control-enable: yes
control-interface: 127.0.0.1
zone:
name: "example"
zonefile: "example.zone"
zone:
name: "destinataire.example"
zonefile: "example/destinataire.zone"
zone:
name: "expediteur.example"
zonefile: "example/expediteur.zone"
zone:
name: "attaquant.example"
zonefile: "example/attaquant.zone"
zone:
name: "31.172.in-addr.arpa"
zonefile: "arpa/31.172.in-addr.zone"

View File

@ -0,0 +1,2 @@
#!/bin/execlineb -P
/usr/sbin/named -g -n 1 -U 1 -u named

View File

@ -1 +0,0 @@
/usr/sbin/nsd-control-setup

View File

@ -1,2 +0,0 @@
#!/bin/execlineb -P
/usr/sbin/nsd -d -c /etc/nsd/nsd.conf -P /run/nsd.pid

View File

@ -0,0 +1 @@
/usr/sbin/rndc-confgen -a

View File

@ -1,2 +0,0 @@
#!/bin/execlineb -P
/usr/sbin/unbound -d -c /etc/unbound/unbound.conf

View File

@ -1 +0,0 @@
longrun

View File

@ -1,37 +0,0 @@
server:
do-daemonize: no
interface: 0.0.0.0
interface: ::
access-control: 172.31.0.0/16 allow
access-control: fd4a:8c4:c28b::/48 allow
log-queries: yes
log-replies: yes
log-servfail: yes
logfile: ""
local-zone: "31.172.in-addr.arpa" nodefault
local-zone: "d.f.ip6.arpa" nodefault
domain-insecure: "example"
domain-insecure: "31.172.in-addr.arpa"
domain-insecure: "b.8.2.c.4.c.8.0.a.4.d.f.ip6.arpa"
# Pour une raison que jignore, mettre stub-addr: 127.0.0.1@1053 entraîne
# un SERVFAIL. On dirait quunbound narrive pas à communiquer avec nsd.
# Il faut que nsd écoute sur toutes les interfaces dans le conteneur et
# que, dans la configuration dunbound, le stub-addr soit lIP privée et pas
# la boucle locale, pour que ça marche.
stub-zone:
name: "example"
stub-addr: 172.31.0.53@1053
stub-zone:
name: "31.172.in-addr.arpa"
stub-addr: 172.31.0.53@1053
stub-zone:
name: "b.8.2.c.4.c.8.0.a.4.d.f.ip6.arpa"
stub-addr: 172.31.0.53@1053