Files
zonemaster.es/zonemaster/test-zone-data/Basic-TP/basic02/basic02.cfg
Malin 8d4eaa1489 feat: add full Zonemaster stack with Docker and Spanish UI
- Clone all 5 Zonemaster component repos (LDNS, Engine, CLI, Backend, GUI)
- Dockerfile.backend: 8-stage multi-stage build LDNS→Engine→CLI→Backend
- Dockerfile.gui: Astro static build served via nginx
- docker-compose.yml: backend (internal) + frontend (port 5353)
- nginx.conf: root redirects to /es/, /api/ proxied to backend
- zonemaster-gui/config.ts: defaultLanguage set to 'es' (Spanish)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-21 08:19:24 +02:00

423 lines
13 KiB
INI

# 127.12.2.0/24 | Basic02 scenarios |
# 127.12.2.21 | ns1.basic02.xa |
# 127.12.2.22 | ns2.basic02.xa |
# 127.12.2.23 | root-ns1.xa |
# 127.12.2.24 | root-ns1.xa |
# 127.12.2.25 | ns1.basic02.xa |
# 127.12.2.26 | ns2.basic02.xa |
# 127.12.2.31 | ns1 child zone |
# 127.12.2.32 | ns2 child zone |
# 127.12.2.33 | ns3 child zone |
# 127.12.2.34 | ns4 child zone |
# 127.12.2.53 | resolver with test case local hint |
## root
.:53 {
bind 127.12.2.23 # ns1
bind fda1:b2:c3:0:127:12:2:23 # ns1
bind 127.12.2.24 # ns2
bind fda1:b2:c3:0:127:12:2:24 # ns2
log
file Basic-TP/basic02/root-zone.zone .
}
# Resolver using test case local root
. {
bind 127.12.2.53
unbound {
option root-hints Basic-TP/basic02/hintfile.zone
}
log
}
basic02.xa:53 {
bind 127.12.2.21 # ns1
bind fda1:b2:c3:0:127:12:2:21 # ns1
bind 127.12.2.22 # ns2
bind fda1:b2:c3:0:127:12:2:22 # ns2
log
file Basic-TP/basic02/basic02.xa.zone basic02.xa
}
basic02.xb:53 { # xb
bind 127.12.2.25 # ns1
bind fda1:b2:c3:0:127:12:2:25 # ns1
bind 127.12.2.26 # ns2
bind fda1:b2:c3:0:127:12:2:26 # ns2
log
file Basic-TP/basic02/basic02.xb.zone basic02.xb
}
### Child zones
good-1.basic02.xa:53 {
bind 127.12.2.31 # ns1
bind fda1:b2:c3:0:127:12:2:31 # ns1
bind 127.12.2.32 # ns2
bind fda1:b2:c3:0:127:12:2:32 # ns2
log
file Basic-TP/basic02/CHILD-ns1-ns2-IB.basic02.xa.zone good-1.basic02.xa
}
good-2.basic02.xa:53 {
bind 127.12.2.31 # ns1.good-2.basic02.xb.
bind fda1:b2:c3:0:127:12:2:31 # ns1.good-2.basic02.xb.
bind 127.12.2.32 # ns2.good-2.basic02.xb.
bind fda1:b2:c3:0:127:12:2:32 # ns2.good-2.basic02.xb.
log
file Basic-TP/basic02/good-2.basic02.xa.zone good-2.basic02.xa
}
good-undel-1.basic02.xa:53 {
# Undelegated
bind 127.12.2.31 # ns1
bind fda1:b2:c3:0:127:12:2:31 # ns1
bind 127.12.2.32 # ns2
bind fda1:b2:c3:0:127:12:2:32 # ns2
log
file Basic-TP/basic02/CHILD-ns1-ns2-IB.basic02.xa.zone good-undel-1.basic02.xa
}
good-undel-2.basic02.xa:53 {
# Undelegated
bind 127.12.2.31 # ns1.good-undel-2.basic02.xb.
bind fda1:b2:c3:0:127:12:2:31 # ns1.good-undel-2.basic02.xb.
bind 127.12.2.32 # ns2.good-undel-2.basic02.xb.
bind fda1:b2:c3:0:127:12:2:32 # ns2.good-undel-2.basic02.xb.
log
file Basic-TP/basic02/good-undel-2.basic02.xa.zone good-undel-2.basic02.xa
}
good-undel-3.basic02.xa:53 {
# Delegated
bind 127.12.2.31 # ns1
bind fda1:b2:c3:0:127:12:2:31 # ns1
bind 127.12.2.32 # ns2
bind fda1:b2:c3:0:127:12:2:32 # ns2
log
acl good-undel-3.basic02.xa {
drop
}
}
good-undel-3.basic02.xa:53 {
# Undelegated
bind 127.12.2.33 # ns3.good-undel-3.basic02.xb.
bind fda1:b2:c3:0:127:12:2:33 # ns3.good-undel-3.basic02.xb.
bind 127.12.2.34 # ns4.good-undel-3.basic02.xb.
bind fda1:b2:c3:0:127:12:2:34 # ns4.good-undel-3.basic02.xb.
log
file Basic-TP/basic02/good-undel-3.basic02.xa.zone good-undel-3.basic02.xa
}
# good-undel-4.basic02.xa, delegated IB without glue
#
good-undel-4.basic02.xa:53 {
# Undelegated
bind 127.12.2.31 # ns1.good-undel-4.basic02.xb.
bind fda1:b2:c3:0:127:12:2:31 # ns1.good-undel-4.basic02.xb.
bind 127.12.2.32 # ns2.good-undel-4.basic02.xb.
bind fda1:b2:c3:0:127:12:2:32 # ns2.good-undel-4.basic02.xb.
log
file Basic-TP/basic02/good-undel-4.basic02.xa.zone good-undel-4.basic02.xa
}
# good-undel-5.basic02.xa, delegated IB without glue
#
good-undel-5.basic02.xa:53 {
# Undelegated
bind 127.12.2.31 # ns1
bind fda1:b2:c3:0:127:12:2:31 # ns1
bind 127.12.2.32 # ns2
bind fda1:b2:c3:0:127:12:2:32 # ns2
log
file Basic-TP/basic02/CHILD-ns1-ns2-IB.basic02.xa.zone good-undel-5.basic02.xa
}
good-undel-6.basic02.xa:53 {
# Delegated
bind 127.12.2.31 # ns1.good-undel-6.basic02.xb.
bind fda1:b2:c3:0:127:12:2:31 # ns1.good-undel-6.basic02.xb.
bind 127.12.2.32 # ns2.good-undel-6.basic02.xb.
bind fda1:b2:c3:0:127:12:2:32 # ns2.good-undel-6.basic02.xb.
log
acl good-undel-6.basic02.xa {
drop
}
}
good-undel-6.basic02.xa:53 {
# Undelegated
bind 127.12.2.33 # ns3
bind fda1:b2:c3:0:127:12:2:33 # ns3
bind 127.12.2.34 # ns4
bind fda1:b2:c3:0:127:12:2:34 # ns4
log
file Basic-TP/basic02/CHILD-ns3-ns4-IB.basic02.xa.zone good-undel-6.basic02.xa
}
# good-undel-7.basic02.xa, delegated OOB with no address records
#
good-undel-7.basic02.xa:53 {
# Undelegated
bind 127.12.2.33 # ns3.good-undel-7.basic02.xb
bind fda1:b2:c3:0:127:12:2:33 # ns3.good-undel-7.basic02.xb
bind 127.12.2.34 # ns4.good-undel-7.basic02.xb
bind fda1:b2:c3:0:127:12:2:34 # ns4.good-undel-7.basic02.xb
log
file Basic-TP/basic02/good-undel-7.basic02.xa.zone good-undel-7.basic02.xa
}
good-undel-8.basic02.xa:53 {
# Delegated
bind 127.12.2.31 # dns1, IP of ns1
bind fda1:b2:c3:0:127:12:2:31 # dns1, IP of ns1
bind 127.12.2.32 # dns2, IP of ns2
bind fda1:b2:c3:0:127:12:2:32 # dns2, IP of ns2
log
acl good-undel-8.basic02.xa {
drop
}
}
good-undel-8.basic02.xa:53 {
# Undelegated
bind 127.12.2.33 # dns1, IP of ns3
bind fda1:b2:c3:0:127:12:2:33 # dns1, IP of ns3
bind 127.12.2.34 # dns2, IP of ns4
bind fda1:b2:c3:0:127:12:2:34 # dns2, IP of ns4
log
file Basic-TP/basic02/good-undel-8.basic02.xa.zone good-undel-8.basic02.xa
}
good-undel-9.basic02.xa:53 {
# Delegated
bind 127.12.2.31 # dns1.good-undel-9.basic02.xb, IP of ns1
bind fda1:b2:c3:0:127:12:2:31 # dns1.good-undel-9.basic02.xb, IP of ns1
bind 127.12.2.32 # dns2.good-undel-9.basic02.xb, IP of ns2
bind fda1:b2:c3:0:127:12:2:32 # dns2.good-undel-9.basic02.xb, IP of ns2
log
acl good-undel-9.basic02.xa {
drop
}
}
good-undel-9.basic02.xa:53 {
# Undelegated
bind 127.12.2.33 # dns1.good-undel-9.basic02.xb, IP of ns3
bind fda1:b2:c3:0:127:12:2:33 # dns1.good-undel-9.basic02.xb, IP of ns3
bind 127.12.2.34 # dns2.good-undel-9.basic02.xb, IP of ns4
bind fda1:b2:c3:0:127:12:2:34 # dns2.good-undel-9.basic02.xb, IP of ns4
log
file Basic-TP/basic02/good-undel-9.basic02.xa.zone good-undel-9.basic02.xa
}
# no-delegation.basic02.xa, not delegated and no zone exists
good-undel-10.basic02.xa:53 {
# Delegated
bind 127.12.2.31 # ns1.good-undel-10.basic02.xb.
bind fda1:b2:c3:0:127:12:2:31 # ns1.good-undel-10.basic02.xb.
log
template IN ANY good-undel-10.basic02.xa {
rcode SERVFAIL
}
}
good-undel-10.basic02.xa:53 {
# Delegated
bind 127.12.2.32 # ns2.good-undel-10.basic02.xb.
bind fda1:b2:c3:0:127:12:2:32 # ns2.good-undel-10.basic02.xb.
log
template IN ANY good-undel-10.basic02.xa {
rcode REFUSED
}
header {
response clear aa
}
}
good-undel-10.basic02.xa:53 {
# Undelegated
bind 127.12.2.33 # ns3.good-undel-10.basic02.xb
bind fda1:b2:c3:0:127:12:2:33 # ns3.good-undel-10.basic02.xb
bind 127.12.2.34 # ns4.good-undel-10.basic02.xb
bind fda1:b2:c3:0:127:12:2:34 # ns4.good-undel-10.basic02.xb
log
file Basic-TP/basic02/good-undel-10.basic02.xa.zone good-undel-10.basic02.xa
}
# good-undel-11.basic02.xa, delegated, cannot be reached.
delegated.good-undel-11.basic02.xb:53 {
# Zone to "hide" the resolution of the NS for the delegated zone
bind 127.12.2.31 # dns1
bind fda1:b2:c3:0:127:12:2:31 # dns1
bind 127.12.2.32 # dns2
bind fda1:b2:c3:0:127:12:2:32 # dns2
log
acl delegated.good-undel-11.basic02.xb {
drop
}
}
good-undel-11.basic02.xa:53 {
# Undelegated
bind 127.12.2.33 # ns3.good-undel-11.basic02.xb
bind fda1:b2:c3:0:127:12:2:33 # ns3.good-undel-11.basic02.xb
bind 127.12.2.34 # ns4.good-undel-11.basic02.xb
bind fda1:b2:c3:0:127:12:2:34 # ns4.good-undel-11.basic02.xb
log
file Basic-TP/basic02/good-undel-11.basic02.xa.zone good-undel-11.basic02.xa
}
mixed-1.basic02.xa:53 {
bind 127.12.2.31 # ns1
bind fda1:b2:c3:0:127:12:2:31 # ns1
log
file Basic-TP/basic02/mixed-1.basic02.xa.zone mixed-1.basic02.xa
}
mixed-1.basic02.xa:53 {
bind 127.12.2.32 # ns2
bind fda1:b2:c3:0:127:12:2:32 # ns2
log
acl mixed-1..basic02.xb {
drop
}
}
mixed-1.basic02.xa:53 {
bind 127.12.2.33 # ns3
bind fda1:b2:c3:0:127:12:2:33 # ns3
log
template IN ANY mixed-1.basic02.xb {
rcode SERVFAIL
}
}
mixed-1.basic02.xa:53 {
bind 127.12.2.34 # ns4
bind fda1:b2:c3:0:127:12:2:34 # ns4
log
file Basic-TP/basic02/mixed-1.basic02.xa.zone mixed-1.basic02.xa
header {
response clear aa
}
}
ns-broken-1.basic02.xa:53 {
bind 127.12.2.31 # ns1
bind fda1:b2:c3:0:127:12:2:31 # ns1
bind 127.12.2.32 # ns2
bind fda1:b2:c3:0:127:12:2:32 # ns2
log
template IN ANY ns-broken-1.basic02.xa {
authority "ns-broken-1.basic02.xa. 3600 IN NS ns1.ns-broken-1.basic02.xa."
authority "ns-broken-1.basic02.xa. 3600 IN NS ns2.ns-broken-1.basic02.xa."
additional "ns1.ns-broken-1.basic02.xa 3600 IN A 127.12.2.31"
additional "ns1.ns-broken-1.basic02.xa 3600 IN AAAA fda1:b2:c3:0:127:12:2:31"
additional "ns2.ns-broken-1.basic02.xa 3600 IN A 127.12.2.32"
additional "ns2.ns-broken-1.basic02.xa 3600 IN AAAA fda1:b2:c3:0:127:12:2:32"
}
header {
response set aa
}
}
ns-not-auth-1.basic02.xa:53 {
bind 127.12.2.31 # ns1
bind fda1:b2:c3:0:127:12:2:31 # ns1
bind 127.12.2.32 # ns2
bind fda1:b2:c3:0:127:12:2:32 # ns2
log
file Basic-TP/basic02/CHILD-ns1-ns2-IB.basic02.xa.zone ns-not-auth-1.basic02.xa
header {
response clear aa
}
}
# ns-no-ip-1.basic02.xa, IB NS, no glue, no zone
# ns-no-ip-2.basic02.xa, OOB NS, no IP for NS, no zone
# ns-no-ip-3.basic02.xa. OOB NS, no NS names, no zone
ns-no-ip-undel-1.basic02.xa:53 {
# Delegated
bind 127.12.2.31 # ns1
bind fda1:b2:c3:0:127:12:2:31 # ns1
bind 127.12.2.32 # ns2
bind fda1:b2:c3:0:127:12:2:32 # ns2
log
file Basic-TP/basic02/CHILD-ns1-ns2-IB.basic02.xa.zone ns-no-ip-undel-1.basic02.xa
}
# Undelegated IB NS without glue, no zone
ns-no-ip-undel-2.basic02.xa:53 {
# Delegated
bind 127.12.2.31 # ns1
bind fda1:b2:c3:0:127:12:2:31 # ns1
bind 127.12.2.32 # ns2
bind fda1:b2:c3:0:127:12:2:32 # ns2
log
file Basic-TP/basic02/CHILD-ns1-ns2-IB.basic02.xa.zone ns-no-ip-undel-2.basic02.xa
}
# Undelegated OOB NS without glue, no zone
ns-no-response-1.basic02.xa:53 {
bind 127.12.2.31 # ns1
bind fda1:b2:c3:0:127:12:2:31 # ns1
bind 127.12.2.32 # ns2
bind fda1:b2:c3:0:127:12:2:32 # ns2
log
acl ns-no-response-1.basic02.xa {
drop
}
}
unexpected-rcode-1.basic02.xa:53 {
bind 127.12.2.31 # ns1
bind fda1:b2:c3:0:127:12:2:31 # ns1
log
template IN ANY unexpected-rcode-1.basic02.xa {
authority "basic02.xa. SOA ns1.basic.xa. admin. 2025040906 6h 1h 1w 1d"
rcode NXDOMAIN
}
}
unexpected-rcode-1.basic02.xa:53 {
bind 127.12.2.32 # ns2
bind fda1:b2:c3:0:127:12:2:32 # ns2
log
template IN ANY unexpected-rcode-1.basic02.xa {
rcode REFUSED
}
header {
response clear aa
}
}
unexpected-rcode-1.basic02.xa:53 {
bind 127.12.2.33 # ns3
bind fda1:b2:c3:0:127:12:2:33 # ns3
log
template IN ANY unexpected-rcode-1.basic02.xa {
rcode SERVFAIL
}
}