mirror of
https://github.com/isc-projects/bind9.git
synced 2026-04-28 09:37:10 -04:00
Convert setup.pl into static configurations
The setup.pl script has been replaced with static BIND configurations,
and in the course of this change, the unused ns1 server was removed.
This enhancement has greatly improved the overall test's readability.
(cherry picked from commit 08a8906cfc)
This commit is contained in:
parent
624c20b191
commit
dbdc70cbe0
8 changed files with 109 additions and 142 deletions
|
|
@ -11,12 +11,8 @@
|
|||
# See the COPYRIGHT file distributed with this work for additional
|
||||
# information regarding copyright ownership.
|
||||
|
||||
rm -f ns?/zones.conf
|
||||
rm -f ns?/zone*.bk
|
||||
|
||||
rm -f ns1/delegations.db
|
||||
rm -f ns1/root.db
|
||||
|
||||
rm -f ns2/zone0*.db
|
||||
rm -f ns2/zone0*.jnl
|
||||
rm -f */named.memstats
|
||||
|
|
|
|||
|
|
@ -1,32 +0,0 @@
|
|||
/*
|
||||
* Copyright (C) Internet Systems Consortium, Inc. ("ISC")
|
||||
*
|
||||
* SPDX-License-Identifier: MPL-2.0
|
||||
*
|
||||
* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, you can obtain one at https://mozilla.org/MPL/2.0/.
|
||||
*
|
||||
* See the COPYRIGHT file distributed with this work for additional
|
||||
* information regarding copyright ownership.
|
||||
*/
|
||||
|
||||
controls { /* empty */ };
|
||||
|
||||
options {
|
||||
query-source address 10.53.0.1;
|
||||
notify-source 10.53.0.1;
|
||||
transfer-source 10.53.0.1;
|
||||
port @PORT@;
|
||||
pid-file "named.pid";
|
||||
listen-on { 10.53.0.1; };
|
||||
listen-on-v6 { none; };
|
||||
recursion no;
|
||||
dnssec-validation no;
|
||||
notify yes;
|
||||
};
|
||||
|
||||
zone "." {
|
||||
type primary;
|
||||
file "root.db";
|
||||
};
|
||||
|
|
@ -26,9 +26,32 @@ options {
|
|||
notify yes;
|
||||
};
|
||||
|
||||
zone "." {
|
||||
type hint;
|
||||
file "../../common/root.hint";
|
||||
zone "zone000000.example" {
|
||||
type primary;
|
||||
allow-update { any; };
|
||||
file "zone000000.example.db";
|
||||
};
|
||||
|
||||
include "zones.conf";
|
||||
zone "zone000001.example" {
|
||||
type primary;
|
||||
allow-update { any; };
|
||||
file "zone000001.example.db";
|
||||
};
|
||||
|
||||
zone "zone000002.example" {
|
||||
type primary;
|
||||
allow-update { any; };
|
||||
file "zone000002.example.db";
|
||||
};
|
||||
|
||||
zone "zone000003.example" {
|
||||
type primary;
|
||||
allow-update { any; };
|
||||
file "zone000003.example.db";
|
||||
};
|
||||
|
||||
zone "zone000004.example" {
|
||||
type primary;
|
||||
allow-update { any; };
|
||||
file "zone000004.example.db";
|
||||
};
|
||||
|
|
|
|||
21
bin/tests/system/stress/ns2/zone.template.db
Normal file
21
bin/tests/system/stress/ns2/zone.template.db
Normal file
|
|
@ -0,0 +1,21 @@
|
|||
; Copyright (C) Internet Systems Consortium, Inc. ("ISC")
|
||||
;
|
||||
; SPDX-License-Identifier: MPL-2.0
|
||||
;
|
||||
; This Source Code Form is subject to the terms of the Mozilla Public
|
||||
; License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
; file, you can obtain one at https://mozilla.org/MPL/2.0/.
|
||||
;
|
||||
; See the COPYRIGHT file distributed with this work for additional
|
||||
; information regarding copyright ownership.
|
||||
|
||||
$TTL 300
|
||||
@ IN SOA ns2 hostmaster 1 300 120 3600 86400
|
||||
@ NS ns2
|
||||
NS ns3
|
||||
NS ns4
|
||||
ns2 A 10.53.0.2
|
||||
ns3 A 10.53.0.3
|
||||
ns4 A 10.53.0.4
|
||||
|
||||
$GENERATE 0-999 name${0,6} A 10.0.0.1
|
||||
|
|
@ -35,16 +35,40 @@ controls {
|
|||
inet 10.53.0.3 port @CONTROLPORT@ allow { any; } keys { rndc_key; };
|
||||
};
|
||||
|
||||
zone "." {
|
||||
type hint;
|
||||
file "../../common/root.hint";
|
||||
};
|
||||
|
||||
server 10.53.0.4 {
|
||||
provide-ixfr no;
|
||||
};
|
||||
|
||||
server 10.53.0.2 {
|
||||
request-ixfr no;
|
||||
};
|
||||
|
||||
include "zones.conf";
|
||||
zone "zone000000.example" {
|
||||
type secondary;
|
||||
file "zone000000.example.bk";
|
||||
primaries { 10.53.0.2; };
|
||||
};
|
||||
|
||||
zone "zone000001.example" {
|
||||
type secondary;
|
||||
file "zone000001.example.bk";
|
||||
primaries { 10.53.0.2; };
|
||||
};
|
||||
|
||||
zone "zone000002.example" {
|
||||
type secondary;
|
||||
file "zone000002.example.bk";
|
||||
primaries { 10.53.0.2; };
|
||||
};
|
||||
|
||||
zone "zone000003.example" {
|
||||
type secondary;
|
||||
file "zone000003.example.bk";
|
||||
primaries { 10.53.0.2; };
|
||||
};
|
||||
|
||||
zone "zone000004.example" {
|
||||
type secondary;
|
||||
file "zone000004.example.bk";
|
||||
primaries { 10.53.0.2; };
|
||||
};
|
||||
|
|
|
|||
|
|
@ -26,10 +26,32 @@ options {
|
|||
notify yes;
|
||||
};
|
||||
|
||||
zone "." {
|
||||
type hint;
|
||||
file "../../common/root.hint";
|
||||
zone "zone000000.example" {
|
||||
type secondary;
|
||||
file "zone000000.example.bk";
|
||||
primaries { 10.53.0.3; };
|
||||
};
|
||||
|
||||
include "zones.conf";
|
||||
zone "zone000001.example" {
|
||||
type secondary;
|
||||
file "zone000001.example.bk";
|
||||
primaries { 10.53.0.3; };
|
||||
};
|
||||
|
||||
zone "zone000002.example" {
|
||||
type secondary;
|
||||
file "zone000002.example.bk";
|
||||
primaries { 10.53.0.3; };
|
||||
};
|
||||
|
||||
zone "zone000003.example" {
|
||||
type secondary;
|
||||
file "zone000003.example.bk";
|
||||
primaries { 10.53.0.3; };
|
||||
};
|
||||
|
||||
zone "zone000004.example" {
|
||||
type secondary;
|
||||
file "zone000004.example.bk";
|
||||
primaries { 10.53.0.3; };
|
||||
};
|
||||
|
|
|
|||
|
|
@ -1,86 +0,0 @@
|
|||
#!/usr/bin/perl
|
||||
|
||||
# Copyright (C) Internet Systems Consortium, Inc. ("ISC")
|
||||
#
|
||||
# SPDX-License-Identifier: MPL-2.0
|
||||
#
|
||||
# This Source Code Form is subject to the terms of the Mozilla Public
|
||||
# License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
# file, you can obtain one at https://mozilla.org/MPL/2.0/.
|
||||
#
|
||||
# See the COPYRIGHT file distributed with this work for additional
|
||||
# information regarding copyright ownership.
|
||||
|
||||
#
|
||||
# Set up test data for zone transfer quota tests.
|
||||
#
|
||||
use FileHandle;
|
||||
|
||||
my $n_zones = 5;
|
||||
my $n_names = 1000;
|
||||
|
||||
make_zones(2, undef);
|
||||
make_zones(3, "10.53.0.2");
|
||||
make_zones(4, "10.53.0.3");
|
||||
|
||||
my $rootdelegations =
|
||||
new FileHandle("ns1/root.db", "w") or die;
|
||||
|
||||
print $rootdelegations <<END;
|
||||
\$TTL 300
|
||||
. IN SOA gson.nominum.com. a.root.servers.nil. (
|
||||
2000042100 ; serial
|
||||
600 ; refresh
|
||||
600 ; retry
|
||||
1200 ; expire
|
||||
600 ; minimum
|
||||
)
|
||||
. NS a.root-servers.nil.
|
||||
a.root-servers.nil. A 10.53.0.1
|
||||
END
|
||||
|
||||
for ($z = 0; $z < $n_zones; $z++) {
|
||||
my $zn = sprintf("zone%06d.example", $z);
|
||||
foreach $ns (qw(2 3 4)) {
|
||||
print $rootdelegations "$zn. NS ns$ns.$zn.\n";
|
||||
print $rootdelegations "ns$ns.$zn. A 10.53.0.$ns\n";
|
||||
}
|
||||
}
|
||||
close $rootdelegations;
|
||||
|
||||
sub make_zones {
|
||||
my ($nsno, $secondaried_from) = @_;
|
||||
my $namedconf = new FileHandle("ns$nsno/zones.conf", "w") or die;
|
||||
for ($z = 0; $z < $n_zones; $z++) {
|
||||
my $zn = sprintf("zone%06d.example", $z);
|
||||
if (defined($secondaried_from)) {
|
||||
print $namedconf "zone \"$zn\" { type secondary; " .
|
||||
"file \"$zn.bk\"; primaries " .
|
||||
"{ $secondaried_from; }; };\n";
|
||||
} else {
|
||||
print $namedconf "zone \"$zn\" { " .
|
||||
"type primary; " .
|
||||
"allow-update { any; }; " .
|
||||
"file \"$zn.db\"; };\n";
|
||||
|
||||
my $fn = "ns$nsno/$zn.db";
|
||||
my $f = new FileHandle($fn, "w") or die "open: $fn: $!";
|
||||
print $f "\$TTL 300
|
||||
\@ IN SOA ns2.$zn. hostmaster 1 300 120 3600 86400
|
||||
@ NS ns2.$zn.
|
||||
ns2.$zn. A 10.53.0.2
|
||||
@ NS ns3.$zn.
|
||||
ns3.$zn. A 10.53.0.3
|
||||
@ NS ns4.$zn.
|
||||
ns4.$zn. A 10.53.0.4
|
||||
MX 10 mail1.isp.example.
|
||||
MX 20 mail2.isp.example.
|
||||
";
|
||||
for ($i = 0; $i < $n_names; $i++) {
|
||||
print $f sprintf("name%06d", $i) .
|
||||
" A 10.0.0.1\n";
|
||||
}
|
||||
$f->close;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -14,13 +14,12 @@
|
|||
# shellcheck source=conf.sh
|
||||
. ../conf.sh
|
||||
|
||||
#
|
||||
# Set up test data for zone transfer quota tests.
|
||||
#
|
||||
cp ns2/zone.template.db ns2/zone000000.example.db
|
||||
cp ns2/zone.template.db ns2/zone000001.example.db
|
||||
cp ns2/zone.template.db ns2/zone000002.example.db
|
||||
cp ns2/zone.template.db ns2/zone000003.example.db
|
||||
cp ns2/zone.template.db ns2/zone000004.example.db
|
||||
|
||||
$PERL setup.pl
|
||||
|
||||
copy_setports ns1/named.conf.in ns1/named.conf
|
||||
copy_setports ns2/named.conf.in ns2/named.conf
|
||||
copy_setports ns3/named.conf.in ns3/named.conf
|
||||
copy_setports ns4/named.conf.in ns4/named.conf
|
||||
|
|
|
|||
Loading…
Reference in a new issue