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>
This commit is contained in:
2026-04-21 08:19:24 +02:00
commit 8d4eaa1489
1567 changed files with 204155 additions and 0 deletions

View File

@@ -0,0 +1,26 @@
; This zone file is common for several sub-zones to zone09.xa. Note that
;
; * $ORIGIN must not be set here,
; * All names must be relative
$TTL 3600
@ SOA ns1 admin.mail.xa. (
2022112300 ; serial
6h ; refresh
1h ; retry
1w ; expire
1d ) ; minimum
NS ns1
NS ns2
ns1 A 127.19.9.31
ns1 AAAA fda1:b2:c3::127:19:9:31
ns2 A 127.19.9.32
ns2 AAAA fda1:b2:c3::127:19:9:32
mail A 127.3.0.25
mail2 A 127.3.0.26
;EOF

View File

@@ -0,0 +1,184 @@
# ZONE09
[This directory](.), i.e. the same directory as this README file, holds
zonefiles and `coredns` configuration files for scenarios for test case ZONE09:
* NO-RESPONSE-MX-QUERY
* UNEXPECTED-RCODE-MX
* NON-AUTH-MX-RESPONSE
* INCONSISTENT-MX
* INCONSISTENT-MX-DATA
* NULL-MX-WITH-OTHER-MX
* NULL-MX-NON-ZERO-PREF
* TLD-EMAIL-DOMAIN
* ROOT-EMAIL-DOMAIN
* MX-DATA
* NULL-MX
* NO-MX-SLD
* NO-MX-TLD
* NO-MX-ARPA
## zonemaster-cli commands and their output for each test scenario
The level (`--level`) must be set to the lowest level of the message tags. For
this test case `INFO` is the lowest level.
Scenario name | Mandatory message tags | Forbidden message tags
:---------------------|:--------------------------------------------------|:-------------------------------------------
NO-RESPONSE-MX-QUERY | Z09\_NO\_RESPONSE\_MX\_QUERY | (none)
```
$ zonemaster-cli NO-RESPONSE-MX-QUERY.zone09.xa --raw --test Zone/zone09 --hints COMMON/hintfile --level info
0.00 INFO GLOBAL_VERSION version=v4.5.1
20.11 WARNING Z09_NO_RESPONSE_MX_QUERY ns_ip_list=127.19.9.32;fda1:b2:c3:0:127:19:9:32
20.11 INFO Z09_MX_DATA mailtarget_list=mail.no-response-mx-query.zone09.xa.; ns_ip_list=127.19.9.31;fda1:b2:c3:0:127:19:9:31
```
-> OK
Scenario name | Mandatory message tags | Forbidden message tags
:---------------------|:--------------------------------------------------|:-------------------------------------------
UNEXPECTED-RCODE-MX | Z09\_UNEXPECTED\_RCODE\_MX | (none)
```
$ zonemaster-cli UNEXPECTED-RCODE-MX.zone09.xa --raw --test Zone/zone09 --hints COMMON/hintfile --level info
0.00 INFO GLOBAL_VERSION version=v4.5.1
0.07 WARNING Z09_UNEXPECTED_RCODE_MX ns_ip_list=ARRAY(0x5638fec55130); rcode=NOTIMPL
0.07 NOTICE Z09_MISSING_MAIL_TARGET
```
-> OK
Scenario name | Mandatory message tags | Forbidden message tags
:---------------------|:--------------------------------------------------|:-------------------------------------------
NON-AUTH-MX-RESPONSE | Z09\_NON\_AUTH\_MX\_RESPONSE | (none)
```
$ zonemaster-cli NON-AUTH-MX-RESPONSE.zone09.xa --raw --test Zone/zone09 --hint COMMON/hintfile --level info
0.00 INFO GLOBAL_VERSION version=v4.5.1
0.08 INFO Z09_MX_DATA mailtarget_list=mail.non-auth-mx-response.zone09.xa.; ns_ip_list=127.19.9.31;127.19.9.32;fda1:b2:c3:0:127:19:9:32;fda1:b2:c3:0:127:19:9:31
```
-> The zone file configuration is not yet correct.
Scenario name | Mandatory message tags | Forbidden message tags
:---------------------|:-------------------------------------------------------------------------|:-------------------------------------------
INCONSISTENT-MX | Z09\_INCONSISTENT\_MX, Z09\_MX\_FOUND, Z09\_NO\_MX\_FOUND, Z09\_MX\_DATA | Z09\_MISSING\_MAIL\_TARGET
```
$ zonemaster-cli INCONSISTENT-MX.zone09.xa --raw --test Zone/zone09 --hints COMMON/hintfile --level info
0.00 INFO GLOBAL_VERSION version=v4.5.1
0.07 WARNING Z09_INCONSISTENT_MX
0.07 INFO Z09_NO_MX_FOUND ns_ip_list=127.19.9.32;fda1:b2:c3:0:127:19:9:32
0.07 INFO Z09_MX_FOUND ns_ip_list=127.19.9.31;fda1:b2:c3:0:127:19:9:31
0.07 INFO Z09_MX_DATA mailtarget_list=mail.inconsistent-mx.zone09.xa.; ns_ip_list=127.19.9.31;fda1:b2:c3:0:127:19:9:31
```
-> OK
Scenario name | Mandatory message tags | Forbidden message tags
:---------------------|:--------------------------------------------------|:-------------------------------------------
INCONSISTENT-MX-DATA | Z09\_INCONSISTENT\_MX\_DATA, Z09\_MX\_DATA | Z09\_MISSING\_MAIL\_TARGET, Z09\_NULL\_MX\_NON\_ZERO\_PREF, Z09\_NULL\_MX\_WITH\_OTHER\_MX, Z09\_ROOT\_EMAIL\_DOMAIN, Z09\_TLD\_EMAIL\_DOMAIN
```
$ zonemaster-cli INCONSISTENT-MX-DATA.zone09.xa --raw --test Zone/zone09 --hints COMMON/hintfile --level info
0.00 INFO GLOBAL_VERSION version=v4.5.1
0.08 WARNING Z09_INCONSISTENT_MX_DATA
0.08 INFO Z09_MX_DATA mailtarget_list=mail2.inconsistent-mx-data.zone09.xa.; ns_ip_list=127.19.9.32;fda1:b2:c3:0:127:19:9:32
0.08 INFO Z09_MX_DATA mailtarget_list=mail.inconsistent-mx-data.zone09.xa.;mail2.inconsistent-mx-data.zone09.xa.; ns_ip_list=127.19.9.31;fda1:b2:c3:0:127:19:9:31
```
-> OK
Scenario name | Mandatory message tags | Forbidden message tags
:---------------------|:--------------------------------------------------|:-------------------------------------------
NULL-MX-WITH-OTHER-MX | Z09\_NULL\_MX\_WITH\_OTHER\_MX | Z09\_INCONSISTENT\_MX\_DATA, Z09\_MX\_DATA, Z09\_MISSING\_MAIL\_TARGET, Z09\_ROOT\_EMAIL\_DOMAIN, Z09\_TLD\_EMAIL\_DOMAIN
```
$ zonemaster-cli null-mx-with-other-mx.zone09.xa --raw --test Zone/zone09 --hints COMMON/hintfile --level info
0.00 INFO GLOBAL_VERSION version=v4.5.1
0.09 WARNING Z09_NULL_MX_WITH_OTHER_MX
```
-> OK
Scenario name | Mandatory message tags | Forbidden message tags
:---------------------|:--------------------------------------------------|:-------------------------------------------
NULL-MX-NON-ZERO-PREF | Z09\_NULL\_MX\_NON\_ZERO\_PREF | Z09\_INCONSISTENT\_MX\_DATA, Z09\_MX\_DATA, Z09\_MISSING\_MAIL\_TARGET, Z09\_ROOT\_EMAIL\_DOMAIN, Z09\_TLD\_EMAIL\_DOMAIN
```
$ zonemaster-cli null-mx-non-zero-pref.zone09.xa --raw --test Zone/zone09 --hints COMMON/hintfile --level info
0.00 INFO GLOBAL_VERSION version=v4.5.1
0.09 NOTICE Z09_NULL_MX_NON_ZERO_PREF
```
-> OK
Scenario name | Mandatory message tags | Forbidden message tags
:---------------------|:--------------------------------------------------|:-------------------------------------------
TLD-EMAIL-DOMAIN | Z09\_TLD\_EMAIL\_DOMAIN | Z09\_INCONSISTENT\_MX\_DATA, Z09\_MX\_DATA, Z09\_MISSING\_MAIL\_TARGET, Z09\_ROOT\_EMAIL\_DOMAIN, Z09\_NULL\_MX\_WITH\_OTHER\_MX, Z09\_NULL\_MX\_NON\_ZERO\_PREF
```
$ zonemaster-cli tld-email-domain-zone09 --raw --test Zone/zone09 --hints COMMON/hintfile --level info
0.00 INFO GLOBAL_VERSION version=v4.5.1
0.03 WARNING Z09_TLD_EMAIL_DOMAIN
```
-> OK
Scenario name | Mandatory message tags | Forbidden message tags
:---------------------|:--------------------------------------------------|:-------------------------------------------
ROOT-EMAIL-DOMAIN | Z09\_ROOT\_EMAIL\_DOMAIN | Z09\_INCONSISTENT\_MX\_DATA, Z09\_MX\_DATA, Z09\_MISSING\_MAIL\_TARGET, Z09\_TLD\_EMAIL\_DOMAIN, Z09\_NULL\_MX\_WITH\_OTHER\_MX, Z09\_NULL\_MX\_NON\_ZERO\_PREF
```
$ zonemaster-cli . --raw --test Zone/zone09 --hints Zone-TP/zone09/hintfile-root-email-domain --level info
0.00 INFO GLOBAL_VERSION version=v4.5.1
0.01 NOTICE Z09_ROOT_EMAIL_DOMAIN
```
-> OK
Scenario name | Mandatory message tags | Forbidden message tags
:---------------------|:--------------------------------------------------|:-------------------------------------------
MX-DATA | Z09\_MX\_DATA | Z09\_INCONSISTENT\_MX\_DATA, Z09\_MISSING\_MAIL\_TARGET, Z09\_TLD\_EMAIL\_DOMAIN, Z09\_ROOT\_EMAIL\_DOMAIN, Z09\_NULL\_MX\_WITH\_OTHER\_MX, Z09\_NULL\_MX\_NON\_ZERO\_PREF
```
$ zonemaster-cli mx-data.zone09.xa --raw --test Zone/zone09 --hints COMMON/hintfile --level info
0.00 INFO GLOBAL_VERSION version=v4.5.1
0.07 INFO Z09_MX_DATA mailtarget_list=mail.mx-data.zone09.xa.; ns_ip_list=fda1:b2:c3:0:127:19:9:32;127.19.9.32;fda1:b2:c3:0:127:19:9:31;127.19.9.31
```
-> OK
Scenario name | Mandatory message tags | Forbidden message tags
:---------------------|:--------------------------------------------------|:-------------------------------------------
NULL-MX | (none) | Z09\_INCONSISTENT\_MX\_DATA, Z09\_MX\_DATA, Z09\_MISSING\_MAIL\_TARGET, Z09\_TLD\_EMAIL\_DOMAIN, Z09\_ROOT\_EMAIL\_DOMAIN, Z09\_NULL\_MX\_WITH\_OTHER\_MX, Z09\_NULL\_MX\_NON\_ZERO\_PREF
```
$ zonemaster-cli null-mx.zone09.xa --raw --test Zone/zone09 --hints COMMON/hintfile --level info
0.00 INFO GLOBAL_VERSION version=v4.5.1
```
-> OK
Scenario name | Mandatory message tags | Forbidden message tags
:---------------------|:--------------------------------------------------|:-------------------------------------------
NO-MX-SLD | Z09\_MISSING\_MAIL\_TARGET | Z09\_INCONSISTENT\_MX\_DATA, Z09\_MX\_DATA, Z09\_TLD\_EMAIL\_DOMAIN, Z09\_ROOT\_EMAIL\_DOMAIN, Z09\_NULL\_MX\_WITH\_OTHER\_MX, Z09\_NULL\_MX\_NON\_ZERO\_PREF
```
$ zonemaster-cli no-mx-sld.zone09.xa --raw --test Zone/zone09 --hints COMMON/hintfile --level info
0.00 INFO GLOBAL_VERSION version=v4.5.1
0.09 NOTICE Z09_MISSING_MAIL_TARGET
```
-> OK
Scenario name | Mandatory message tags | Forbidden message tags
:---------------------|:--------------------------------------------------|:-------------------------------------------
NO-MX-TLD | (none) | Z09\_INCONSISTENT\_MX\_DATA, Z09\_MX\_DATA, Z09\_MISSING\_MAIL\_TARGET, Z09\_TLD\_EMAIL\_DOMAIN, Z09\_ROOT\_EMAIL\_DOMAIN, Z09\_NULL\_MX\_WITH\_OTHER\_MX, Z09\_NULL\_MX\_NON\_ZERO\_PREF
```
$ zonemaster-cli xa --raw --test Zone/zone09 --hints COMMON/hintfile --level info
0.00 INFO GLOBAL_VERSION version=v4.5.1
```
-> OK
Scenario name | Mandatory message tags | Forbidden message tags
:---------------------|:--------------------------------------------------|:-------------------------------------------
NO-MX-ARPA | (none) | Z09\_INCONSISTENT\_MX\_DATA, Z09\_MX\_DATA, Z09\_MISSING\_MAIL\_TARGET, Z09\_TLD\_EMAIL\_DOMAIN, Z09\_ROOT\_EMAIL\_DOMAIN, Z09\_NULL\_MX\_WITH\_OTHER\_MX, Z09\_NULL\_MX\_NON\_ZERO\_PREF
```
$ zonemaster-cli arpa --raw --test Zone/zone09 --hints COMMON/hintfile --level info
0.00 INFO GLOBAL_VERSION version=v4.5.1
```
-> OK

View File

@@ -0,0 +1,9 @@
. 3600000 NS ns1.
ns1. 3600000 A 127.19.9.43
ns1. 3600000 AAAA fda1:b2:c3::127:19:9:43
;
. 3600000 NS ns2.
ns2. 3600000 A 127.19.9.44
ns2. 3600000 AAAA fda1:b2:c3::127:19:9:44
;EOF

View File

@@ -0,0 +1,45 @@
$ORIGIN .
$TTL 3600
@ SOA ns1. admin.xb. (
2022112300 ; serial
6h ; refresh
1h ; retry
1w ; expire
1d ) ; minimum
NS ns1.
NS ns2.
MX 10 mail
mail A 127.3.0.25
ns1. A 127.19.9.43
ns1. AAAA fda1:b2:c3::127:19:9:43
ns2. A 127.19.9.44
ns2. AAAA fda1:b2:c3::127:19:9:44
arpa. NS ns1.
arpa. NS ns2.
xa NS ns1.xa.
ns1.xa. A 127.2.0.11
ns1.xa. AAAA fda1:b2:c3::127:2:0:11
xa NS ns2.xa.
ns2.xa. A 127.2.0.12
ns2.xa. AAAA fda1:b2:c3::127:2:0:12
tld-email-domain-zone09 NS ns1.tld-email-domain-zone09
ns1.tld-email-domain-zone09 A 127.19.9.41
ns1.tld-email-domain-zone09 AAAA fda1:b2:c3::127:19:9:41
tld-email-domain-zone09 NS ns2.tld-email-domain-zone09
ns2.tld-email-domain-zone09 A 127.19.9.42
ns2.tld-email-domain-zone09 AAAA fda1:b2:c3::127:19:9:42
asnlookup.zonemaster.net. 306 IN NS ns2.asnlookup.zonemaster.net.
asnlookup.zonemaster.net. 306 IN NS ns1.asnlookup.zonemaster.net.
ns1.asnlookup.zonemaster.net. 359 IN A 127.3.0.1
ns2.asnlookup.zonemaster.net. 348 IN A 127.3.0.2

View File

@@ -0,0 +1,20 @@
$ORIGIN tld-email-domain-zone09.
$TTL 3600
@ SOA ns1 admin.tld-email-domain-zone09. (
2022112300 ; serial
6h ; refresh
1h ; retry
1w ; expire
1d ) ; minimum
NS ns1
NS ns2
MX 10 mail
mail A 127.3.0.25
ns1 A 127.19.9.41
ns1 AAAA fda1:b2:c3:0:127:19:9:41
ns2 A 127.19.9.42
ns2 AAAA fda1:b2:c3:0:127:19:9:42

View File

@@ -0,0 +1,221 @@
# ns1.zone09.xa
. {
bind 127.19.9.21
bind fda1:b2:c3:0:127:19:9:21
log
file Zone-TP/zone09/zone09.xa zone09.xa
}
# ns2.zone09.xa
. {
bind 127.19.9.22
bind fda1:b2:c3:0:127:19:9:22
log
file Zone-TP/zone09/zone09.xa zone09.xa
}
# ns1.tld-email-domain-zone09
. {
bind 127.19.9.41
bind fda1:b2:c3:0:127:19:9:41
log
file Zone-TP/zone09/tld-email-domain-zone09 tld-email-domain-zone09
}
# ns2.tld-email-domain-zone09
. {
bind 127.19.9.42
bind fda1:b2:c3:0:127:19:9:42
log
file Zone-TP/zone09/tld-email-domain-zone09 tld-email-domain-zone09
}
# ns1.root-email-domain
. {
bind 127.19.9.43
bind fda1:b2:c3:0:127:19:9:43
log
file Zone-TP/zone09/root-email-domain .
}
# ns2.root-email-domain
. {
bind 127.19.9.44
bind fda1:b2:c3:0:127:19:9:44
log
file Zone-TP/zone09/root-email-domain .
}
# testzones ns1
. {
bind 127.19.9.31
bind fda1:b2:c3:0:127:19:9:31
log
# NO-RESPONSE-MX-QUERY.zone09.xa
file Zone-TP/zone09/COMMON.zone09.xa no-response-mx-query.zone09.xa
template IN MX no-response-mx-query.zone09.xa {
answer "no-response-mx-query.zone09.xa. 600 MX 10 mail.no-response-mx-query.zone09.xa."
}
# UNEXPECTED-RCODE-MX.zone09.xa
template IN MX UNEXPECTED-RCODE-MX.zone09.xa {
rcode NOTIMP
fallthrough
}
file Zone-TP/zone09/COMMON.zone09.xa unexpected-rcode-mx.zone09.xa
# NON-AUTH-MX-RESPONSE.zone09.xa
file Zone-TP/zone09/COMMON.zone09.xa non-auth-mx-response.zone09.xa
template IN MX non-auth-mx-response.zone09.xa {
answer "non-auth-mx-response.zone09.xa. 600 MX 10 mail.non-auth-mx-response.zone09.xa."
}
# INCONSISTENT-MX.zone09.xa
file Zone-TP/zone09/COMMON.zone09.xa inconsistent-mx.zone09.xa
template IN MX inconsistent-mx.zone09.xa {
answer "inconsistent-mx.zone09.xa. 600 MX 10 mail.inconsistent-mx.zone09.xa."
}
# INCONSISTENT-MX-DATA.zone09.xa
file Zone-TP/zone09/COMMON.zone09.xa inconsistent-mx-data.zone09.xa
template IN MX inconsistent-mx-data.zone09.xa {
answer "inconsistent-mx-data.zone09.xa. 600 MX 10 mail.inconsistent-mx-data.zone09.xa."
answer "inconsistent-mx-data.zone09.xa. 600 MX 10 mail2.inconsistent-mx-data.zone09.xa."
}
# NULL-MX-WITH-OTHER-MX.zone09.xa
file Zone-TP/zone09/COMMON.zone09.xa null-mx-with-other-mx.zone09.xa
template IN MX null-mx-with-other-mx.zone09.xa {
answer "null-mx-with-other-mx.zone09.xa. 600 MX 10 mail.null-mx-with-other-mx.zone09.xa"
answer "null-mx-with-other-mx.zone09.xa. 600 MX 0 ."
}
template IN A null-mx-with-other-mx.zone09.xa {
answer "null-mx-with-other-mx.zone09.xa. 600 A 127.3.0.25"
}
# NULL-MX-NON-ZERO-PREF.zone09.xa
file Zone-TP/zone09/COMMON.zone09.xa null-mx-non-zero-pref.zone09.xa
template IN MX null-mx-non-zero-pref.zone09.xa {
answer "null-mx-non-zero-pref.zone09.xa. 600 MX 99 ."
}
# TLD-EMAIL-DOMAIN (located with the other TLD configs in this file)
# ROOT-EMAIL-DOMAIN (located with the other root-zone configs in this file)
# MX-DATA.zone09.xa
file Zone-TP/zone09/COMMON.zone09.xa mx-data.zone09.xa
template IN MX mx-data.zone09.xa {
answer "mx-data.zone09.xa. 600 MX 10 mail.mx-data.zone09.xa."
}
# NULL-MX.zone09.xa
file Zone-TP/zone09/COMMON.zone09.xa null-mx.zone09.xa
template IN MX null-mx.zone09.xa {
answer "null-mx.zone09.xa. 600 MX 0 ."
}
# NO-MX-SLD.zone09.xa
file Zone-TP/zone09/COMMON.zone09.xa no-mx-sld.zone09.xa
# NO-MX-TLD (implemented in .xa)
# NO-MX-ARPA (implemented in .arpa)
}
# testzones ns2
. {
bind 127.19.9.32
bind fda1:b2:c3:0:127:19:9:32
log
# NO-RESPONSE-MX-QUERY.zone09.xa
file Zone-TP/zone09/COMMON.zone09.xa no-response-mx-query.zone09.xa
acl no-response-mx-query.zone09.xa {
drop type MX
}
# UNEXPECTED-RCODE-MX.zone09.xa
file Zone-TP/zone09/COMMON.zone09.xa unexpected-rcode-mx.zone09.xa
# NON-AUTH-MX-RESPONSE.zone09.xa
template IN SOA non-auth-mx-response.zone09.xa {
match "non-auth-mx-response\.zone09\.xa"
answer "non-auth-mx-response.zone09.xa. 3600 IN SOA ns1.non-auth-mx-response.zone09.xa. admin.non-auth-mx-response.zone09.xa. 2022112300 21600 3600 604800 86400"
}
file Zone-TP/zone09/COMMON.zone09.xa non-auth-mx-response.zone09.xa
template IN MX non-auth-mx-response.zone09.xa {
answer "non-auth-mx-response.zone09.xa. 600 MX 10 mail.non-auth-mx-response.zone09.xa."
}
# INCONSISTENT-MX.zone09.xa
file Zone-TP/zone09/COMMON.zone09.xa inconsistent-mx.zone09.xa
# INCONSISTENT-MX-DATA.zone09.xa
file Zone-TP/zone09/COMMON.zone09.xa inconsistent-mx-data.zone09.xa
template IN MX inconsistent-mx-data.zone09.xa {
answer "inconsistent-mx-data.zone09.xa. 600 MX 10 mail2.inconsistent-mx-data.zone09.xa."
}
# NULL-MX-WITH-OTHER-MX.zone09.xa
file Zone-TP/zone09/COMMON.zone09.xa null-mx-with-other-mx.zone09.xa
template IN MX null-mx-with-other-mx.zone09.xa {
answer "null-mx-with-other-mx.zone09.xa. 600 MX 10 mail.null-mx-with-other-mx.zone09.xa"
answer "null-mx-with-other-mx.zone09.xa. 600 MX 0 ."
}
template IN A null-mx-with-other-mx.zone09.xa {
answer "null-mx-with-other-mx.zone09.xa. 600 A 127.3.0.25"
}
# NULL-MX-NON-ZERO-PREF.zone09.xa
file Zone-TP/zone09/COMMON.zone09.xa null-mx-non-zero-pref.zone09.xa
template IN MX null-mx-non-zero-pref.zone09.xa {
answer "null-mx-non-zero-pref.zone09.xa. 600 MX 99 ."
}
# TLD-EMAIL-DOMAIN (located with the other TLD configs in this file)
# ROOT-EMAIL-DOMAIN (located with the other root-zone configs in this file)
# MX-DATA.zone09.xa
file Zone-TP/zone09/COMMON.zone09.xa mx-data.zone09.xa
template IN MX MX-DATA.zone09.xa {
answer "MX-DATA.zone09.xa. 600 MX 10 mail.mx-data.zone09.xa."
}
# NULL-MX.zone09.xa
file Zone-TP/zone09/COMMON.zone09.xa null-mx.zone09.xa
template IN MX null-mx.zone09.xa {
answer "null-mx.zone09.xa. 600 MX 0 ."
}
# NO-MX-SLD.zone09.xa
file Zone-TP/zone09/COMMON.zone09.xa no-mx-sld.zone09.xa
# NO-MX-TLD (implemented in .xa)
# NO-MX-ARPA (implemented in .arpa)
}
# testzones ns that answers without authoritative answer
. {
bind 127.19.9.34
bind fda1:b2:c3:0:127:19:9:34
log
# NON-AUTH-MX-RESPONSE.zone09.xa
file Zone-TP/zone09/COMMON.zone09.xa non-auth-mx-response.zone09.xa
template IN MX non-auth-mx-response.zone09.xa {
answer "non-auth-mx-response.zone09.xa. 600 MX 10 mail.non-auth-mx-response.zone09.xa."
fallthrough
}
header {
response clear aa
}
}

View File

@@ -0,0 +1,119 @@
$ORIGIN zone09.xa.
$TTL 3600
@ SOA ns1 admin. (
2022112300 ; serial
6h ; refresh
1h ; retry
1w ; expire
1d ) ; minimum
NS ns1
NS ns2
ns1 A 127.19.9.21
ns1 AAAA fda1:b2:c3:0:127:19:9:21
ns2 A 127.19.9.22
ns2 AAAA fda1:b2:c3:0:127:19:9:22
inconsistent-mx NS ns1.inconsistent-mx
inconsistent-mx NS ns2.inconsistent-mx
ns1.inconsistent-mx A 127.19.9.31
ns1.inconsistent-mx AAAA fda1:b2:c3::127:19:9:31
ns2.inconsistent-mx A 127.19.9.32
ns2.inconsistent-mx AAAA fda1:b2:c3::127:19:9:32
inconsistent-mx-data NS ns1.inconsistent-mx-data
inconsistent-mx-data NS ns2.inconsistent-mx-data
ns1.inconsistent-mx-data A 127.19.9.31
ns1.inconsistent-mx-data AAAA fda1:b2:c3::127:19:9:31
ns2.inconsistent-mx-data A 127.19.9.32
ns2.inconsistent-mx-data AAAA fda1:b2:c3::127:19:9:32
mx-data NS ns1.mx-data
mx-data NS ns2.mx-data
ns1.mx-data A 127.19.9.31
ns1.mx-data AAAA fda1:b2:c3::127:19:9:31
ns2.mx-data A 127.19.9.32
ns2.mx-data AAAA fda1:b2:c3::127:19:9:32
unexpected-rcode-mx NS ns1.unexpected-rcode-mx
unexpected-rcode-mx NS ns2.unexpected-rcode-mx
ns1.unexpected-rcode-mx A 127.19.9.31
ns1.unexpected-rcode-mx AAAA fda1:b2:c3::127:19:9:31
ns2.unexpected-rcode-mx A 127.19.9.32
ns2.unexpected-rcode-mx AAAA fda1:b2:c3::127:19:9:32
tld-email-domain NS ns1.tld-email-domain
tld-email-domain NS ns2.tld-email-domain
ns1.tld-email-domain A 127.19.9.31
ns1.tld-email-domain AAAA fda1:b2:c3::127:19:9:31
ns2.tld-email-domain A 127.19.9.32
ns2.tld-email-domain AAAA fda1:b2:c3::127:19:9:32
null-mx NS ns1.null-mx
null-mx NS ns2.null-mx
ns1.null-mx A 127.19.9.31
ns1.null-mx AAAA fda1:b2:c3::127:19:9:31
ns2.null-mx A 127.19.9.32
ns2.null-mx AAAA fda1:b2:c3::127:19:9:32
no-mx-sld NS ns1.no-mx-sld
no-mx-sld NS ns2.no-mx-sld
ns1.no-mx-sld A 127.19.9.31
ns1.no-mx-sld AAAA fda1:b2:c3::127:19:9:31
ns2.no-mx-sld A 127.19.9.32
ns2.no-mx-sld AAAA fda1:b2:c3::127:19:9:32
no-mx-tld NS ns1.no-mx-tld
no-mx-tld NS ns2.no-mx-tld
ns1.no-mx-tld A 127.19.9.31
ns1.no-mx-tld AAAA fda1:b2:c3::127:19:9:31
ns2.no-mx-tld A 127.19.9.32
ns2.no-mx-tld AAAA fda1:b2:c3::127:19:9:32
no-mx-arpa NS ns1.no-mx-arpa
no-mx-arpa NS ns2.no-mx-arpa
ns1.no-mx-arpa A 127.19.9.31
ns1.no-mx-arpa AAAA fda1:b2:c3::127:19:9:31
ns2.no-mx-arpa A 127.19.9.32
ns2.no-mx-arpa AAAA fda1:b2:c3::127:19:9:32
non-auth-mx-response NS ns1.non-auth-mx-response
non-auth-mx-response NS ns2.non-auth-mx-response
ns1.non-auth-mx-response A 127.19.9.31
ns1.non-auth-mx-response AAAA fda1:b2:c3::127:19:9:31
ns2.non-auth-mx-response A 127.19.9.32
ns2.non-auth-mx-response AAAA fda1:b2:c3::127:19:9:32
no-response-mx-query NS ns1.no-response-mx-query
no-response-mx-query NS ns2.no-response-mx-query
ns1.no-response-mx-query A 127.19.9.31
ns1.no-response-mx-query AAAA fda1:b2:c3::127:19:9:31
ns2.no-response-mx-query A 127.19.9.32
ns2.no-response-mx-query AAAA fda1:b2:c3::127:19:9:32
null-mx-non-zero-pref NS ns1.null-mx-non-zero-pref
null-mx-non-zero-pref NS ns2.null-mx-non-zero-pref
ns1.null-mx-non-zero-pref A 127.19.9.31
ns1.null-mx-non-zero-pref AAAA fda1:b2:c3::127:19:9:31
ns2.null-mx-non-zero-pref A 127.19.9.32
ns2.null-mx-non-zero-pref AAAA fda1:b2:c3::127:19:9:32
null-mx-with-other-mx NS ns1.null-mx-with-other-mx
null-mx-with-other-mx NS ns2.null-mx-with-other-mx
ns1.null-mx-with-other-mx A 127.19.9.31
ns1.null-mx-with-other-mx AAAA fda1:b2:c3::127:19:9:31
ns2.null-mx-with-other-mx A 127.19.9.32
ns2.null-mx-with-other-mx AAAA fda1:b2:c3::127:19:9:32
root-email-domain NS ns1.root-email-domain
root-email-domain NS ns2.root-email-domain
ns1.root-email-domain A 127.19.9.31
ns1.root-email-domain AAAA fda1:b2:c3::127:19:9:31
ns2.root-email-domain A 127.19.9.32
ns2.root-email-domain AAAA fda1:b2:c3::127:19:9:32
; EOF