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: 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. 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: 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`: 7. Vérifiez la bonne présence de clefs DKIM avec `dig`:

View File

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