Compare commits
123
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
1896343049 | ||
|
|
42f8f17627 | ||
|
|
3da9909430 | ||
|
|
514ab2cc4f | ||
|
|
1dd265df8f | ||
|
|
092a159dcd | ||
|
|
13321a20ce | ||
|
|
875a637eeb | ||
|
|
bb60192f70 | ||
|
|
adf7cb4ba7 | ||
|
|
81d4230e60 | ||
|
|
ef41dc097b | ||
|
|
bccea5862d | ||
|
|
f34b179d12 | ||
|
|
ba52377b37 | ||
|
|
858082de51 | ||
|
|
c2c333e3f3 | ||
|
|
4e7cca965c | ||
|
|
2fa2dbd5fb | ||
|
|
2995024458 | ||
|
|
9347e7db7e | ||
|
|
ee5b77ccb0 | ||
|
|
4cd6be18d3 | ||
|
|
056f12eb34 | ||
|
|
494d1246eb | ||
|
|
f8b5958d28 | ||
|
|
78a4ed3132 | ||
|
|
dee2b3c7c8 | ||
|
|
b72dae7445 | ||
|
|
28be579424 | ||
|
|
04536dd32e | ||
|
|
9ab86d0da2 | ||
|
|
f16152acf4 | ||
|
|
78af7e54e6 | ||
|
|
a8faf4f7cb | ||
|
|
1efa88cf09 | ||
|
|
6008d77359 | ||
|
|
a4549f89bf | ||
|
|
c94124cd89 | ||
|
|
42386f3d9f | ||
|
|
c4fcafe072 | ||
|
|
5aa5ad5abc | ||
|
|
e1d42c5f87 | ||
|
|
1dbaaa0d7c | ||
|
|
0577dffe7c | ||
|
|
e3e787bc14 | ||
|
|
7b63138de2 | ||
|
|
24e07ae98e | ||
|
|
529262925e | ||
|
|
565f99f9e5 | ||
|
|
e43b3c1fa1 | ||
|
|
68c384e118 | ||
|
|
f619708bbf | ||
|
|
424a3cf3cc | ||
|
|
16e14353b1 | ||
|
|
4ea6bb7257 | ||
|
|
233f134a4f | ||
|
|
896db0f419 | ||
|
|
25f84ffc68 | ||
|
|
7500fb9319 | ||
|
|
4c12709da4 | ||
|
|
c8f2d55acf | ||
|
|
dbd03ce112 | ||
|
|
ee43457811 | ||
|
|
4897c87716 | ||
|
|
b4f3fafcff | ||
|
|
ee7bc2163f | ||
|
|
c5b63e14bc | ||
|
|
6b8a548732 | ||
|
|
605209402f | ||
|
|
042e509753 | ||
|
|
be6cc53ec2 | ||
|
|
402e16546d | ||
|
|
08401e38c1 | ||
|
|
23c7373d68 | ||
|
|
e3ee138098 | ||
|
|
3970e6e832 | ||
|
|
e273b95a8b | ||
|
|
19ce9ec1d4 | ||
|
|
e1ba1bea7c | ||
|
|
9e03f8e8fe | ||
|
|
9724b6f68d | ||
|
|
f0b5eb03bb | ||
|
|
37213cb994 | ||
|
|
b3215125ea | ||
|
|
01176a8e7a | ||
|
|
add6d07921 | ||
|
|
dfe4cbbcca | ||
|
|
b51d10608e | ||
|
|
5c56a0ddbc | ||
|
|
ac9de68750 | ||
|
|
1be15f5900 | ||
|
|
18f97b9af2 | ||
|
|
eff79ab20c | ||
|
|
374660fd37 | ||
|
|
27c8bc1750 | ||
|
|
c3e259a8c9 | ||
|
|
58f89dfff8 | ||
|
|
0975eeedd7 | ||
|
|
bf0229caad | ||
|
|
5cc856095b | ||
|
|
a47192ed5b | ||
|
|
cf76d839ae | ||
|
|
e8e7effc19 | ||
|
|
4280344d21 | ||
|
|
d35101e433 | ||
|
|
591b79b597 | ||
|
|
1cf65cd882 | ||
|
|
3704c4fff2 | ||
|
|
bcbc7e2b10 | ||
|
|
a8baf79e33 | ||
|
|
5d3a7aadb8 | ||
|
|
c6345fffe9 | ||
|
|
e195d4608a | ||
|
|
b733bd6555 | ||
|
|
d475f3aeed | ||
|
|
30b85fe4a8 | ||
|
|
abe2c84b1d | ||
|
|
0cf25d7f38 | ||
|
|
ee135d8946 | ||
|
|
51f08d2095 | ||
|
|
6d5fde62a3 | ||
|
|
4bc3de070f |
+44
-40
@@ -75,8 +75,8 @@ stages:
|
|||||||
|
|
||||||
# Alpine Linux
|
# Alpine Linux
|
||||||
|
|
||||||
.alpine-3.11-amd64: &alpine_3_11_amd64_image
|
.alpine-3.12-amd64: &alpine_3_12_amd64_image
|
||||||
image: "$CI_REGISTRY_IMAGE:alpine-3.11-amd64"
|
image: "$CI_REGISTRY_IMAGE:alpine-3.12-amd64"
|
||||||
<<: *linux_amd64
|
<<: *linux_amd64
|
||||||
|
|
||||||
# CentOS
|
# CentOS
|
||||||
@@ -123,8 +123,8 @@ stages:
|
|||||||
|
|
||||||
# Fedora
|
# Fedora
|
||||||
|
|
||||||
.fedora-31-amd64: &fedora_31_amd64_image
|
.fedora-32-amd64: &fedora_32_amd64_image
|
||||||
image: "$CI_REGISTRY_IMAGE:fedora-31-amd64"
|
image: "$CI_REGISTRY_IMAGE:fedora-32-amd64"
|
||||||
<<: *linux_amd64
|
<<: *linux_amd64
|
||||||
|
|
||||||
# Ubuntu
|
# Ubuntu
|
||||||
@@ -133,8 +133,8 @@ stages:
|
|||||||
image: "$CI_REGISTRY_IMAGE:ubuntu-xenial-amd64"
|
image: "$CI_REGISTRY_IMAGE:ubuntu-xenial-amd64"
|
||||||
<<: *linux_amd64
|
<<: *linux_amd64
|
||||||
|
|
||||||
.ubuntu-bionic-amd64: &ubuntu_bionic_amd64_image
|
.ubuntu-focal-amd64: &ubuntu_focal_amd64_image
|
||||||
image: "$CI_REGISTRY_IMAGE:ubuntu-bionic-amd64"
|
image: "$CI_REGISTRY_IMAGE:ubuntu-focal-amd64"
|
||||||
<<: *linux_amd64
|
<<: *linux_amd64
|
||||||
|
|
||||||
# Base image
|
# Base image
|
||||||
@@ -201,6 +201,7 @@ stages:
|
|||||||
- make -j${BUILD_PARALLEL_JOBS:-1} -k all V=1
|
- make -j${BUILD_PARALLEL_JOBS:-1} -k all V=1
|
||||||
- test -z "${RUN_MAKE_INSTALL}" || make install
|
- test -z "${RUN_MAKE_INSTALL}" || make install
|
||||||
- test -z "${RUN_MAKE_INSTALL}" || sh util/check-make-install
|
- test -z "${RUN_MAKE_INSTALL}" || sh util/check-make-install
|
||||||
|
- if test "$(git status --porcelain | grep -Ev '\?\?' | wc -l)" -gt "0"; then git status --short; exit 1; fi
|
||||||
needs:
|
needs:
|
||||||
- job: autoreconf
|
- job: autoreconf
|
||||||
artifacts: true
|
artifacts: true
|
||||||
@@ -507,28 +508,28 @@ push:docs:
|
|||||||
- main@isc-projects/bind9
|
- main@isc-projects/bind9
|
||||||
- /^v9_[1-9][0-9]$/@isc-projects/bind9
|
- /^v9_[1-9][0-9]$/@isc-projects/bind9
|
||||||
|
|
||||||
# Jobs for regular GCC builds on Alpine Linux 3.11 (amd64)
|
# Jobs for regular GCC builds on Alpine Linux 3.12 (amd64)
|
||||||
|
|
||||||
gcc:alpine3.11:amd64:
|
gcc:alpine3.12:amd64:
|
||||||
variables:
|
variables:
|
||||||
CC: gcc
|
CC: gcc
|
||||||
CFLAGS: "${CFLAGS_COMMON}"
|
CFLAGS: "${CFLAGS_COMMON}"
|
||||||
EXTRA_CONFIGURE: "--enable-dnstap"
|
EXTRA_CONFIGURE: "--enable-dnstap"
|
||||||
<<: *alpine_3_11_amd64_image
|
<<: *alpine_3_12_amd64_image
|
||||||
<<: *build_job
|
<<: *build_job
|
||||||
|
|
||||||
system:gcc:alpine3.11:amd64:
|
system:gcc:alpine3.12:amd64:
|
||||||
<<: *alpine_3_11_amd64_image
|
<<: *alpine_3_12_amd64_image
|
||||||
<<: *system_test_job
|
<<: *system_test_job
|
||||||
needs:
|
needs:
|
||||||
- job: gcc:alpine3.11:amd64
|
- job: gcc:alpine3.12:amd64
|
||||||
artifacts: true
|
artifacts: true
|
||||||
|
|
||||||
unit:gcc:alpine3.11:amd64:
|
unit:gcc:alpine3.12:amd64:
|
||||||
<<: *alpine_3_11_amd64_image
|
<<: *alpine_3_12_amd64_image
|
||||||
<<: *unit_test_job
|
<<: *unit_test_job
|
||||||
needs:
|
needs:
|
||||||
- job: gcc:alpine3.11:amd64
|
- job: gcc:alpine3.12:amd64
|
||||||
artifacts: true
|
artifacts: true
|
||||||
|
|
||||||
# Jobs for regular GCC builds on CentOS 6 (amd64)
|
# Jobs for regular GCC builds on CentOS 6 (amd64)
|
||||||
@@ -820,7 +821,7 @@ gcc:tumbleweed:amd64:
|
|||||||
variables:
|
variables:
|
||||||
CC: gcc
|
CC: gcc
|
||||||
CFLAGS: "${CFLAGS_COMMON}"
|
CFLAGS: "${CFLAGS_COMMON}"
|
||||||
EXTRA_CONFIGURE: "--with-libidn2 --with-python"
|
EXTRA_CONFIGURE: "--with-libidn2 --with-python --with-gssapi=/usr/lib/mit/bin/krb5-config"
|
||||||
<<: *tumbleweed_latest_amd64_image
|
<<: *tumbleweed_latest_amd64_image
|
||||||
<<: *build_job
|
<<: *build_job
|
||||||
|
|
||||||
@@ -862,28 +863,28 @@ unit:gcc:xenial:amd64:
|
|||||||
- job: gcc:xenial:amd64
|
- job: gcc:xenial:amd64
|
||||||
artifacts: true
|
artifacts: true
|
||||||
|
|
||||||
# Jobs for regular GCC builds on Ubuntu 18.04 Bionic Beaver (amd64)
|
# Jobs for regular GCC builds on Ubuntu 20.04 Focal Fossa (amd64)
|
||||||
|
|
||||||
gcc:bionic:amd64:
|
gcc:focal:amd64:
|
||||||
variables:
|
variables:
|
||||||
CC: gcc
|
CC: gcc
|
||||||
CFLAGS: "${CFLAGS_COMMON} -Og"
|
CFLAGS: "${CFLAGS_COMMON} -Og"
|
||||||
EXTRA_CONFIGURE: "--with-libidn2"
|
EXTRA_CONFIGURE: "--with-libidn2"
|
||||||
<<: *ubuntu_bionic_amd64_image
|
<<: *ubuntu_focal_amd64_image
|
||||||
<<: *build_job
|
<<: *build_job
|
||||||
|
|
||||||
system:gcc:bionic:amd64:
|
system:gcc:focal:amd64:
|
||||||
<<: *ubuntu_bionic_amd64_image
|
<<: *ubuntu_focal_amd64_image
|
||||||
<<: *system_test_job
|
<<: *system_test_job
|
||||||
needs:
|
needs:
|
||||||
- job: gcc:bionic:amd64
|
- job: gcc:focal:amd64
|
||||||
artifacts: true
|
artifacts: true
|
||||||
|
|
||||||
unit:gcc:bionic:amd64:
|
unit:gcc:focal:amd64:
|
||||||
<<: *ubuntu_bionic_amd64_image
|
<<: *ubuntu_focal_amd64_image
|
||||||
<<: *unit_test_job
|
<<: *unit_test_job
|
||||||
needs:
|
needs:
|
||||||
- job: gcc:bionic:amd64
|
- job: gcc:focal:amd64
|
||||||
artifacts: true
|
artifacts: true
|
||||||
|
|
||||||
# Jobs for ASAN builds on Debian 10 "buster" (amd64)
|
# Jobs for ASAN builds on Debian 10 "buster" (amd64)
|
||||||
@@ -1070,54 +1071,56 @@ unit:gcc:softhsm2.4:
|
|||||||
- job: gcc:softhsm2.4
|
- job: gcc:softhsm2.4
|
||||||
artifacts: true
|
artifacts: true
|
||||||
|
|
||||||
# Jobs for PKCS#11-enabled GCC builds on Fedora 31 (amd64)
|
# Jobs for PKCS#11-enabled GCC builds on Fedora 32 (amd64)
|
||||||
|
|
||||||
gcc:softhsm2.6:
|
gcc:softhsm2.6:
|
||||||
variables:
|
variables:
|
||||||
CC: gcc
|
CC: gcc
|
||||||
CFLAGS: "${CFLAGS_COMMON} -O1"
|
CFLAGS: "${CFLAGS_COMMON} -O1"
|
||||||
EXTRA_CONFIGURE: "--with-libidn2 --enable-native-pkcs11 --with-pkcs11=/usr/lib64/pkcs11/libsofthsm2.so"
|
EXTRA_CONFIGURE: "--with-libidn2 --enable-native-pkcs11 --with-pkcs11=/usr/lib64/pkcs11/libsofthsm2.so"
|
||||||
<<: *fedora_31_amd64_image
|
<<: *fedora_32_amd64_image
|
||||||
<<: *build_job
|
<<: *build_job
|
||||||
|
|
||||||
system:gcc:softhsm2.6:
|
system:gcc:softhsm2.6:
|
||||||
<<: *fedora_31_amd64_image
|
<<: *fedora_32_amd64_image
|
||||||
<<: *system_test_job
|
<<: *system_test_job
|
||||||
needs:
|
needs:
|
||||||
- job: gcc:softhsm2.6
|
- job: gcc:softhsm2.6
|
||||||
artifacts: true
|
artifacts: true
|
||||||
|
|
||||||
unit:gcc:softhsm2.6:
|
unit:gcc:softhsm2.6:
|
||||||
<<: *fedora_31_amd64_image
|
<<: *fedora_32_amd64_image
|
||||||
<<: *unit_test_job
|
<<: *unit_test_job
|
||||||
needs:
|
needs:
|
||||||
- job: gcc:softhsm2.6
|
- job: gcc:softhsm2.6
|
||||||
artifacts: true
|
artifacts: true
|
||||||
|
|
||||||
# Jobs for Clang builds on FreeBSD 11.3 (amd64)
|
# Jobs for Clang builds on FreeBSD 11.4 (amd64)
|
||||||
|
|
||||||
clang:freebsd11.3:amd64:
|
clang:freebsd11.4:amd64:
|
||||||
variables:
|
variables:
|
||||||
CFLAGS: "${CFLAGS_COMMON}"
|
CFLAGS: "${CFLAGS_COMMON}"
|
||||||
USER: gitlab-runner
|
USER: gitlab-runner
|
||||||
|
# Temporarily disable LMDB support [GL #1976]
|
||||||
|
EXTRA_CONFIGURE: "--without-lmdb"
|
||||||
<<: *freebsd_amd64
|
<<: *freebsd_amd64
|
||||||
<<: *build_job
|
<<: *build_job
|
||||||
|
|
||||||
system:clang:freebsd11.3:amd64:
|
system:clang:freebsd11.4:amd64:
|
||||||
<<: *freebsd_amd64
|
<<: *freebsd_amd64
|
||||||
<<: *system_test_job
|
<<: *system_test_job
|
||||||
variables:
|
variables:
|
||||||
USER: gitlab-runner
|
USER: gitlab-runner
|
||||||
TEST_PARALLEL_JOBS: 4
|
TEST_PARALLEL_JOBS: 4
|
||||||
needs:
|
needs:
|
||||||
- job: clang:freebsd11.3:amd64
|
- job: clang:freebsd11.4:amd64
|
||||||
artifacts: true
|
artifacts: true
|
||||||
|
|
||||||
unit:clang:freebsd11.3:amd64:
|
unit:clang:freebsd11.4:amd64:
|
||||||
<<: *freebsd_amd64
|
<<: *freebsd_amd64
|
||||||
<<: *unit_test_job
|
<<: *unit_test_job
|
||||||
needs:
|
needs:
|
||||||
- job: clang:freebsd11.3:amd64
|
- job: clang:freebsd11.4:amd64
|
||||||
artifacts: true
|
artifacts: true
|
||||||
|
|
||||||
# Jobs for Clang builds on FreeBSD 12.1 (amd64)
|
# Jobs for Clang builds on FreeBSD 12.1 (amd64)
|
||||||
@@ -1125,7 +1128,8 @@ unit:clang:freebsd11.3:amd64:
|
|||||||
clang:freebsd12.1:amd64:
|
clang:freebsd12.1:amd64:
|
||||||
variables:
|
variables:
|
||||||
CFLAGS: "${CFLAGS_COMMON}"
|
CFLAGS: "${CFLAGS_COMMON}"
|
||||||
EXTRA_CONFIGURE: "--enable-dnstap"
|
# Temporarily disable LMDB support [GL #1976]
|
||||||
|
EXTRA_CONFIGURE: "--enable-dnstap --without-lmdb"
|
||||||
USER: gitlab-runner
|
USER: gitlab-runner
|
||||||
<<: *freebsd_amd64
|
<<: *freebsd_amd64
|
||||||
<<: *build_job
|
<<: *build_job
|
||||||
@@ -1147,22 +1151,22 @@ unit:clang:freebsd12.1:amd64:
|
|||||||
- job: clang:freebsd12.1:amd64
|
- job: clang:freebsd12.1:amd64
|
||||||
artifacts: true
|
artifacts: true
|
||||||
|
|
||||||
# Jobs for Clang builds on OpenBSD 6.6 (amd64)
|
# Jobs for Clang builds on OpenBSD 6.7 (amd64)
|
||||||
|
|
||||||
clang:openbsd6.6:amd64:
|
clang:openbsd6.7:amd64:
|
||||||
variables:
|
variables:
|
||||||
CC: clang
|
CC: clang
|
||||||
USER: gitlab-runner
|
USER: gitlab-runner
|
||||||
<<: *openbsd_amd64
|
<<: *openbsd_amd64
|
||||||
<<: *build_job
|
<<: *build_job
|
||||||
|
|
||||||
system:clang:openbsd6.6:amd64:
|
system:clang:openbsd6.7:amd64:
|
||||||
<<: *openbsd_amd64
|
<<: *openbsd_amd64
|
||||||
<<: *system_test_job
|
<<: *system_test_job
|
||||||
variables:
|
variables:
|
||||||
USER: gitlab-runner
|
USER: gitlab-runner
|
||||||
needs:
|
needs:
|
||||||
- job: clang:openbsd6.6:amd64
|
- job: clang:openbsd6.7:amd64
|
||||||
artifacts: true
|
artifacts: true
|
||||||
only:
|
only:
|
||||||
- schedules
|
- schedules
|
||||||
|
|||||||
@@ -1,3 +1,62 @@
|
|||||||
|
5461. [bug] The header STALE attribute was not being updated with
|
||||||
|
the write lock being held leading to incorrect
|
||||||
|
statistics. Convert the header attributes to use atomic
|
||||||
|
operations. [GL #1475]
|
||||||
|
|
||||||
|
5460. [cleanup] tsig-keygen was previously an alias for
|
||||||
|
ddns-confgen and was documented in the ddns-confgen
|
||||||
|
man page. This has been reversed; tsig-keygen is
|
||||||
|
now the primary name. [GL #1998]
|
||||||
|
|
||||||
|
5459. [bug] Bad isc_mem_put() size when an invalid type was
|
||||||
|
specified in a update-policy rule. [GL #1990]
|
||||||
|
|
||||||
|
5458. [bug] Prevent a theoretically possible NULL dereference caused
|
||||||
|
by a data race between zone_maintenance() and
|
||||||
|
dns_zone_setview_helper(). [GL #1627]
|
||||||
|
|
||||||
|
5457. [placeholder]
|
||||||
|
|
||||||
|
5456. [func] Added "primaries" as a synonym for "masters" in
|
||||||
|
named.conf, and "primary-only" as a synonym for
|
||||||
|
"master-only" in the parameters to "notify",
|
||||||
|
in order to bring terminology up to date with
|
||||||
|
RFC 8499. [GL #1948]
|
||||||
|
|
||||||
|
5455. [bug] `named` could crash when cleaning dead nodes
|
||||||
|
in lib/dns/rbtdb.c that have been reused meanwhile.
|
||||||
|
[GL #1968]
|
||||||
|
|
||||||
|
5454. [bug] Address a startup crash happening when server is
|
||||||
|
under load and root zone is not yet loaded. [GL #1862]
|
||||||
|
|
||||||
|
5453. [bug] `named` would crash on shutdown when new `rndc`
|
||||||
|
connection is received at the same time as
|
||||||
|
shutting down. [GL #1747]
|
||||||
|
|
||||||
|
5452. [bug] The "blackhole" ACL was accidentally disabled with
|
||||||
|
respect to client queries. [GL #1936]
|
||||||
|
|
||||||
|
5451. [func] Add 'rndc dnssec -status' command. [GL #1612]
|
||||||
|
|
||||||
|
5450. [placeholder]
|
||||||
|
|
||||||
|
5449. [bug] Fix a socket shutdown race in netmgr udp. [GL #1938]
|
||||||
|
|
||||||
|
5448. [bug] Fix a race condition in isc__nm_tcpdns_send().
|
||||||
|
[GL #1937]
|
||||||
|
|
||||||
|
5447. [bug] IPv6 addresses ending in "::" could break YAML
|
||||||
|
parsing. A "0" is now appended to such addresses
|
||||||
|
in YAML output from dig, mdig, delv, and dnstap-read.
|
||||||
|
[GL #1952]
|
||||||
|
|
||||||
|
5446. [bug] The validator could fail to accept a properly signed
|
||||||
|
RRset if an unsupported algorithm appeared earlier in
|
||||||
|
the DNSKEY RRset than a supported algorithm. It could
|
||||||
|
also stop if it detected a malformed public key.
|
||||||
|
[GL #1689]
|
||||||
|
|
||||||
5445. [cleanup] Disable and disallow static linking. [GL #1933]
|
5445. [cleanup] Disable and disallow static linking. [GL #1933]
|
||||||
|
|
||||||
5444. [bug] 'rndc dnstap -roll <value>' was not limiting the
|
5444. [bug] 'rndc dnstap -roll <value>' was not limiting the
|
||||||
|
|||||||
+2
-2
@@ -6,8 +6,8 @@ on every aspect of the mission - including mentorship, teaching, and connecting
|
|||||||
people.
|
people.
|
||||||
|
|
||||||
Diversity is one of our huge strengths, but it can also lead to communication
|
Diversity is one of our huge strengths, but it can also lead to communication
|
||||||
issues and unhappiness. To that end, we have a few ground rules that we ask
|
issues and unhappiness. To that end, we have a few ground rules to which we expect
|
||||||
people to adhere to. This code applies equally to the core development team, open source contributors and those
|
people to adhere. This code applies equally to the core development team, open source contributors and those
|
||||||
seeking help and guidance.
|
seeking help and guidance.
|
||||||
|
|
||||||
This isn't an exhaustive list of things that you can't do. Rather, take it in
|
This isn't an exhaustive list of things that you can't do. Rather, take it in
|
||||||
|
|||||||
@@ -42,6 +42,16 @@ LIBDNS_CFLAGS = \
|
|||||||
LIBDNS_LIBS = \
|
LIBDNS_LIBS = \
|
||||||
$(top_builddir)/lib/dns/libdns.la
|
$(top_builddir)/lib/dns/libdns.la
|
||||||
|
|
||||||
|
if HAVE_DNSTAP
|
||||||
|
LIBDNS_CFLAGS += \
|
||||||
|
$(DNSTAP_CFLAGS)
|
||||||
|
endif HAVE_DNSTAP
|
||||||
|
|
||||||
|
if HAVE_LMDB
|
||||||
|
LIBDNS_CFLAGS += \
|
||||||
|
$(LMDB_CFLAGS)
|
||||||
|
endif HAVE_LMDB
|
||||||
|
|
||||||
LIBNS_CFLAGS = \
|
LIBNS_CFLAGS = \
|
||||||
-I$(top_srcdir)/lib/ns/include
|
-I$(top_srcdir)/lib/ns/include
|
||||||
|
|
||||||
|
|||||||
+6
-6
@@ -42,16 +42,16 @@ offer support on a "best effort" basis for some.
|
|||||||
|
|
||||||
### Regularly tested platforms
|
### Regularly tested platforms
|
||||||
|
|
||||||
As of Mar 2020, BIND 9.17 is fully supported and regularly tested on the
|
As of Jul 2020, BIND 9.17 is fully supported and regularly tested on the
|
||||||
following systems:
|
following systems:
|
||||||
|
|
||||||
* Debian 9, 10
|
* Debian 9, 10
|
||||||
* Ubuntu LTS 16.04, 18.04
|
* Ubuntu LTS 16.04, 20.04
|
||||||
* Fedora 31
|
* Fedora 32
|
||||||
* Red Hat Enterprise Linux / CentOS 7, 8
|
* Red Hat Enterprise Linux / CentOS 7, 8
|
||||||
* FreeBSD 11.3, 12.1
|
* FreeBSD 11.4, 12.1
|
||||||
* OpenBSD 6.6
|
* OpenBSD 6.7
|
||||||
* Alpine Linux
|
* Alpine Linux 3.12
|
||||||
|
|
||||||
The amd64, i386, armhf and arm64 CPU architectures are all fully supported.
|
The amd64, i386, armhf and arm64 CPU architectures are all fully supported.
|
||||||
|
|
||||||
|
|||||||
@@ -185,7 +185,7 @@ configure_zone(const char *vclass, const char *view, const cfg_obj_t *zconfig,
|
|||||||
const char *zname;
|
const char *zname;
|
||||||
const char *zfile = NULL;
|
const char *zfile = NULL;
|
||||||
const cfg_obj_t *maps[4];
|
const cfg_obj_t *maps[4];
|
||||||
const cfg_obj_t *mastersobj = NULL;
|
const cfg_obj_t *primariesobj = NULL;
|
||||||
const cfg_obj_t *inviewobj = NULL;
|
const cfg_obj_t *inviewobj = NULL;
|
||||||
const cfg_obj_t *zoptions = NULL;
|
const cfg_obj_t *zoptions = NULL;
|
||||||
const cfg_obj_t *classobj = NULL;
|
const cfg_obj_t *classobj = NULL;
|
||||||
@@ -279,8 +279,12 @@ configure_zone(const char *vclass, const char *view, const cfg_obj_t *zconfig,
|
|||||||
* Is the redirect zone configured as a slave?
|
* Is the redirect zone configured as a slave?
|
||||||
*/
|
*/
|
||||||
if (strcasecmp(cfg_obj_asstring(typeobj), "redirect") == 0) {
|
if (strcasecmp(cfg_obj_asstring(typeobj), "redirect") == 0) {
|
||||||
cfg_map_get(zoptions, "masters", &mastersobj);
|
cfg_map_get(zoptions, "primaries", &primariesobj);
|
||||||
if (mastersobj != NULL) {
|
if (primariesobj == NULL) {
|
||||||
|
cfg_map_get(zoptions, "masters", &primariesobj);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (primariesobj != NULL) {
|
||||||
return (ISC_R_SUCCESS);
|
return (ISC_R_SUCCESS);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -35,62 +35,62 @@ Description
|
|||||||
~~~~~~~~~~~
|
~~~~~~~~~~~
|
||||||
|
|
||||||
``named-checkconf`` checks the syntax, but not the semantics, of a
|
``named-checkconf`` checks the syntax, but not the semantics, of a
|
||||||
``named`` configuration file. The file is parsed and checked for syntax
|
``named`` configuration file. The file, along with all files included by it, is parsed and checked for syntax
|
||||||
errors, along with all files included by it. If no file is specified,
|
errors. If no file is specified,
|
||||||
``/etc/named.conf`` is read by default.
|
``/etc/named.conf`` is read by default.
|
||||||
|
|
||||||
Note: files that ``named`` reads in separate parser contexts, such as
|
Note: files that ``named`` reads in separate parser contexts, such as
|
||||||
``rndc.key`` and ``bind.keys``, are not automatically read by
|
``rndc.key`` and ``bind.keys``, are not automatically read by
|
||||||
``named-checkconf``. Configuration errors in these files may cause
|
``named-checkconf``. Configuration errors in these files may cause
|
||||||
``named`` to fail to run, even if ``named-checkconf`` was successful.
|
``named`` to fail to run, even if ``named-checkconf`` was successful.
|
||||||
``named-checkconf`` can be run on these files explicitly, however.
|
However, ``named-checkconf`` can be run on these files explicitly.
|
||||||
|
|
||||||
Options
|
Options
|
||||||
~~~~~~~
|
~~~~~~~
|
||||||
|
|
||||||
**-h**
|
``-h``
|
||||||
Print the usage summary and exit.
|
This option prints the usage summary and exits.
|
||||||
|
|
||||||
**-j**
|
``-j``
|
||||||
When loading a zonefile read the journal if it exists.
|
When loading a zonefile, this option instructs ``named`` to read the journal if it exists.
|
||||||
|
|
||||||
**-l**
|
``-l``
|
||||||
List all the configured zones. Each line of output contains the zone
|
This option lists all the configured zones. Each line of output contains the zone
|
||||||
name, class (e.g. IN), view, and type (e.g. master or slave).
|
name, class (e.g. IN), view, and type (e.g. primary or secondary).
|
||||||
|
|
||||||
**-c**
|
``-c``
|
||||||
Check "core" configuration only. This suppresses the loading of
|
This option specifies that only the "core" configuration should be checked. This suppresses the loading of
|
||||||
plugin modules, and causes all parameters to ``plugin`` statements to
|
plugin modules, and causes all parameters to ``plugin`` statements to
|
||||||
be ignored.
|
be ignored.
|
||||||
|
|
||||||
**-i**
|
``-i``
|
||||||
Ignore warnings on deprecated options.
|
This option ignores warnings on deprecated options.
|
||||||
|
|
||||||
**-p**
|
``-p``
|
||||||
Print out the ``named.conf`` and included files in canonical form if
|
This option prints out the ``named.conf`` and included files in canonical form if
|
||||||
no errors were detected. See also the ``-x`` option.
|
no errors were detected. See also the ``-x`` option.
|
||||||
|
|
||||||
**-t** directory
|
``-t directory``
|
||||||
Chroot to ``directory`` so that include directives in the
|
This option instructs ``named`` to chroot to ``directory``, so that ``include`` directives in the
|
||||||
configuration file are processed as if run by a similarly chrooted
|
configuration file are processed as if run by a similarly chrooted
|
||||||
``named``.
|
``named``.
|
||||||
|
|
||||||
**-v**
|
``-v``
|
||||||
Print the version of the ``named-checkconf`` program and exit.
|
This option prints the version of the ``named-checkconf`` program and exits.
|
||||||
|
|
||||||
**-x**
|
``-x``
|
||||||
When printing the configuration files in canonical form, obscure
|
When printing the configuration files in canonical form, this option obscures
|
||||||
shared secrets by replacing them with strings of question marks
|
shared secrets by replacing them with strings of question marks
|
||||||
('?'). This allows the contents of ``named.conf`` and related files
|
(``?``). This allows the contents of ``named.conf`` and related files
|
||||||
to be shared MDASH for example, when submitting bug reports MDASH
|
to be shared - for example, when submitting bug reports -
|
||||||
without compromising private data. This option cannot be used without
|
without compromising private data. This option cannot be used without
|
||||||
``-p``.
|
``-p``.
|
||||||
|
|
||||||
**-z**
|
``-z``
|
||||||
Perform a test load of all master zones found in ``named.conf``.
|
This option performs a test load of all zones of type ``primary`` found in ``named.conf``.
|
||||||
|
|
||||||
filename
|
``filename``
|
||||||
The name of the configuration file to be checked. If not specified,
|
This indicates the name of the configuration file to be checked. If not specified,
|
||||||
it defaults to ``/etc/named.conf``.
|
it defaults to ``/etc/named.conf``.
|
||||||
|
|
||||||
Return Values
|
Return Values
|
||||||
|
|||||||
+107
-106
@@ -43,163 +43,164 @@ configuring them into a name server.
|
|||||||
|
|
||||||
``named-compilezone`` is similar to ``named-checkzone``, but it always
|
``named-compilezone`` is similar to ``named-checkzone``, but it always
|
||||||
dumps the zone contents to a specified file in a specified format.
|
dumps the zone contents to a specified file in a specified format.
|
||||||
Additionally, it applies stricter check levels by default, since the
|
It also applies stricter check levels by default, since the
|
||||||
dump output will be used as an actual zone file loaded by ``named``.
|
dump output is used as an actual zone file loaded by ``named``.
|
||||||
When manually specified otherwise, the check levels must at least be as
|
When manually specified otherwise, the check levels must at least be as
|
||||||
strict as those specified in the ``named`` configuration file.
|
strict as those specified in the ``named`` configuration file.
|
||||||
|
|
||||||
Options
|
Options
|
||||||
~~~~~~~
|
~~~~~~~
|
||||||
|
|
||||||
**-d**
|
``-d``
|
||||||
Enable debugging.
|
This option enables debugging.
|
||||||
|
|
||||||
**-h**
|
``-h``
|
||||||
Print the usage summary and exit.
|
This option prints the usage summary and exits.
|
||||||
|
|
||||||
**-q**
|
``-q``
|
||||||
Quiet mode - exit code only.
|
This option sets quiet mode, which only sets an exit code to indicate
|
||||||
|
successful or failed completion.
|
||||||
|
|
||||||
**-v**
|
``-v``
|
||||||
Print the version of the ``named-checkzone`` program and exit.
|
This option prints the version of the ``named-checkzone`` program and exits.
|
||||||
|
|
||||||
**-j**
|
``-j``
|
||||||
When loading a zone file, read the journal if it exists. The journal
|
When loading a zone file, this option tells ``named`` to read the journal if it exists. The journal
|
||||||
file name is assumed to be the zone file name appended with the
|
file name is assumed to be the zone file name with the
|
||||||
string ``.jnl``.
|
string ``.jnl`` appended.
|
||||||
|
|
||||||
**-J** filename
|
``-J filename``
|
||||||
When loading the zone file read the journal from the given file, if
|
When loading the zone file, this option tells ``named`` to read the journal from the given file, if
|
||||||
it exists. (Implies -j.)
|
it exists. This implies ``-j``.
|
||||||
|
|
||||||
**-c** class
|
``-c class``
|
||||||
Specify the class of the zone. If not specified, "IN" is assumed.
|
This option specifies the class of the zone. If not specified, ``IN`` is assumed.
|
||||||
|
|
||||||
**-i** mode
|
``-i mode``
|
||||||
Perform post-load zone integrity checks. Possible modes are
|
This option performs post-load zone integrity checks. Possible modes are
|
||||||
``"full"`` (default), ``"full-sibling"``, ``"local"``,
|
``full`` (the default), ``full-sibling``, ``local``,
|
||||||
``"local-sibling"`` and ``"none"``.
|
``local-sibling``, and ``none``.
|
||||||
|
|
||||||
Mode ``"full"`` checks that MX records refer to A or AAAA record
|
Mode ``full`` checks that MX records refer to A or AAAA records
|
||||||
(both in-zone and out-of-zone hostnames). Mode ``"local"`` only
|
(both in-zone and out-of-zone hostnames). Mode ``local`` only
|
||||||
checks MX records which refer to in-zone hostnames.
|
checks MX records which refer to in-zone hostnames.
|
||||||
|
|
||||||
Mode ``"full"`` checks that SRV records refer to A or AAAA record
|
Mode ``full`` checks that SRV records refer to A or AAAA records
|
||||||
(both in-zone and out-of-zone hostnames). Mode ``"local"`` only
|
(both in-zone and out-of-zone hostnames). Mode ``local`` only
|
||||||
checks SRV records which refer to in-zone hostnames.
|
checks SRV records which refer to in-zone hostnames.
|
||||||
|
|
||||||
Mode ``"full"`` checks that delegation NS records refer to A or AAAA
|
Mode ``full`` checks that delegation NS records refer to A or AAAA
|
||||||
record (both in-zone and out-of-zone hostnames). It also checks that
|
records (both in-zone and out-of-zone hostnames). It also checks that
|
||||||
glue address records in the zone match those advertised by the child.
|
glue address records in the zone match those advertised by the child.
|
||||||
Mode ``"local"`` only checks NS records which refer to in-zone
|
Mode ``local`` only checks NS records which refer to in-zone
|
||||||
hostnames or that some required glue exists, that is when the
|
hostnames or verifies that some required glue exists, i.e., when the
|
||||||
nameserver is in a child zone.
|
name server is in a child zone.
|
||||||
|
|
||||||
Mode ``"full-sibling"`` and ``"local-sibling"`` disable sibling glue
|
Modes ``full-sibling`` and ``local-sibling`` disable sibling glue
|
||||||
checks but are otherwise the same as ``"full"`` and ``"local"``
|
checks, but are otherwise the same as ``full`` and ``local``,
|
||||||
respectively.
|
respectively.
|
||||||
|
|
||||||
Mode ``"none"`` disables the checks.
|
Mode ``none`` disables the checks.
|
||||||
|
|
||||||
**-f** format
|
``-f format``
|
||||||
Specify the format of the zone file. Possible formats are ``"text"``
|
This option specifies the format of the zone file. Possible formats are ``text``
|
||||||
(default), ``"raw"``, and ``"map"``.
|
(the default), ``raw``, and ``map``.
|
||||||
|
|
||||||
**-F** format
|
``-F format``
|
||||||
Specify the format of the output file specified. For
|
This option specifies the format of the output file specified. For
|
||||||
``named-checkzone``, this does not cause any effects unless it dumps
|
``named-checkzone``, this does not have any effect unless it dumps
|
||||||
the zone contents.
|
the zone contents.
|
||||||
|
|
||||||
Possible formats are ``"text"`` (default), which is the standard
|
Possible formats are ``text`` (the default), which is the standard
|
||||||
textual representation of the zone, and ``"map"``, ``"raw"``, and
|
textual representation of the zone, and ``map``, ``raw``, and
|
||||||
``"raw=N"``, which store the zone in a binary format for rapid
|
``raw=N``, which store the zone in a binary format for rapid
|
||||||
loading by ``named``. ``"raw=N"`` specifies the format version of the
|
loading by ``named``. ``raw=N`` specifies the format version of the
|
||||||
raw zone file: if N is 0, the raw file can be read by any version of
|
raw zone file: if ``N`` is 0, the raw file can be read by any version of
|
||||||
``named``; if N is 1, the file can be read by release 9.9.0 or
|
``named``; if N is 1, the file can only be read by release 9.9.0 or
|
||||||
higher; the default is 1.
|
higher. The default is 1.
|
||||||
|
|
||||||
**-k** mode
|
``-k mode``
|
||||||
Perform ``"check-names"`` checks with the specified failure mode.
|
This option performs ``check-names`` checks with the specified failure mode.
|
||||||
Possible modes are ``"fail"`` (default for ``named-compilezone``),
|
Possible modes are ``fail`` (the default for ``named-compilezone``),
|
||||||
``"warn"`` (default for ``named-checkzone``) and ``"ignore"``.
|
``warn`` (the default for ``named-checkzone``), and ``ignore``.
|
||||||
|
|
||||||
**-l** ttl
|
``-l ttl``
|
||||||
Sets a maximum permissible TTL for the input file. Any record with a
|
This option sets a maximum permissible TTL for the input file. Any record with a
|
||||||
TTL higher than this value will cause the zone to be rejected. This
|
TTL higher than this value causes the zone to be rejected. This
|
||||||
is similar to using the ``max-zone-ttl`` option in ``named.conf``.
|
is similar to using the ``max-zone-ttl`` option in ``named.conf``.
|
||||||
|
|
||||||
**-L** serial
|
``-L serial``
|
||||||
When compiling a zone to "raw" or "map" format, set the "source
|
When compiling a zone to ``raw`` or ``map`` format, this option sets the "source
|
||||||
serial" value in the header to the specified serial number. (This is
|
serial" value in the header to the specified serial number. This is
|
||||||
expected to be used primarily for testing purposes.)
|
expected to be used primarily for testing purposes.
|
||||||
|
|
||||||
**-m** mode
|
``-m mode``
|
||||||
Specify whether MX records should be checked to see if they are
|
This option specifies whether MX records should be checked to see if they are
|
||||||
addresses. Possible modes are ``"fail"``, ``"warn"`` (default) and
|
addresses. Possible modes are ``fail``, ``warn`` (the default), and
|
||||||
``"ignore"``.
|
``ignore``.
|
||||||
|
|
||||||
**-M** mode
|
``-M mode``
|
||||||
Check if a MX record refers to a CNAME. Possible modes are
|
This option checks whether a MX record refers to a CNAME. Possible modes are
|
||||||
``"fail"``, ``"warn"`` (default) and ``"ignore"``.
|
``fail``, ``warn`` (the default), and ``ignore``.
|
||||||
|
|
||||||
**-n** mode
|
``-n mode``
|
||||||
Specify whether NS records should be checked to see if they are
|
This option specifies whether NS records should be checked to see if they are
|
||||||
addresses. Possible modes are ``"fail"`` (default for
|
addresses. Possible modes are ``fail`` (the default for
|
||||||
``named-compilezone``), ``"warn"`` (default for ``named-checkzone``)
|
``named-compilezone``), ``warn`` (the default for ``named-checkzone``),
|
||||||
and ``"ignore"``.
|
and ``ignore``.
|
||||||
|
|
||||||
**-o** filename
|
``-o filename``
|
||||||
Write zone output to ``filename``. If ``filename`` is ``-`` then
|
This option writes the zone output to ``filename``. If ``filename`` is ``-``, then
|
||||||
write to standard out. This is mandatory for ``named-compilezone``.
|
the zone output is written to standard output. This is mandatory for ``named-compilezone``.
|
||||||
|
|
||||||
**-r** mode
|
``-r mode``
|
||||||
Check for records that are treated as different by DNSSEC but are
|
This option checks for records that are treated as different by DNSSEC but are
|
||||||
semantically equal in plain DNS. Possible modes are ``"fail"``,
|
semantically equal in plain DNS. Possible modes are ``fail``,
|
||||||
``"warn"`` (default) and ``"ignore"``.
|
``warn`` (the default), and ``ignore``.
|
||||||
|
|
||||||
**-s** style
|
``-s style``
|
||||||
Specify the style of the dumped zone file. Possible styles are
|
This option specifies the style of the dumped zone file. Possible styles are
|
||||||
``"full"`` (default) and ``"relative"``. The full format is most
|
``full`` (the default) and ``relative``. The ``full`` format is most
|
||||||
suitable for processing automatically by a separate script. On the
|
suitable for processing automatically by a separate script.
|
||||||
other hand, the relative format is more human-readable and is thus
|
The relative format is more human-readable and is thus
|
||||||
suitable for editing by hand. For ``named-checkzone`` this does not
|
suitable for editing by hand. For ``named-checkzone``, this does not
|
||||||
cause any effects unless it dumps the zone contents. It also does not
|
have any effect unless it dumps the zone contents. It also does not
|
||||||
have any meaning if the output format is not text.
|
have any meaning if the output format is not text.
|
||||||
|
|
||||||
**-S** mode
|
``-S mode``
|
||||||
Check if a SRV record refers to a CNAME. Possible modes are
|
This option checks whether an SRV record refers to a CNAME. Possible modes are
|
||||||
``"fail"``, ``"warn"`` (default) and ``"ignore"``.
|
``fail``, ``warn`` (the default), and ``ignore``.
|
||||||
|
|
||||||
**-t** directory
|
``-t directory``
|
||||||
Chroot to ``directory`` so that include directives in the
|
This option tells ``named`` to chroot to ``directory``, so that ``include`` directives in the
|
||||||
configuration file are processed as if run by a similarly chrooted
|
configuration file are processed as if run by a similarly chrooted
|
||||||
``named``.
|
``named``.
|
||||||
|
|
||||||
**-T** mode
|
``-T mode``
|
||||||
Check if Sender Policy Framework (SPF) records exist and issues a
|
This option checks whether Sender Policy Framework (SPF) records exist and issues a
|
||||||
warning if an SPF-formatted TXT record is not also present. Possible
|
warning if an SPF-formatted TXT record is not also present. Possible
|
||||||
modes are ``"warn"`` (default), ``"ignore"``.
|
modes are ``warn`` (the default) and ``ignore``.
|
||||||
|
|
||||||
**-w** directory
|
``-w directory``
|
||||||
chdir to ``directory`` so that relative filenames in master file
|
This option instructs ``named`` to chdir to ``directory``, so that relative filenames in master file
|
||||||
$INCLUDE directives work. This is similar to the directory clause in
|
``$INCLUDE`` directives work. This is similar to the directory clause in
|
||||||
``named.conf``.
|
``named.conf``.
|
||||||
|
|
||||||
**-D**
|
``-D``
|
||||||
Dump zone file in canonical format. This is always enabled for
|
This option dumps the zone file in canonical format. This is always enabled for
|
||||||
``named-compilezone``.
|
``named-compilezone``.
|
||||||
|
|
||||||
**-W** mode
|
``-W mode``
|
||||||
Specify whether to check for non-terminal wildcards. Non-terminal
|
This option specifies whether to check for non-terminal wildcards. Non-terminal
|
||||||
wildcards are almost always the result of a failure to understand the
|
wildcards are almost always the result of a failure to understand the
|
||||||
wildcard matching algorithm (:rfc:`1034`). Possible modes are ``"warn"``
|
wildcard matching algorithm (:rfc:`1034`). Possible modes are ``warn``
|
||||||
(default) and ``"ignore"``.
|
(the default) and ``ignore``.
|
||||||
|
|
||||||
zonename
|
``zonename``
|
||||||
The domain name of the zone being checked.
|
This indicates the domain name of the zone being checked.
|
||||||
|
|
||||||
filename
|
``filename``
|
||||||
The name of the zone file.
|
This is the name of the zone file.
|
||||||
|
|
||||||
Return Values
|
Return Values
|
||||||
~~~~~~~~~~~~~
|
~~~~~~~~~~~~~
|
||||||
|
|||||||
@@ -20,11 +20,11 @@ libconfgen_la_SOURCES = \
|
|||||||
util.c \
|
util.c \
|
||||||
unix/os.c
|
unix/os.c
|
||||||
|
|
||||||
sbin_PROGRAMS = ddns-confgen rndc-confgen
|
sbin_PROGRAMS = tsig-keygen rndc-confgen
|
||||||
|
|
||||||
install-exec-hook:
|
install-exec-hook:
|
||||||
ln -f $(DESTDIR)$(sbindir)/ddns-confgen \
|
ln -f $(DESTDIR)$(sbindir)/tsig-keygen \
|
||||||
$(DESTDIR)$(sbindir)/tsig-confgen
|
$(DESTDIR)$(sbindir)/ddns-confgen
|
||||||
|
|
||||||
uninstall-hook:
|
uninstall-hook:
|
||||||
-rm -f $(DESTDIR)$(sbindir)/tsig-confgen
|
-rm -f $(DESTDIR)$(sbindir)/ddns-confgen
|
||||||
|
|||||||
@@ -41,79 +41,75 @@ by hand. Alternatively, it can be run with the ``-a`` option to set up a
|
|||||||
``rndc.key`` file and avoid the need for a ``rndc.conf`` file and a
|
``rndc.key`` file and avoid the need for a ``rndc.conf`` file and a
|
||||||
``controls`` statement altogether.
|
``controls`` statement altogether.
|
||||||
|
|
||||||
Arguments
|
Options
|
||||||
~~~~~~~~~
|
~~~~~~~
|
||||||
|
|
||||||
**-a**
|
``-a``
|
||||||
Do automatic ``rndc`` configuration. This creates a file ``rndc.key``
|
This option sets automatic ``rndc`` configuration, which creates a file ``rndc.key``
|
||||||
in ``/etc`` (or whatever ``sysconfdir`` was specified as when BIND
|
in ``/etc`` (or a different ``sysconfdir`` specified when BIND
|
||||||
was built) that is read by both ``rndc`` and ``named`` on startup.
|
was built) that is read by both ``rndc`` and ``named`` on startup.
|
||||||
The ``rndc.key`` file defines a default command channel and
|
The ``rndc.key`` file defines a default command channel and
|
||||||
authentication key allowing ``rndc`` to communicate with ``named`` on
|
authentication key allowing ``rndc`` to communicate with ``named`` on
|
||||||
the local host with no further configuration.
|
the local host with no further configuration.
|
||||||
|
|
||||||
Running ``rndc-confgen -a`` allows BIND 9 and ``rndc`` to be used as
|
|
||||||
drop-in replacements for BIND 8 and ``ndc``, with no changes to the
|
|
||||||
existing BIND 8 ``named.conf`` file.
|
|
||||||
|
|
||||||
If a more elaborate configuration than that generated by
|
If a more elaborate configuration than that generated by
|
||||||
``rndc-confgen -a`` is required, for example if rndc is to be used
|
``rndc-confgen -a`` is required, for example if rndc is to be used
|
||||||
remotely, you should run ``rndc-confgen`` without the ``-a`` option
|
remotely, run ``rndc-confgen`` without the ``-a`` option
|
||||||
and set up a ``rndc.conf`` and ``named.conf`` as directed.
|
and set up ``rndc.conf`` and ``named.conf`` as directed.
|
||||||
|
|
||||||
**-A** algorithm
|
``-A algorithm``
|
||||||
Specifies the algorithm to use for the TSIG key. Available choices
|
This option specifies the algorithm to use for the TSIG key. Available choices
|
||||||
are: hmac-md5, hmac-sha1, hmac-sha224, hmac-sha256, hmac-sha384 and
|
are: hmac-md5, hmac-sha1, hmac-sha224, hmac-sha256, hmac-sha384, and
|
||||||
hmac-sha512. The default is hmac-sha256.
|
hmac-sha512. The default is hmac-sha256.
|
||||||
|
|
||||||
**-b** keysize
|
``-b keysize``
|
||||||
Specifies the size of the authentication key in bits. Must be between
|
This option specifies the size of the authentication key in bits. The size must be between
|
||||||
1 and 512 bits; the default is the hash size.
|
1 and 512 bits; the default is the hash size.
|
||||||
|
|
||||||
**-c** keyfile
|
``-c keyfile``
|
||||||
Used with the ``-a`` option to specify an alternate location for
|
This option is used with the ``-a`` option to specify an alternate location for
|
||||||
``rndc.key``.
|
``rndc.key``.
|
||||||
|
|
||||||
**-h**
|
``-h``
|
||||||
Prints a short summary of the options and arguments to
|
This option prints a short summary of the options and arguments to
|
||||||
``rndc-confgen``.
|
``rndc-confgen``.
|
||||||
|
|
||||||
**-k** keyname
|
``-k keyname``
|
||||||
Specifies the key name of the rndc authentication key. This must be a
|
This option specifies the key name of the ``rndc`` authentication key. This must be a
|
||||||
valid domain name. The default is ``rndc-key``.
|
valid domain name. The default is ``rndc-key``.
|
||||||
|
|
||||||
**-p** port
|
``-p port``
|
||||||
Specifies the command channel port where ``named`` listens for
|
This option specifies the command channel port where ``named`` listens for
|
||||||
connections from ``rndc``. The default is 953.
|
connections from ``rndc``. The default is 953.
|
||||||
|
|
||||||
**-q**
|
``-q``
|
||||||
Omits printing written path in automatic configuration mode.
|
This option prevets printing the written path in automatic configuration mode.
|
||||||
|
|
||||||
**-s** address
|
``-s address``
|
||||||
Specifies the IP address where ``named`` listens for command channel
|
This option specifies the IP address where ``named`` listens for command-channel
|
||||||
connections from ``rndc``. The default is the loopback address
|
connections from ``rndc``. The default is the loopback address
|
||||||
127.0.0.1.
|
127.0.0.1.
|
||||||
|
|
||||||
**-t** chrootdir
|
``-t chrootdir``
|
||||||
Used with the ``-a`` option to specify a directory where ``named``
|
This option is used with the ``-a`` option to specify a directory where ``named``
|
||||||
will run chrooted. An additional copy of the ``rndc.key`` will be
|
runs chrooted. An additional copy of the ``rndc.key`` is
|
||||||
written relative to this directory so that it will be found by the
|
written relative to this directory, so that it is found by the
|
||||||
chrooted ``named``.
|
chrooted ``named``.
|
||||||
|
|
||||||
**-u** user
|
``-u user``
|
||||||
Used with the ``-a`` option to set the owner of the ``rndc.key`` file
|
This option is used with the ``-a`` option to set the owner of the generated ``rndc.key`` file.
|
||||||
generated. If ``-t`` is also specified only the file in the chroot
|
If ``-t`` is also specified, only the file in the chroot
|
||||||
area has its owner changed.
|
area has its owner changed.
|
||||||
|
|
||||||
Examples
|
Examples
|
||||||
~~~~~~~~
|
~~~~~~~~
|
||||||
|
|
||||||
To allow ``rndc`` to be used with no manual configuration, run
|
To allow ``rndc`` to be used with no manual configuration, run:
|
||||||
|
|
||||||
``rndc-confgen -a``
|
``rndc-confgen -a``
|
||||||
|
|
||||||
To print a sample ``rndc.conf`` file and corresponding ``controls`` and
|
To print a sample ``rndc.conf`` file and the corresponding ``controls`` and
|
||||||
``key`` statements to be manually inserted into ``named.conf``, run
|
``key`` statements to be manually inserted into ``named.conf``, run:
|
||||||
|
|
||||||
``rndc-confgen``
|
``rndc-confgen``
|
||||||
|
|
||||||
|
|||||||
@@ -12,9 +12,8 @@
|
|||||||
/*! \file */
|
/*! \file */
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* ddns-confgen generates configuration files for dynamic DNS. It can
|
* tsig-keygen generates TSIG keys that can be used in named configuration
|
||||||
* be used as a convenient alternative to writing the ddns.key file
|
* files for dynamic DNS.
|
||||||
* and the corresponding key and update-policy statements in named.conf.
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <stdarg.h>
|
#include <stdarg.h>
|
||||||
@@ -21,10 +21,10 @@
|
|||||||
|
|
||||||
.. highlight: console
|
.. highlight: console
|
||||||
|
|
||||||
.. _man_ddns-confgen:
|
.. _man_tsig-keygen:
|
||||||
|
|
||||||
ddns-confgen - ddns key generation tool
|
tsig-keygen, ddns-confgen - TSIG key generation tool
|
||||||
---------------------------------------
|
----------------------------------------------------
|
||||||
|
|
||||||
Synopsis
|
Synopsis
|
||||||
~~~~~~~~
|
~~~~~~~~
|
||||||
@@ -37,21 +37,22 @@ Description
|
|||||||
|
|
||||||
``tsig-keygen`` and ``ddns-confgen`` are invocation methods for a
|
``tsig-keygen`` and ``ddns-confgen`` are invocation methods for a
|
||||||
utility that generates keys for use in TSIG signing. The resulting keys
|
utility that generates keys for use in TSIG signing. The resulting keys
|
||||||
can be used, for example, to secure dynamic DNS updates to a zone or for
|
can be used, for example, to secure dynamic DNS updates to a zone, or for
|
||||||
the ``rndc`` command channel.
|
the ``rndc`` command channel.
|
||||||
|
|
||||||
When run as ``tsig-keygen``, a domain name can be specified on the
|
When run as ``tsig-keygen``, a domain name can be specified on the
|
||||||
command line which will be used as the name of the generated key. If no
|
command line to be used as the name of the generated key. If no
|
||||||
name is specified, the default is ``tsig-key``.
|
name is specified, the default is ``tsig-key``.
|
||||||
|
|
||||||
When run as ``ddns-confgen``, the generated key is accompanied by
|
When run as ``ddns-confgen``, the key name can specified using ``-k``
|
||||||
configuration text and instructions that can be used with ``nsupdate``
|
parameter and defaults to ``ddns-key``. The generated key is accompanied
|
||||||
|
by configuration text and instructions that can be used with ``nsupdate``
|
||||||
and ``named`` when setting up dynamic DNS, including an example
|
and ``named`` when setting up dynamic DNS, including an example
|
||||||
``update-policy`` statement. (This usage similar to the ``rndc-confgen``
|
``update-policy`` statement. (This usage is similar to the ``rndc-confgen``
|
||||||
command for setting up command channel security.)
|
command for setting up command-channel security.)
|
||||||
|
|
||||||
Note that ``named`` itself can configure a local DDNS key for use with
|
Note that ``named`` itself can configure a local DDNS key for use with
|
||||||
``nsupdate -l``: it does this when a zone is configured with
|
``nsupdate -l``; it does this when a zone is configured with
|
||||||
``update-policy local;``. ``ddns-confgen`` is only needed when a more
|
``update-policy local;``. ``ddns-confgen`` is only needed when a more
|
||||||
elaborate configuration is required: for instance, if ``nsupdate`` is to
|
elaborate configuration is required: for instance, if ``nsupdate`` is to
|
||||||
be used from a remote system.
|
be used from a remote system.
|
||||||
@@ -59,40 +60,39 @@ be used from a remote system.
|
|||||||
Options
|
Options
|
||||||
~~~~~~~
|
~~~~~~~
|
||||||
|
|
||||||
**-a** algorithm
|
``-a algorithm``
|
||||||
Specifies the algorithm to use for the TSIG key. Available choices
|
This option specifies the algorithm to use for the TSIG key. Available
|
||||||
are: hmac-md5, hmac-sha1, hmac-sha224, hmac-sha256, hmac-sha384 and
|
choices are: hmac-md5, hmac-sha1, hmac-sha224, hmac-sha256, hmac-sha384,
|
||||||
hmac-sha512. The default is hmac-sha256. Options are
|
and hmac-sha512. The default is hmac-sha256. Options are
|
||||||
case-insensitive, and the "hmac-" prefix may be omitted.
|
case-insensitive, and the "hmac-" prefix may be omitted.
|
||||||
|
|
||||||
**-h**
|
``-h``
|
||||||
Prints a short summary of options and arguments.
|
This option prints a short summary of options and arguments.
|
||||||
|
|
||||||
**-k** keyname
|
``-k keyname``
|
||||||
Specifies the key name of the DDNS authentication key. The default is
|
This option specifies the key name of the DDNS authentication key. The
|
||||||
``ddns-key`` when neither the ``-s`` nor ``-z`` option is specified;
|
default is ``ddns-key`` when neither the ``-s`` nor ``-z`` option is
|
||||||
otherwise, the default is ``ddns-key`` as a separate label followed
|
specified; otherwise, the default is ``ddns-key`` as a separate label
|
||||||
by the argument of the option, e.g., ``ddns-key.example.com.`` The
|
followed by the argument of the option, e.g., ``ddns-key.example.com.``
|
||||||
key name must have the format of a valid domain name, consisting of
|
The key name must have the format of a valid domain name, consisting of
|
||||||
letters, digits, hyphens and periods.
|
letters, digits, hyphens, and periods.
|
||||||
|
|
||||||
**-q**
|
``-q`` (``ddns-confgen`` only)
|
||||||
(``ddns-confgen`` only.) Quiet mode: Print only the key, with no
|
This option enables quiet mode, which prints only the key, with no
|
||||||
explanatory text or usage examples; This is essentially identical to
|
explanatory text or usage examples. This is essentially identical to
|
||||||
``tsig-keygen``.
|
``tsig-keygen``.
|
||||||
|
|
||||||
**-s** name
|
``-s name`` (``ddns-confgen`` only)
|
||||||
(``ddns-confgen`` only.) Generate configuration example to allow
|
This option generates a configuration example to allow dynamic updates
|
||||||
dynamic updates of a single hostname. The example ``named.conf`` text
|
of a single hostname. The example ``named.conf`` text shows how to set
|
||||||
shows how to set an update policy for the specified name using the
|
an update policy for the specified name using the "name" nametype. The
|
||||||
"name" nametype. The default key name is ddns-key.name. Note that the
|
default key name is ``ddns-key.name``. Note that the "self" nametype
|
||||||
"self" nametype cannot be used, since the name to be updated may
|
cannot be used, since the name to be updated may differ from the key
|
||||||
differ from the key name. This option cannot be used with the ``-z``
|
name. This option cannot be used with the ``-z`` option.
|
||||||
option.
|
|
||||||
|
|
||||||
**-z** zone
|
``-z zone`` (``ddns-confgen`` only)
|
||||||
(``ddns-confgen`` only.) Generate configuration example to allow
|
This option generates a configuration example to allow
|
||||||
dynamic updates of a zone: The example ``named.conf`` text shows how
|
dynamic updates of a zone. The example ``named.conf`` text shows how
|
||||||
to set an update policy for the specified zone using the "zonesub"
|
to set an update policy for the specified zone using the "zonesub"
|
||||||
nametype, allowing updates to all subdomain names within that zone.
|
nametype, allowing updates to all subdomain names within that zone.
|
||||||
This option cannot be used with the ``-s`` option.
|
This option cannot be used with the ``-s`` option.
|
||||||
+2
-2
@@ -11,8 +11,8 @@
|
|||||||
</Filter>
|
</Filter>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ClCompile Include="..\ddns-confgen.c">
|
<ClCompile Include="..\tsig-keygen.c">
|
||||||
<Filter>Source Files</Filter>
|
<Filter>Source Files</Filter>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
</Project>
|
</Project>
|
||||||
@@ -13,7 +13,7 @@
|
|||||||
<PropertyGroup Label="Globals">
|
<PropertyGroup Label="Globals">
|
||||||
<ProjectGuid>{1EA4FC64-F33B-4A50-970A-EA052BBE9CF1}</ProjectGuid>
|
<ProjectGuid>{1EA4FC64-F33B-4A50-970A-EA052BBE9CF1}</ProjectGuid>
|
||||||
<Keyword>Win32Proj</Keyword>
|
<Keyword>Win32Proj</Keyword>
|
||||||
<RootNamespace>ddnsconfgen</RootNamespace>
|
<RootNamespace>tsigkeygen</RootNamespace>
|
||||||
@WINDOWS_TARGET_PLATFORM_VERSION@
|
@WINDOWS_TARGET_PLATFORM_VERSION@
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||||
@@ -45,14 +45,14 @@
|
|||||||
<OutDir>..\..\..\Build\$(Configuration)\</OutDir>
|
<OutDir>..\..\..\Build\$(Configuration)\</OutDir>
|
||||||
<IntDir>.\$(Configuration)\</IntDir>
|
<IntDir>.\$(Configuration)\</IntDir>
|
||||||
<IntDirSharingDetected>None</IntDirSharingDetected>
|
<IntDirSharingDetected>None</IntDirSharingDetected>
|
||||||
<TargetName>ddns-confgen</TargetName>
|
<TargetName>tsig-keygen</TargetName>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|@PLATFORM@'">
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|@PLATFORM@'">
|
||||||
<LinkIncremental>false</LinkIncremental>
|
<LinkIncremental>false</LinkIncremental>
|
||||||
<OutDir>..\..\..\Build\$(Configuration)\</OutDir>
|
<OutDir>..\..\..\Build\$(Configuration)\</OutDir>
|
||||||
<IntDir>.\$(Configuration)\</IntDir>
|
<IntDir>.\$(Configuration)\</IntDir>
|
||||||
<IntDirSharingDetected>None</IntDirSharingDetected>
|
<IntDirSharingDetected>None</IntDirSharingDetected>
|
||||||
<TargetName>ddns-confgen</TargetName>
|
<TargetName>tsig-keygen</TargetName>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|@PLATFORM@'">
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|@PLATFORM@'">
|
||||||
<ClCompile>
|
<ClCompile>
|
||||||
@@ -81,8 +81,8 @@
|
|||||||
</Link>
|
</Link>
|
||||||
<PostBuildEvent>
|
<PostBuildEvent>
|
||||||
<Command>cd ..\..\..\Build\$(Configuration)
|
<Command>cd ..\..\..\Build\$(Configuration)
|
||||||
copy /Y ddns-confgen.exe tsig-keygen.exe
|
copy /Y tsig-keygen.exe ddns-confgen.exe
|
||||||
copy /Y ddns-confgen.ilk tsig-keygen.ilk
|
copy /Y tsig-keygen.ilk ddns-confgen.ilk
|
||||||
</Command>
|
</Command>
|
||||||
</PostBuildEvent>
|
</PostBuildEvent>
|
||||||
</ItemDefinitionGroup>
|
</ItemDefinitionGroup>
|
||||||
@@ -119,12 +119,12 @@ copy /Y ddns-confgen.ilk tsig-keygen.ilk
|
|||||||
</Link>
|
</Link>
|
||||||
<PostBuildEvent>
|
<PostBuildEvent>
|
||||||
<Command>cd ..\..\..\Build\$(Configuration)
|
<Command>cd ..\..\..\Build\$(Configuration)
|
||||||
copy /Y ddns-confgen.exe tsig-keygen.exe
|
copy /Y tsig-keygen.exe ddns-confgen.exe
|
||||||
</Command>
|
</Command>
|
||||||
</PostBuildEvent>
|
</PostBuildEvent>
|
||||||
</ItemDefinitionGroup>
|
</ItemDefinitionGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ClCompile Include="..\ddns-confgen.c" />
|
<ClCompile Include="..\tsig-keygen.c" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ProjectReference Include="..\..\..\lib\isc\win32\libisc.vcxproj">
|
<ProjectReference Include="..\..\..\lib\isc\win32\libisc.vcxproj">
|
||||||
+1
-1
@@ -1,3 +1,3 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||||
</Project>
|
</Project>
|
||||||
+89
-89
@@ -43,15 +43,15 @@ Description
|
|||||||
``delv`` is a tool for sending DNS queries and validating the results,
|
``delv`` is a tool for sending DNS queries and validating the results,
|
||||||
using the same internal resolver and validator logic as ``named``.
|
using the same internal resolver and validator logic as ``named``.
|
||||||
|
|
||||||
``delv`` will send to a specified name server all queries needed to
|
``delv`` sends to a specified name server all queries needed to
|
||||||
fetch and validate the requested data; this includes the original
|
fetch and validate the requested data; this includes the original
|
||||||
requested query, subsequent queries to follow CNAME or DNAME chains, and
|
requested query, subsequent queries to follow CNAME or DNAME chains,
|
||||||
queries for DNSKEY, and DS records to establish a chain of trust for
|
queries for DNSKEY, and DS records to establish a chain of trust for
|
||||||
DNSSEC validation. It does not perform iterative resolution, but
|
DNSSEC validation. It does not perform iterative resolution, but
|
||||||
simulates the behavior of a name server configured for DNSSEC validating
|
simulates the behavior of a name server configured for DNSSEC validating
|
||||||
and forwarding.
|
and forwarding.
|
||||||
|
|
||||||
By default, responses are validated using built-in DNSSEC trust anchor
|
By default, responses are validated using the built-in DNSSEC trust anchor
|
||||||
for the root zone ("."). Records returned by ``delv`` are either fully
|
for the root zone ("."). Records returned by ``delv`` are either fully
|
||||||
validated or were not signed. If validation fails, an explanation of the
|
validated or were not signed. If validation fails, an explanation of the
|
||||||
failure is included in the output; the validation process can be traced
|
failure is included in the output; the validation process can be traced
|
||||||
@@ -59,13 +59,13 @@ in detail. Because ``delv`` does not rely on an external server to carry
|
|||||||
out validation, it can be used to check the validity of DNS responses in
|
out validation, it can be used to check the validity of DNS responses in
|
||||||
environments where local name servers may not be trustworthy.
|
environments where local name servers may not be trustworthy.
|
||||||
|
|
||||||
Unless it is told to query a specific name server, ``delv`` will try
|
Unless it is told to query a specific name server, ``delv`` tries
|
||||||
each of the servers listed in ``/etc/resolv.conf``. If no usable server
|
each of the servers listed in ``/etc/resolv.conf``. If no usable server
|
||||||
addresses are found, ``delv`` will send queries to the localhost
|
addresses are found, ``delv`` sends queries to the localhost
|
||||||
addresses (127.0.0.1 for IPv4, ::1 for IPv6).
|
addresses (127.0.0.1 for IPv4, ::1 for IPv6).
|
||||||
|
|
||||||
When no command line arguments or options are given, ``delv`` will
|
When no command-line arguments or options are given, ``delv``
|
||||||
perform an NS query for "." (the root zone).
|
performs an NS query for "." (the root zone).
|
||||||
|
|
||||||
Simple Usage
|
Simple Usage
|
||||||
~~~~~~~~~~~~
|
~~~~~~~~~~~~
|
||||||
@@ -89,109 +89,109 @@ where:
|
|||||||
If no ``server`` argument is provided, ``delv`` consults
|
If no ``server`` argument is provided, ``delv`` consults
|
||||||
``/etc/resolv.conf``; if an address is found there, it queries the
|
``/etc/resolv.conf``; if an address is found there, it queries the
|
||||||
name server at that address. If either of the ``-4`` or ``-6``
|
name server at that address. If either of the ``-4`` or ``-6``
|
||||||
options are in use, then only addresses for the corresponding
|
options is in use, then only addresses for the corresponding
|
||||||
transport will be tried. If no usable addresses are found, ``delv``
|
transport are tried. If no usable addresses are found, ``delv``
|
||||||
will send queries to the localhost addresses (127.0.0.1 for IPv4, ::1
|
sends queries to the localhost addresses (127.0.0.1 for IPv4, ::1
|
||||||
for IPv6).
|
for IPv6).
|
||||||
|
|
||||||
``name``
|
``name``
|
||||||
is the domain name to be looked up.
|
is the domain name to be looked up.
|
||||||
|
|
||||||
``type``
|
``type``
|
||||||
indicates what type of query is required MDASH ANY, A, MX, etc.
|
indicates what type of query is required - ANY, A, MX, etc.
|
||||||
``type`` can be any valid query type. If no ``type`` argument is
|
``type`` can be any valid query type. If no ``type`` argument is
|
||||||
supplied, ``delv`` will perform a lookup for an A record.
|
supplied, ``delv`` performs a lookup for an A record.
|
||||||
|
|
||||||
Options
|
Options
|
||||||
~~~~~~~
|
~~~~~~~
|
||||||
|
|
||||||
**-a** anchor-file
|
``-a anchor-file``
|
||||||
Specifies a file from which to read DNSSEC trust anchors. The default
|
This option specifies a file from which to read DNSSEC trust anchors. The default
|
||||||
is ``/etc/bind.keys``, which is included with BIND 9 and contains one
|
is ``/etc/bind.keys``, which is included with BIND 9 and contains one
|
||||||
or more trust anchors for the root zone (".").
|
or more trust anchors for the root zone (".").
|
||||||
|
|
||||||
Keys that do not match the root zone name are ignored. An alternate
|
Keys that do not match the root zone name are ignored. An alternate
|
||||||
key name can be specified using the ``+root=NAME`` options.
|
key name can be specified using the ``+root=NAME`` options.
|
||||||
|
|
||||||
Note: When reading the trust anchor file, ``delv`` treat ``trust-anchors``
|
Note: When reading the trust anchor file, ``delv`` treats ``trust-anchors``,
|
||||||
``initial-key`` and ``static-key`` identically. That is, for a managed key,
|
``initial-key``, and ``static-key`` identically. That is, for a managed key,
|
||||||
it is the *initial* key that is trusted; :rfc:`5011` key management is not
|
it is the *initial* key that is trusted; :rfc:`5011` key management is not
|
||||||
supported. ``delv`` will not consult the managed-keys database maintained by
|
supported. ``delv`` does not consult the managed-keys database maintained by
|
||||||
``named``. This means that if either of the keys in ``/etc/bind.keys`` is
|
``named``, which means that if either of the keys in ``/etc/bind.keys`` is
|
||||||
revoked and rolled over, it will be necessary to update ``/etc/bind.keys`` to
|
revoked and rolled over, ``/etc/bind.keys`` must be updated to
|
||||||
use DNSSEC validation in ``delv``.
|
use DNSSEC validation in ``delv``.
|
||||||
|
|
||||||
**-b** address
|
``-b address``
|
||||||
Sets the source IP address of the query to ``address``. This must be
|
This option sets the source IP address of the query to ``address``. This must be
|
||||||
a valid address on one of the host's network interfaces or "0.0.0.0"
|
a valid address on one of the host's network interfaces, or ``0.0.0.0``,
|
||||||
or "::". An optional source port may be specified by appending
|
or ``::``. An optional source port may be specified by appending
|
||||||
"#<port>"
|
``#<port>``
|
||||||
|
|
||||||
**-c** class
|
``-c class``
|
||||||
Sets the query class for the requested data. Currently, only class
|
This option sets the query class for the requested data. Currently, only class
|
||||||
"IN" is supported in ``delv`` and any other value is ignored.
|
"IN" is supported in ``delv`` and any other value is ignored.
|
||||||
|
|
||||||
**-d** level
|
``-d level``
|
||||||
Set the systemwide debug level to ``level``. The allowed range is
|
This option sets the systemwide debug level to ``level``. The allowed range is
|
||||||
from 0 to 99. The default is 0 (no debugging). Debugging traces from
|
from 0 to 99. The default is 0 (no debugging). Debugging traces from
|
||||||
``delv`` become more verbose as the debug level increases. See the
|
``delv`` become more verbose as the debug level increases. See the
|
||||||
``+mtrace``, ``+rtrace``, and ``+vtrace`` options below for
|
``+mtrace``, ``+rtrace``, and ``+vtrace`` options below for
|
||||||
additional debugging details.
|
additional debugging details.
|
||||||
|
|
||||||
**-h**
|
``-h``
|
||||||
Display the ``delv`` help usage output and exit.
|
This option displays the ``delv`` help usage output and exits.
|
||||||
|
|
||||||
**-i**
|
``-i``
|
||||||
Insecure mode. This disables internal DNSSEC validation. (Note,
|
This option sets insecure mode, which disables internal DNSSEC validation. (Note,
|
||||||
however, this does not set the CD bit on upstream queries. If the
|
however, that this does not set the CD bit on upstream queries. If the
|
||||||
server being queried is performing DNSSEC validation, then it will
|
server being queried is performing DNSSEC validation, then it does
|
||||||
not return invalid data; this can cause ``delv`` to time out. When it
|
not return invalid data; this can cause ``delv`` to time out. When it
|
||||||
is necessary to examine invalid data to debug a DNSSEC problem, use
|
is necessary to examine invalid data to debug a DNSSEC problem, use
|
||||||
``dig +cd``.)
|
``dig +cd``.)
|
||||||
|
|
||||||
**-m**
|
``-m``
|
||||||
Enables memory usage debugging.
|
This option enables memory usage debugging.
|
||||||
|
|
||||||
**-p** port#
|
``-p port#``
|
||||||
Specifies a destination port to use for queries instead of the
|
This option specifies a destination port to use for queries, instead of the
|
||||||
standard DNS port number 53. This option would be used with a name
|
standard DNS port number 53. This option is used with a name
|
||||||
server that has been configured to listen for queries on a
|
server that has been configured to listen for queries on a
|
||||||
non-standard port number.
|
non-standard port number.
|
||||||
|
|
||||||
**-q** name
|
``-q name``
|
||||||
Sets the query name to ``name``. While the query name can be
|
This option sets the query name to ``name``. While the query name can be
|
||||||
specified without using the ``-q``, it is sometimes necessary to
|
specified without using the ``-q`` option, it is sometimes necessary to
|
||||||
disambiguate names from types or classes (for example, when looking
|
disambiguate names from types or classes (for example, when looking
|
||||||
up the name "ns", which could be misinterpreted as the type NS, or
|
up the name "ns", which could be misinterpreted as the type NS, or
|
||||||
"ch", which could be misinterpreted as class CH).
|
"ch", which could be misinterpreted as class CH).
|
||||||
|
|
||||||
**-t** type
|
``-t type``
|
||||||
Sets the query type to ``type``, which can be any valid query type
|
This option sets the query type to ``type``, which can be any valid query type
|
||||||
supported in BIND 9 except for zone transfer types AXFR and IXFR. As
|
supported in BIND 9 except for zone transfer types AXFR and IXFR. As
|
||||||
with ``-q``, this is useful to distinguish query name type or class
|
with ``-q``, this is useful to distinguish query-name types or classes
|
||||||
when they are ambiguous. it is sometimes necessary to disambiguate
|
when they are ambiguous. It is sometimes necessary to disambiguate
|
||||||
names from types.
|
names from types.
|
||||||
|
|
||||||
The default query type is "A", unless the ``-x`` option is supplied
|
The default query type is "A", unless the ``-x`` option is supplied
|
||||||
to indicate a reverse lookup, in which case it is "PTR".
|
to indicate a reverse lookup, in which case it is "PTR".
|
||||||
|
|
||||||
**-v**
|
``-v``
|
||||||
Print the ``delv`` version and exit.
|
This option prints the ``delv`` version and exits.
|
||||||
|
|
||||||
**-x** addr
|
``-x addr``
|
||||||
Performs a reverse lookup, mapping an addresses to a name. ``addr``
|
This option performs a reverse lookup, mapping an address to a name. ``addr``
|
||||||
is an IPv4 address in dotted-decimal notation, or a colon-delimited
|
is an IPv4 address in dotted-decimal notation, or a colon-delimited
|
||||||
IPv6 address. When ``-x`` is used, there is no need to provide the
|
IPv6 address. When ``-x`` is used, there is no need to provide the
|
||||||
``name`` or ``type`` arguments. ``delv`` automatically performs a
|
``name`` or ``type`` arguments; ``delv`` automatically performs a
|
||||||
lookup for a name like ``11.12.13.10.in-addr.arpa`` and sets the
|
lookup for a name like ``11.12.13.10.in-addr.arpa`` and sets the
|
||||||
query type to PTR. IPv6 addresses are looked up using nibble format
|
query type to PTR. IPv6 addresses are looked up using nibble format
|
||||||
under the IP6.ARPA domain.
|
under the IP6.ARPA domain.
|
||||||
|
|
||||||
**-4**
|
``-4``
|
||||||
Forces ``delv`` to only use IPv4.
|
This option forces ``delv`` to only use IPv4.
|
||||||
|
|
||||||
**-6**
|
``-6``
|
||||||
Forces ``delv`` to only use IPv6.
|
This option forces ``delv`` to only use IPv6.
|
||||||
|
|
||||||
Query Options
|
Query Options
|
||||||
~~~~~~~~~~~~~
|
~~~~~~~~~~~~~
|
||||||
@@ -206,122 +206,122 @@ assign values to options like the timeout interval. They have the form
|
|||||||
``+keyword=value``. The query options are:
|
``+keyword=value``. The query options are:
|
||||||
|
|
||||||
``+[no]cdflag``
|
``+[no]cdflag``
|
||||||
Controls whether to set the CD (checking disabled) bit in queries
|
This option controls whether to set the CD (checking disabled) bit in queries
|
||||||
sent by ``delv``. This may be useful when troubleshooting DNSSEC
|
sent by ``delv``. This may be useful when troubleshooting DNSSEC
|
||||||
problems from behind a validating resolver. A validating resolver
|
problems from behind a validating resolver. A validating resolver
|
||||||
will block invalid responses, making it difficult to retrieve them
|
blocks invalid responses, making it difficult to retrieve them
|
||||||
for analysis. Setting the CD flag on queries will cause the resolver
|
for analysis. Setting the CD flag on queries causes the resolver
|
||||||
to return invalid responses, which ``delv`` can then validate
|
to return invalid responses, which ``delv`` can then validate
|
||||||
internally and report the errors in detail.
|
internally and report the errors in detail.
|
||||||
|
|
||||||
``+[no]class``
|
``+[no]class``
|
||||||
Controls whether to display the CLASS when printing a record. The
|
This option controls whether to display the CLASS when printing a record. The
|
||||||
default is to display the CLASS.
|
default is to display the CLASS.
|
||||||
|
|
||||||
``+[no]ttl``
|
``+[no]ttl``
|
||||||
Controls whether to display the TTL when printing a record. The
|
This option controls whether to display the TTL when printing a record. The
|
||||||
default is to display the TTL.
|
default is to display the TTL.
|
||||||
|
|
||||||
``+[no]rtrace``
|
``+[no]rtrace``
|
||||||
Toggle resolver fetch logging. This reports the name and type of each
|
This option toggles resolver fetch logging. This reports the name and type of each
|
||||||
query sent by ``delv`` in the process of carrying out the resolution
|
query sent by ``delv`` in the process of carrying out the resolution
|
||||||
and validation process: this includes including the original query
|
and validation process, including the original query
|
||||||
and all subsequent queries to follow CNAMEs and to establish a chain
|
and all subsequent queries to follow CNAMEs and to establish a chain
|
||||||
of trust for DNSSEC validation.
|
of trust for DNSSEC validation.
|
||||||
|
|
||||||
This is equivalent to setting the debug level to 1 in the "resolver"
|
This is equivalent to setting the debug level to 1 in the "resolver"
|
||||||
logging category. Setting the systemwide debug level to 1 using the
|
logging category. Setting the systemwide debug level to 1 using the
|
||||||
``-d`` option will product the same output (but will affect other
|
``-d`` option produces the same output, but affects other
|
||||||
logging categories as well).
|
logging categories as well.
|
||||||
|
|
||||||
``+[no]mtrace``
|
``+[no]mtrace``
|
||||||
Toggle message logging. This produces a detailed dump of the
|
This option toggles message logging. This produces a detailed dump of the
|
||||||
responses received by ``delv`` in the process of carrying out the
|
responses received by ``delv`` in the process of carrying out the
|
||||||
resolution and validation process.
|
resolution and validation process.
|
||||||
|
|
||||||
This is equivalent to setting the debug level to 10 for the "packets"
|
This is equivalent to setting the debug level to 10 for the "packets"
|
||||||
module of the "resolver" logging category. Setting the systemwide
|
module of the "resolver" logging category. Setting the systemwide
|
||||||
debug level to 10 using the ``-d`` option will produce the same
|
debug level to 10 using the ``-d`` option produces the same
|
||||||
output (but will affect other logging categories as well).
|
output, but affects other logging categories as well.
|
||||||
|
|
||||||
``+[no]vtrace``
|
``+[no]vtrace``
|
||||||
Toggle validation logging. This shows the internal process of the
|
This option toggles validation logging. This shows the internal process of the
|
||||||
validator as it determines whether an answer is validly signed,
|
validator as it determines whether an answer is validly signed,
|
||||||
unsigned, or invalid.
|
unsigned, or invalid.
|
||||||
|
|
||||||
This is equivalent to setting the debug level to 3 for the
|
This is equivalent to setting the debug level to 3 for the
|
||||||
"validator" module of the "dnssec" logging category. Setting the
|
"validator" module of the "dnssec" logging category. Setting the
|
||||||
systemwide debug level to 3 using the ``-d`` option will produce the
|
systemwide debug level to 3 using the ``-d`` option produces the
|
||||||
same output (but will affect other logging categories as well).
|
same output, but affects other logging categories as well.
|
||||||
|
|
||||||
``+[no]short``
|
``+[no]short``
|
||||||
Provide a terse answer. The default is to print the answer in a
|
This option toggles between verbose and terse answers. The default is to print the answer in a
|
||||||
verbose form.
|
verbose form.
|
||||||
|
|
||||||
``+[no]comments``
|
``+[no]comments``
|
||||||
Toggle the display of comment lines in the output. The default is to
|
This option toggles the display of comment lines in the output. The default is to
|
||||||
print comments.
|
print comments.
|
||||||
|
|
||||||
``+[no]rrcomments``
|
``+[no]rrcomments``
|
||||||
Toggle the display of per-record comments in the output (for example,
|
This option toggles the display of per-record comments in the output (for example,
|
||||||
human-readable key information about DNSKEY records). The default is
|
human-readable key information about DNSKEY records). The default is
|
||||||
to print per-record comments.
|
to print per-record comments.
|
||||||
|
|
||||||
``+[no]crypto``
|
``+[no]crypto``
|
||||||
Toggle the display of cryptographic fields in DNSSEC records. The
|
This option toggles the display of cryptographic fields in DNSSEC records. The
|
||||||
contents of these field are unnecessary to debug most DNSSEC
|
contents of these fields are unnecessary to debug most DNSSEC
|
||||||
validation failures and removing them makes it easier to see the
|
validation failures and removing them makes it easier to see the
|
||||||
common failures. The default is to display the fields. When omitted
|
common failures. The default is to display the fields. When omitted,
|
||||||
they are replaced by the string "[omitted]" or in the DNSKEY case the
|
they are replaced by the string ``[omitted]`` or, in the DNSKEY case, the
|
||||||
key id is displayed as the replacement, e.g. "[ key id = value ]".
|
key ID is displayed as the replacement, e.g. ``[ key id = value ]``.
|
||||||
|
|
||||||
``+[no]trust``
|
``+[no]trust``
|
||||||
Controls whether to display the trust level when printing a record.
|
This option controls whether to display the trust level when printing a record.
|
||||||
The default is to display the trust level.
|
The default is to display the trust level.
|
||||||
|
|
||||||
``+[no]split[=W]``
|
``+[no]split[=W]``
|
||||||
Split long hex- or base64-formatted fields in resource records into
|
This option splits long hex- or base64-formatted fields in resource records into
|
||||||
chunks of ``W`` characters (where ``W`` is rounded up to the nearest
|
chunks of ``W`` characters (where ``W`` is rounded up to the nearest
|
||||||
multiple of 4). ``+nosplit`` or ``+split=0`` causes fields not to be
|
multiple of 4). ``+nosplit`` or ``+split=0`` causes fields not to be
|
||||||
split at all. The default is 56 characters, or 44 characters when
|
split at all. The default is 56 characters, or 44 characters when
|
||||||
multiline mode is active.
|
multiline mode is active.
|
||||||
|
|
||||||
``+[no]all``
|
``+[no]all``
|
||||||
Set or clear the display options ``+[no]comments``,
|
This option sets or clears the display options ``+[no]comments``,
|
||||||
``+[no]rrcomments``, and ``+[no]trust`` as a group.
|
``+[no]rrcomments``, and ``+[no]trust`` as a group.
|
||||||
|
|
||||||
``+[no]multiline``
|
``+[no]multiline``
|
||||||
Print long records (such as RRSIG, DNSKEY, and SOA records) in a
|
This option prints long records (such as RRSIG, DNSKEY, and SOA records) in a
|
||||||
verbose multi-line format with human-readable comments. The default
|
verbose multi-line format with human-readable comments. The default
|
||||||
is to print each record on a single line, to facilitate machine
|
is to print each record on a single line, to facilitate machine
|
||||||
parsing of the ``delv`` output.
|
parsing of the ``delv`` output.
|
||||||
|
|
||||||
``+[no]dnssec``
|
``+[no]dnssec``
|
||||||
Indicates whether to display RRSIG records in the ``delv`` output.
|
This option indicates whether to display RRSIG records in the ``delv`` output.
|
||||||
The default is to do so. Note that (unlike in ``dig``) this does
|
The default is to do so. Note that (unlike in ``dig``) this does
|
||||||
*not* control whether to request DNSSEC records or whether to
|
*not* control whether to request DNSSEC records or to
|
||||||
validate them. DNSSEC records are always requested, and validation
|
validate them. DNSSEC records are always requested, and validation
|
||||||
will always occur unless suppressed by the use of ``-i`` or
|
always occurs unless suppressed by the use of ``-i`` or
|
||||||
``+noroot``.
|
``+noroot``.
|
||||||
|
|
||||||
``+[no]root[=ROOT]``
|
``+[no]root[=ROOT]``
|
||||||
Indicates whether to perform conventional DNSSEC validation, and if so,
|
This option indicates whether to perform conventional DNSSEC validation, and if so,
|
||||||
specifies the name of a trust anchor. The default is to validate using a
|
specifies the name of a trust anchor. The default is to validate using a
|
||||||
trust anchor of "." (the root zone), for which there is a built-in key. If
|
trust anchor of "." (the root zone), for which there is a built-in key. If
|
||||||
specifying a different trust anchor, then ``-a`` must be used to specify a
|
specifying a different trust anchor, then ``-a`` must be used to specify a
|
||||||
file containing the key.
|
file containing the key.
|
||||||
|
|
||||||
``+[no]tcp``
|
``+[no]tcp``
|
||||||
Controls whether to use TCP when sending queries. The default is to
|
This option controls whether to use TCP when sending queries. The default is to
|
||||||
use UDP unless a truncated response has been received.
|
use UDP unless a truncated response has been received.
|
||||||
|
|
||||||
``+[no]unknownformat``
|
``+[no]unknownformat``
|
||||||
Print all RDATA in unknown RR type presentation format (:rfc:`3597`).
|
This option prints all RDATA in unknown RR-type presentation format (:rfc:`3597`).
|
||||||
The default is to print RDATA for known types in the type's
|
The default is to print RDATA for known types in the type's
|
||||||
presentation format.
|
presentation format.
|
||||||
|
|
||||||
``+[no]yaml``
|
``+[no]yaml``
|
||||||
Print response data in YAML format.
|
This option prints response data in YAML format.
|
||||||
|
|
||||||
Files
|
Files
|
||||||
~~~~~
|
~~~~~
|
||||||
|
|||||||
+199
-201
@@ -24,7 +24,7 @@
|
|||||||
.. _man_dig:
|
.. _man_dig:
|
||||||
|
|
||||||
dig - DNS lookup utility
|
dig - DNS lookup utility
|
||||||
----------------------------------
|
------------------------
|
||||||
|
|
||||||
Synopsis
|
Synopsis
|
||||||
~~~~~~~~
|
~~~~~~~~
|
||||||
@@ -40,33 +40,33 @@ Description
|
|||||||
``dig`` is a flexible tool for interrogating DNS name servers. It
|
``dig`` is a flexible tool for interrogating DNS name servers. It
|
||||||
performs DNS lookups and displays the answers that are returned from the
|
performs DNS lookups and displays the answers that are returned from the
|
||||||
name server(s) that were queried. Most DNS administrators use ``dig`` to
|
name server(s) that were queried. Most DNS administrators use ``dig`` to
|
||||||
troubleshoot DNS problems because of its flexibility, ease of use and
|
troubleshoot DNS problems because of its flexibility, ease of use, and
|
||||||
clarity of output. Other lookup tools tend to have less functionality
|
clarity of output. Other lookup tools tend to have less functionality
|
||||||
than ``dig``.
|
than ``dig``.
|
||||||
|
|
||||||
Although ``dig`` is normally used with command-line arguments, it also
|
Although ``dig`` is normally used with command-line arguments, it also
|
||||||
has a batch mode of operation for reading lookup requests from a file. A
|
has a batch mode of operation for reading lookup requests from a file. A
|
||||||
brief summary of its command-line arguments and options is printed when
|
brief summary of its command-line arguments and options is printed when
|
||||||
the ``-h`` option is given. Unlike earlier versions, the BIND 9
|
the ``-h`` option is given. The BIND 9
|
||||||
implementation of ``dig`` allows multiple lookups to be issued from the
|
implementation of ``dig`` allows multiple lookups to be issued from the
|
||||||
command line.
|
command line.
|
||||||
|
|
||||||
Unless it is told to query a specific name server, ``dig`` will try each
|
Unless it is told to query a specific name server, ``dig`` tries each
|
||||||
of the servers listed in ``/etc/resolv.conf``. If no usable server
|
of the servers listed in ``/etc/resolv.conf``. If no usable server
|
||||||
addresses are found, ``dig`` will send the query to the local host.
|
addresses are found, ``dig`` sends the query to the local host.
|
||||||
|
|
||||||
When no command line arguments or options are given, ``dig`` will
|
When no command-line arguments or options are given, ``dig``
|
||||||
perform an NS query for "." (the root).
|
performs an NS query for "." (the root).
|
||||||
|
|
||||||
It is possible to set per-user defaults for ``dig`` via
|
It is possible to set per-user defaults for ``dig`` via
|
||||||
``${HOME}/.digrc``. This file is read and any options in it are applied
|
``${HOME}/.digrc``. This file is read and any options in it are applied
|
||||||
before the command line arguments. The ``-r`` option disables this
|
before the command-line arguments. The ``-r`` option disables this
|
||||||
feature, for scripts that need predictable behaviour.
|
feature, for scripts that need predictable behavior.
|
||||||
|
|
||||||
The IN and CH class names overlap with the IN and CH top level domain
|
The IN and CH class names overlap with the IN and CH top-level domain
|
||||||
names. Either use the ``-t`` and ``-c`` options to specify the type and
|
names. Either use the ``-t`` and ``-c`` options to specify the type and
|
||||||
class, use the ``-q`` the specify the domain name, or use "IN." and
|
class, use the ``-q`` to specify the domain name, or use "IN." and
|
||||||
"CH." when looking up these top level domains.
|
"CH." when looking up these top-level domains.
|
||||||
|
|
||||||
Simple Usage
|
Simple Usage
|
||||||
~~~~~~~~~~~~
|
~~~~~~~~~~~~
|
||||||
@@ -90,110 +90,110 @@ where:
|
|||||||
``/etc/resolv.conf``; if an address is found there, it queries the
|
``/etc/resolv.conf``; if an address is found there, it queries the
|
||||||
name server at that address. If either of the ``-4`` or ``-6``
|
name server at that address. If either of the ``-4`` or ``-6``
|
||||||
options are in use, then only addresses for the corresponding
|
options are in use, then only addresses for the corresponding
|
||||||
transport will be tried. If no usable addresses are found, ``dig``
|
transport are tried. If no usable addresses are found, ``dig``
|
||||||
will send the query to the local host. The reply from the name server
|
sends the query to the local host. The reply from the name server
|
||||||
that responds is displayed.
|
that responds is displayed.
|
||||||
|
|
||||||
``name``
|
``name``
|
||||||
is the name of the resource record that is to be looked up.
|
is the name of the resource record that is to be looked up.
|
||||||
|
|
||||||
``type``
|
``type``
|
||||||
indicates what type of query is required MDASH ANY, A, MX, SIG, etc.
|
indicates what type of query is required - ANY, A, MX, SIG, etc.
|
||||||
``type`` can be any valid query type. If no ``type`` argument is
|
``type`` can be any valid query type. If no ``type`` argument is
|
||||||
supplied, ``dig`` will perform a lookup for an A record.
|
supplied, ``dig`` performs a lookup for an A record.
|
||||||
|
|
||||||
Options
|
Options
|
||||||
~~~~~~~
|
~~~~~~~
|
||||||
|
|
||||||
**-4**
|
``-4``
|
||||||
Use IPv4 only.
|
This option indicates that only IPv4 should be used.
|
||||||
|
|
||||||
**-6**
|
``-6``
|
||||||
Use IPv6 only.
|
This option indicates that only IPv6 should be used.
|
||||||
|
|
||||||
**-b** address[#port]
|
``-b address[#port]``
|
||||||
Set the source IP address of the query. The ``address`` must be a
|
This option sets the source IP address of the query. The ``address`` must be a
|
||||||
valid address on one of the host's network interfaces, or "0.0.0.0"
|
valid address on one of the host's network interfaces, or "0.0.0.0"
|
||||||
or "::". An optional port may be specified by appending "#<port>"
|
or "::". An optional port may be specified by appending ``#port``.
|
||||||
|
|
||||||
**-c** class
|
``-c class``
|
||||||
Set the query class. The default ``class`` is IN; other classes are
|
This option sets the query class. The default ``class`` is IN; other classes are
|
||||||
HS for Hesiod records or CH for Chaosnet records.
|
HS for Hesiod records or CH for Chaosnet records.
|
||||||
|
|
||||||
**-f** file
|
``-f file``
|
||||||
Batch mode: ``dig`` reads a list of lookup requests to process from
|
This option sets batch mode, in which ``dig`` reads a list of lookup requests to process from
|
||||||
the given ``file``. Each line in the file should be organized in the
|
the given ``file``. Each line in the file should be organized in the
|
||||||
same way they would be presented as queries to ``dig`` using the
|
same way it would be presented as a query to ``dig`` using the
|
||||||
command-line interface.
|
command-line interface.
|
||||||
|
|
||||||
**-k** keyfile
|
``-k keyfile``
|
||||||
Sign queries using TSIG using a key read from the given file. Key
|
This option tells ``named`` to sign queries using TSIG using a key read from the given file. Key
|
||||||
files can be generated using tsig-keygen8. When using TSIG
|
files can be generated using ``tsig-keygen``. When using TSIG
|
||||||
authentication with ``dig``, the name server that is queried needs to
|
authentication with ``dig``, the name server that is queried needs to
|
||||||
know the key and algorithm that is being used. In BIND, this is done
|
know the key and algorithm that is being used. In BIND, this is done
|
||||||
by providing appropriate ``key`` and ``server`` statements in
|
by providing appropriate ``key`` and ``server`` statements in
|
||||||
``named.conf``.
|
``named.conf``.
|
||||||
|
|
||||||
**-m**
|
``-m``
|
||||||
Enable memory usage debugging.
|
This option enables memory usage debugging.
|
||||||
|
|
||||||
**-p** port
|
``-p port``
|
||||||
Send the query to a non-standard port on the server, instead of the
|
This option sends the query to a non-standard port on the server, instead of the
|
||||||
default port 53. This option would be used to test a name server that
|
default port 53. This option is used to test a name server that
|
||||||
has been configured to listen for queries on a non-standard port
|
has been configured to listen for queries on a non-standard port
|
||||||
number.
|
number.
|
||||||
|
|
||||||
**-q** name
|
``-q name``
|
||||||
The domain name to query. This is useful to distinguish the ``name``
|
This option specifies the domain name to query. This is useful to distinguish the ``name``
|
||||||
from other arguments.
|
from other arguments.
|
||||||
|
|
||||||
**-r**
|
``-r``
|
||||||
Do not read options from ``${HOME}/.digrc``. This is useful for
|
This option indicates that options from ``${HOME}/.digrc`` should not be read. This is useful for
|
||||||
scripts that need predictable behaviour.
|
scripts that need predictable behavior.
|
||||||
|
|
||||||
**-t** type
|
``-t type``
|
||||||
The resource record type to query. It can be any valid query type. If
|
This option indicates the resource record type to query, which can be any valid query type. If
|
||||||
it is a resource record type supported in BIND 9, it can be given by
|
it is a resource record type supported in BIND 9, it can be given by
|
||||||
the type mnemonic (such as "NS" or "AAAA"). The default query type is
|
the type mnemonic (such as ``NS`` or ``AAAA``). The default query type is
|
||||||
"A", unless the ``-x`` option is supplied to indicate a reverse
|
``A``, unless the ``-x`` option is supplied to indicate a reverse
|
||||||
lookup. A zone transfer can be requested by specifying a type of
|
lookup. A zone transfer can be requested by specifying a type of
|
||||||
AXFR. When an incremental zone transfer (IXFR) is required, set the
|
AXFR. When an incremental zone transfer (IXFR) is required, set the
|
||||||
``type`` to ``ixfr=N``. The incremental zone transfer will contain
|
``type`` to ``ixfr=N``. The incremental zone transfer contains
|
||||||
the changes made to the zone since the serial number in the zone's
|
all changes made to the zone since the serial number in the zone's
|
||||||
SOA record was ``N``.
|
SOA record was ``N``.
|
||||||
|
|
||||||
All resource record types can be expressed as "TYPEnn", where "nn" is
|
All resource record types can be expressed as ``TYPEnn``, where ``nn`` is
|
||||||
the number of the type. If the resource record type is not supported
|
the number of the type. If the resource record type is not supported
|
||||||
in BIND 9, the result will be displayed as described in :rfc:`3597`.
|
in BIND 9, the result is displayed as described in :rfc:`3597`.
|
||||||
|
|
||||||
**-u**
|
``-u``
|
||||||
Print query times in microseconds instead of milliseconds.
|
This option indicates that print query times should be provided in microseconds instead of milliseconds.
|
||||||
|
|
||||||
**-v**
|
``-v``
|
||||||
Print the version number and exit.
|
This option prints the version number and exits.
|
||||||
|
|
||||||
**-x** addr
|
``-x addr``
|
||||||
Simplified reverse lookups, for mapping addresses to names. The
|
This option sets simplified reverse lookups, for mapping addresses to names. The
|
||||||
``addr`` is an IPv4 address in dotted-decimal notation, or a
|
``addr`` is an IPv4 address in dotted-decimal notation, or a
|
||||||
colon-delimited IPv6 address. When the ``-x`` is used, there is no
|
colon-delimited IPv6 address. When the ``-x`` option is used, there is no
|
||||||
need to provide the ``name``, ``class`` and ``type`` arguments.
|
need to provide the ``name``, ``class``, and ``type`` arguments.
|
||||||
``dig`` automatically performs a lookup for a name like
|
``dig`` automatically performs a lookup for a name like
|
||||||
``94.2.0.192.in-addr.arpa`` and sets the query type and class to PTR
|
``94.2.0.192.in-addr.arpa`` and sets the query type and class to PTR
|
||||||
and IN respectively. IPv6 addresses are looked up using nibble format
|
and IN respectively. IPv6 addresses are looked up using nibble format
|
||||||
under the IP6.ARPA domain.
|
under the IP6.ARPA domain.
|
||||||
|
|
||||||
**-y** [hmac:]keyname:secret
|
``-y [hmac:]keyname:secret``
|
||||||
Sign queries using TSIG with the given authentication key.
|
This option signs queries using TSIG with the given authentication key.
|
||||||
``keyname`` is the name of the key, and ``secret`` is the base64
|
``keyname`` is the name of the key, and ``secret`` is the
|
||||||
encoded shared secret. ``hmac`` is the name of the key algorithm;
|
base64-encoded shared secret. ``hmac`` is the name of the key algorithm;
|
||||||
valid choices are ``hmac-md5``, ``hmac-sha1``, ``hmac-sha224``,
|
valid choices are ``hmac-md5``, ``hmac-sha1``, ``hmac-sha224``,
|
||||||
``hmac-sha256``, ``hmac-sha384``, or ``hmac-sha512``. If ``hmac`` is
|
``hmac-sha256``, ``hmac-sha384``, or ``hmac-sha512``. If ``hmac`` is
|
||||||
not specified, the default is ``hmac-md5`` or if MD5 was disabled
|
not specified, the default is ``hmac-md5``; if MD5 was disabled, the default is
|
||||||
``hmac-sha256``.
|
``hmac-sha256``.
|
||||||
|
|
||||||
.. note:: You should use the ``-k`` option and avoid the ``-y`` option,
|
.. note:: Only the ``-k`` option should be used, rather than the ``-y`` option,
|
||||||
because with ``-y`` the shared secret is supplied as a command line
|
because with ``-y`` the shared secret is supplied as a command-line
|
||||||
argument in clear text. This may be visible in the output from ps1 or
|
argument in clear text. This may be visible in the output from ``ps1`` or
|
||||||
in a history file maintained by the user's shell.
|
in a history file maintained by the user's shell.
|
||||||
|
|
||||||
Query Options
|
Query Options
|
||||||
@@ -206,297 +206,296 @@ answer get printed, and others determine the timeout and retry
|
|||||||
strategies.
|
strategies.
|
||||||
|
|
||||||
Each query option is identified by a keyword preceded by a plus sign
|
Each query option is identified by a keyword preceded by a plus sign
|
||||||
(``+``). Some keywords set or reset an option. These may be preceded by
|
(``+``). Some keywords set or reset an option; these may be preceded by
|
||||||
the string ``no`` to negate the meaning of that keyword. Other keywords
|
the string ``no`` to negate the meaning of that keyword. Other keywords
|
||||||
assign values to options like the timeout interval. They have the form
|
assign values to options, like the timeout interval. They have the form
|
||||||
``+keyword=value``. Keywords may be abbreviated, provided the
|
``+keyword=value``. Keywords may be abbreviated, provided the
|
||||||
abbreviation is unambiguous; for example, ``+cd`` is equivalent to
|
abbreviation is unambiguous; for example, ``+cd`` is equivalent to
|
||||||
``+cdflag``. The query options are:
|
``+cdflag``. The query options are:
|
||||||
|
|
||||||
``+[no]aaflag``
|
``+[no]aaflag``
|
||||||
A synonym for ``+[no]aaonly``.
|
This option is a synonym for ``+[no]aaonly``.
|
||||||
|
|
||||||
``+[no]aaonly``
|
``+[no]aaonly``
|
||||||
Sets the "aa" flag in the query.
|
This option sets the ``aa`` flag in the query.
|
||||||
|
|
||||||
``+[no]additional``
|
``+[no]additional``
|
||||||
Display [do not display] the additional section of a reply. The
|
This option displays [or does not display] the additional section of a reply. The
|
||||||
default is to display it.
|
default is to display it.
|
||||||
|
|
||||||
``+[no]adflag``
|
``+[no]adflag``
|
||||||
Set [do not set] the AD (authentic data) bit in the query. This
|
This option sets [or does not set] the AD (authentic data) bit in the query. This
|
||||||
requests the server to return whether all of the answer and authority
|
requests the server to return whether all of the answer and authority
|
||||||
sections have all been validated as secure according to the security
|
sections have been validated as secure, according to the security
|
||||||
policy of the server. AD=1 indicates that all records have been
|
policy of the server. ``AD=1`` indicates that all records have been
|
||||||
validated as secure and the answer is not from a OPT-OUT range. AD=0
|
validated as secure and the answer is not from a OPT-OUT range. ``AD=0``
|
||||||
indicate that some part of the answer was insecure or not validated.
|
indicates that some part of the answer was insecure or not validated.
|
||||||
This bit is set by default.
|
This bit is set by default.
|
||||||
|
|
||||||
``+[no]all``
|
``+[no]all``
|
||||||
Set or clear all display flags.
|
This option sets or clears all display flags.
|
||||||
|
|
||||||
``+[no]answer``
|
``+[no]answer``
|
||||||
Display [do not display] the answer section of a reply. The default
|
This option displays [or does not display] the answer section of a reply. The default
|
||||||
is to display it.
|
is to display it.
|
||||||
|
|
||||||
``+[no]authority``
|
``+[no]authority``
|
||||||
Display [do not display] the authority section of a reply. The
|
This option displays [or does not display] the authority section of a reply. The
|
||||||
default is to display it.
|
default is to display it.
|
||||||
|
|
||||||
``+[no]badcookie``
|
``+[no]badcookie``
|
||||||
Retry lookup with the new server cookie if a BADCOOKIE response is
|
This option retries the lookup with a new server cookie if a BADCOOKIE response is
|
||||||
received.
|
received.
|
||||||
|
|
||||||
``+[no]besteffort``
|
``+[no]besteffort``
|
||||||
Attempt to display the contents of messages which are malformed. The
|
This option attempts to display the contents of messages which are malformed. The
|
||||||
default is to not display malformed answers.
|
default is to not display malformed answers.
|
||||||
|
|
||||||
``+bufsize=B``
|
``+bufsize=B``
|
||||||
Set the UDP message buffer size advertised using EDNS0 to ``B``
|
This option sets the UDP message buffer size advertised using EDNS0 to ``B``
|
||||||
bytes. The maximum and minimum sizes of this buffer are 65535 and 0
|
bytes. The maximum and minimum sizes of this buffer are 65535 and 0,
|
||||||
respectively. Values outside this range are rounded up or down
|
respectively. Values outside this range are rounded up or down
|
||||||
appropriately. Values other than zero will cause a EDNS query to be
|
appropriately. Values other than zero cause an EDNS query to be
|
||||||
sent.
|
sent.
|
||||||
|
|
||||||
``+[no]cdflag``
|
``+[no]cdflag``
|
||||||
Set [do not set] the CD (checking disabled) bit in the query. This
|
This option sets [or does not set] the CD (checking disabled) bit in the query. This
|
||||||
requests the server to not perform DNSSEC validation of responses.
|
requests the server to not perform DNSSEC validation of responses.
|
||||||
|
|
||||||
``+[no]class``
|
``+[no]class``
|
||||||
Display [do not display] the CLASS when printing the record.
|
This option displays [or does not display] the CLASS when printing the record.
|
||||||
|
|
||||||
``+[no]cmd``
|
``+[no]cmd``
|
||||||
Toggles the printing of the initial comment in the output, identifying the
|
This option toggles the printing of the initial comment in the output, identifying the
|
||||||
version of ``dig`` and the query options that have been applied. This option
|
version of ``dig`` and the query options that have been applied. This option
|
||||||
always has global effect; it cannot be set globally and then overridden on a
|
always has a global effect; it cannot be set globally and then overridden on a
|
||||||
per-lookup basis. The default is to print this comment.
|
per-lookup basis. The default is to print this comment.
|
||||||
|
|
||||||
``+[no]comments``
|
``+[no]comments``
|
||||||
Toggles the display of some comment lines in the output, containing
|
This option toggles the display of some comment lines in the output, with
|
||||||
information about the packet header and OPT pseudosection, and the names of
|
information about the packet header and OPT pseudosection, and the names of
|
||||||
the response section. The default is to print these comments.
|
the response section. The default is to print these comments.
|
||||||
|
|
||||||
Other types of comments in the output are not affected by this option, but
|
Other types of comments in the output are not affected by this option, but
|
||||||
can be controlled using other command line switches. These include
|
can be controlled using other command-line switches. These include
|
||||||
``+[no]cmd``, ``+[no]question``, ``+[no]stats``, and ``+[no]rrcomments``.
|
``+[no]cmd``, ``+[no]question``, ``+[no]stats``, and ``+[no]rrcomments``.
|
||||||
|
|
||||||
``+[no]cookie=####``
|
``+[no]cookie=####``
|
||||||
Send a COOKIE EDNS option, with optional value. Replaying a COOKIE
|
This option sends [or does not send] a COOKIE EDNS option, with an optional value. Replaying a COOKIE
|
||||||
from a previous response will allow the server to identify a previous
|
from a previous response allows the server to identify a previous
|
||||||
client. The default is ``+cookie``.
|
client. The default is ``+cookie``.
|
||||||
|
|
||||||
``+cookie`` is also set when +trace is set to better emulate the
|
``+cookie`` is also set when ``+trace`` is set to better emulate the
|
||||||
default queries from a nameserver.
|
default queries from a nameserver.
|
||||||
|
|
||||||
``+[no]crypto``
|
``+[no]crypto``
|
||||||
Toggle the display of cryptographic fields in DNSSEC records. The
|
This option toggles the display of cryptographic fields in DNSSEC records. The
|
||||||
contents of these field are unnecessary to debug most DNSSEC
|
contents of these fields are unnecessary for debugging most DNSSEC
|
||||||
validation failures and removing them makes it easier to see the
|
validation failures and removing them makes it easier to see the
|
||||||
common failures. The default is to display the fields. When omitted
|
common failures. The default is to display the fields. When omitted,
|
||||||
they are replaced by the string "[omitted]" or in the DNSKEY case the
|
they are replaced by the string ``[omitted]`` or, in the DNSKEY case, the
|
||||||
key id is displayed as the replacement, e.g. "[ key id = value ]".
|
key ID is displayed as the replacement, e.g. ``[ key id = value ]``.
|
||||||
|
|
||||||
``+[no]defname``
|
``+[no]defname``
|
||||||
Deprecated, treated as a synonym for ``+[no]search``
|
This option, which is deprecated, is treated as a synonym for ``+[no]search``.
|
||||||
|
|
||||||
``+[no]dnssec``
|
``+[no]dnssec``
|
||||||
Requests DNSSEC records be sent by setting the DNSSEC OK bit (DO) in
|
This option requests that DNSSEC records be sent by setting the DNSSEC OK (DO) bit in
|
||||||
the OPT record in the additional section of the query.
|
the OPT record in the additional section of the query.
|
||||||
|
|
||||||
``+domain=somename``
|
``+domain=somename``
|
||||||
Set the search list to contain the single domain ``somename``, as if
|
This option sets the search list to contain the single domain ``somename``, as if
|
||||||
specified in a ``domain`` directive in ``/etc/resolv.conf``, and
|
specified in a ``domain`` directive in ``/etc/resolv.conf``, and
|
||||||
enable search list processing as if the ``+search`` option were
|
enables search list processing as if the ``+search`` option were
|
||||||
given.
|
given.
|
||||||
|
|
||||||
``+dscp=value``
|
``+dscp=value``
|
||||||
Set the DSCP code point to be used when sending the query. Valid DSCP
|
This option sets the DSCP code point to be used when sending the query. Valid DSCP
|
||||||
code points are in the range [0..63]. By default no code point is
|
code points are in the range [0...63]. By default no code point is
|
||||||
explicitly set.
|
explicitly set.
|
||||||
|
|
||||||
``+[no]edns[=#]``
|
``+[no]edns[=#]``
|
||||||
Specify the EDNS version to query with. Valid values are 0 to 255.
|
This option specifies the EDNS version to query with. Valid values are 0 to 255.
|
||||||
Setting the EDNS version will cause a EDNS query to be sent.
|
Setting the EDNS version causes an EDNS query to be sent.
|
||||||
``+noedns`` clears the remembered EDNS version. EDNS is set to 0 by
|
``+noedns`` clears the remembered EDNS version. EDNS is set to 0 by
|
||||||
default.
|
default.
|
||||||
|
|
||||||
``+[no]ednsflags[=#]``
|
``+[no]ednsflags[=#]``
|
||||||
Set the must-be-zero EDNS flags bits (Z bits) to the specified value.
|
This option sets the must-be-zero EDNS flags bits (Z bits) to the specified value.
|
||||||
Decimal, hex and octal encodings are accepted. Setting a named flag
|
Decimal, hex, and octal encodings are accepted. Setting a named flag
|
||||||
(e.g. DO) will silently be ignored. By default, no Z bits are set.
|
(e.g., DO) is silently ignored. By default, no Z bits are set.
|
||||||
|
|
||||||
``+[no]ednsnegotiation``
|
``+[no]ednsnegotiation``
|
||||||
Enable / disable EDNS version negotiation. By default EDNS version
|
This option enables/disables EDNS version negotiation. By default, EDNS version
|
||||||
negotiation is enabled.
|
negotiation is enabled.
|
||||||
|
|
||||||
``+[no]ednsopt[=code[:value]]``
|
``+[no]ednsopt[=code[:value]]``
|
||||||
Specify EDNS option with code point ``code`` and optionally payload
|
This option specifies the EDNS option with code point ``code`` and an optional payload
|
||||||
of ``value`` as a hexadecimal string. ``code`` can be either an EDNS
|
of ``value`` as a hexadecimal string. ``code`` can be either an EDNS
|
||||||
option name (for example, ``NSID`` or ``ECS``), or an arbitrary
|
option name (for example, ``NSID`` or ``ECS``) or an arbitrary
|
||||||
numeric value. ``+noednsopt`` clears the EDNS options to be sent.
|
numeric value. ``+noednsopt`` clears the EDNS options to be sent.
|
||||||
|
|
||||||
``+[no]expire``
|
``+[no]expire``
|
||||||
Send an EDNS Expire option.
|
This option sends an EDNS Expire option.
|
||||||
|
|
||||||
``+[no]fail``
|
``+[no]fail``
|
||||||
Do not try the next server if you receive a SERVFAIL. The default is
|
This option indicates that ``named`` should try [or not try] the next server if a SERVFAIL is received. The default is
|
||||||
to not try the next server which is the reverse of normal stub
|
to not try the next server, which is the reverse of normal stub
|
||||||
resolver behavior.
|
resolver behavior.
|
||||||
|
|
||||||
``+[no]header-only``
|
``+[no]header-only``
|
||||||
Send a query with a DNS header without a question section. The
|
This option sends a query with a DNS header without a question section. The
|
||||||
default is to add a question section. The query type and query name
|
default is to add a question section. The query type and query name
|
||||||
are ignored when this is set.
|
are ignored when this is set.
|
||||||
|
|
||||||
``+[no]identify``
|
``+[no]identify``
|
||||||
Show [or do not show] the IP address and port number that supplied
|
This option shows [or does not show] the IP address and port number that supplied
|
||||||
the answer when the ``+short`` option is enabled. If short form
|
the answer, when the ``+short`` option is enabled. If short form
|
||||||
answers are requested, the default is not to show the source address
|
answers are requested, the default is not to show the source address
|
||||||
and port number of the server that provided the answer.
|
and port number of the server that provided the answer.
|
||||||
|
|
||||||
``+[no]idnin``
|
``+[no]idnin``
|
||||||
Process [do not process] IDN domain names on input. This requires IDN
|
This option processes [or does not process] IDN domain names on input. This requires
|
||||||
SUPPORT to have been enabled at compile time.
|
``IDN SUPPORT`` to have been enabled at compile time.
|
||||||
|
|
||||||
The default is to process IDN input when standard output is a tty.
|
The default is to process IDN input when standard output is a tty.
|
||||||
The IDN processing on input is disabled when dig output is redirected
|
The IDN processing on input is disabled when ``dig`` output is redirected
|
||||||
to files, pipes, and other non-tty file descriptors.
|
to files, pipes, and other non-tty file descriptors.
|
||||||
|
|
||||||
``+[no]idnout``
|
``+[no]idnout``
|
||||||
Convert [do not convert] puny code on output. This requires IDN
|
This option converts [or does not convert] puny code on output. This requires
|
||||||
SUPPORT to have been enabled at compile time.
|
``IDN SUPPORT`` to have been enabled at compile time.
|
||||||
|
|
||||||
The default is to process puny code on output when standard output is
|
The default is to process puny code on output when standard output is
|
||||||
a tty. The puny code processing on output is disabled when dig output
|
a tty. The puny code processing on output is disabled when ``dig`` output
|
||||||
is redirected to files, pipes, and other non-tty file descriptors.
|
is redirected to files, pipes, and other non-tty file descriptors.
|
||||||
|
|
||||||
``+[no]ignore``
|
``+[no]ignore``
|
||||||
Ignore truncation in UDP responses instead of retrying with TCP. By
|
This option ignores [or does not ignore] truncation in UDP responses instead of retrying with TCP. By
|
||||||
default, TCP retries are performed.
|
default, TCP retries are performed.
|
||||||
|
|
||||||
``+[no]keepalive``
|
``+[no]keepalive``
|
||||||
Send [or do not send] an EDNS Keepalive option.
|
This option sends [or does not send] an EDNS Keepalive option.
|
||||||
|
|
||||||
``+[no]keepopen``
|
``+[no]keepopen``
|
||||||
Keep the TCP socket open between queries and reuse it rather than
|
This option keeps [or does not keep] the TCP socket open between queries, and reuses it rather than
|
||||||
creating a new TCP socket for each lookup. The default is
|
creating a new TCP socket for each lookup. The default is
|
||||||
``+nokeepopen``.
|
``+nokeepopen``.
|
||||||
|
|
||||||
``+[no]mapped``
|
``+[no]mapped``
|
||||||
Allow mapped IPv4 over IPv6 addresses to be used. The default is
|
This option allows [or does not allow] mapped IPv4-over-IPv6 addresses to be used. The default is
|
||||||
``+mapped``.
|
``+mapped``.
|
||||||
|
|
||||||
``+[no]multiline``
|
``+[no]multiline``
|
||||||
Print records like the SOA records in a verbose multi-line format
|
This option prints [or does not print] records, like the SOA records, in a verbose multi-line format
|
||||||
with human-readable comments. The default is to print each record on
|
with human-readable comments. The default is to print each record on
|
||||||
a single line, to facilitate machine parsing of the ``dig`` output.
|
a single line to facilitate machine parsing of the ``dig`` output.
|
||||||
|
|
||||||
``+ndots=D``
|
``+ndots=D``
|
||||||
Set the number of dots that have to appear in ``name`` to ``D`` for
|
This option sets the number of dots (``D``) that must appear in ``name`` for
|
||||||
it to be considered absolute. The default value is that defined using
|
it to be considered absolute. The default value is that defined using
|
||||||
the ndots statement in ``/etc/resolv.conf``, or 1 if no ndots
|
the ``ndots`` statement in ``/etc/resolv.conf``, or 1 if no ``ndots``
|
||||||
statement is present. Names with fewer dots are interpreted as
|
statement is present. Names with fewer dots are interpreted as
|
||||||
relative names and will be searched for in the domains listed in the
|
relative names, and are searched for in the domains listed in the
|
||||||
``search`` or ``domain`` directive in ``/etc/resolv.conf`` if
|
``search`` or ``domain`` directive in ``/etc/resolv.conf`` if
|
||||||
``+search`` is set.
|
``+search`` is set.
|
||||||
|
|
||||||
``+[no]nsid``
|
``+[no]nsid``
|
||||||
Include an EDNS name server ID request when sending a query.
|
When enabled, this option includes an EDNS name server ID request when sending a query.
|
||||||
|
|
||||||
``+[no]nssearch``
|
``+[no]nssearch``
|
||||||
When this option is set, ``dig`` attempts to find the authoritative
|
When this option is set, ``dig`` attempts to find the authoritative
|
||||||
name servers for the zone containing the name being looked up and
|
name servers for the zone containing the name being looked up, and
|
||||||
display the SOA record that each name server has for the zone.
|
display the SOA record that each name server has for the zone.
|
||||||
Addresses of servers that that did not respond are also printed.
|
Addresses of servers that did not respond are also printed.
|
||||||
|
|
||||||
``+[no]onesoa``
|
``+[no]onesoa``
|
||||||
Print only one (starting) SOA record when performing an AXFR. The
|
When enabled, this option prints only one (starting) SOA record when performing an AXFR. The
|
||||||
default is to print both the starting and ending SOA records.
|
default is to print both the starting and ending SOA records.
|
||||||
|
|
||||||
``+[no]opcode=value``
|
``+[no]opcode=value``
|
||||||
Set [restore] the DNS message opcode to the specified value. The
|
When enabled, this option sets (restores) the DNS message opcode to the specified value. The
|
||||||
default value is QUERY (0).
|
default value is QUERY (0).
|
||||||
|
|
||||||
``+padding=value``
|
``+padding=value``
|
||||||
Pad the size of the query packet using the EDNS Padding option to
|
This option pads the size of the query packet using the EDNS Padding option to
|
||||||
blocks of ``value`` bytes. For example, ``+padding=32`` would cause a
|
blocks of ``value`` bytes. For example, ``+padding=32`` causes a
|
||||||
48-byte query to be padded to 64 bytes. The default block size is 0,
|
48-byte query to be padded to 64 bytes. The default block size is 0,
|
||||||
which disables padding. The maximum is 512. Values are ordinarily
|
which disables padding; the maximum is 512. Values are ordinarily
|
||||||
expected to be powers of two, such as 128; however, this is not
|
expected to be powers of two, such as 128; however, this is not
|
||||||
mandatory. Responses to padded queries may also be padded, but only
|
mandatory. Responses to padded queries may also be padded, but only
|
||||||
if the query uses TCP or DNS COOKIE.
|
if the query uses TCP or DNS COOKIE.
|
||||||
|
|
||||||
``+qid=value``
|
``+qid=value``
|
||||||
|
This option specifies the query ID to use when sending queries.
|
||||||
Specify the query ID to use when sending queries.
|
|
||||||
|
|
||||||
``+[no]qr``
|
``+[no]qr``
|
||||||
Toggles the display of the query message as it is sent. By default, the query
|
This option toggles the display of the query message as it is sent. By default, the query
|
||||||
is not printed.
|
is not printed.
|
||||||
|
|
||||||
``+[no]question``
|
``+[no]question``
|
||||||
Toggles the display of the question section of a query when an answer is
|
This option toggles the display of the question section of a query when an answer is
|
||||||
returned. The default is to print the question section as a comment.
|
returned. The default is to print the question section as a comment.
|
||||||
|
|
||||||
``+[no]raflag``
|
``+[no]raflag``
|
||||||
Set [do not set] the RA (Recursion Available) bit in the query. The
|
This option sets [or does not set] the RA (Recursion Available) bit in the query. The
|
||||||
default is +noraflag. This bit should be ignored by the server for
|
default is ``+noraflag``. This bit is ignored by the server for
|
||||||
QUERY.
|
QUERY.
|
||||||
|
|
||||||
``+[no]rdflag``
|
``+[no]rdflag``
|
||||||
A synonym for ``+[no]recurse``.
|
This option is a synonym for ``+[no]recurse``.
|
||||||
|
|
||||||
``+[no]recurse``
|
``+[no]recurse``
|
||||||
Toggle the setting of the RD (recursion desired) bit in the query.
|
This option toggles the setting of the RD (recursion desired) bit in the query.
|
||||||
This bit is set by default, which means ``dig`` normally sends
|
This bit is set by default, which means ``dig`` normally sends
|
||||||
recursive queries. Recursion is automatically disabled when the
|
recursive queries. Recursion is automatically disabled when the
|
||||||
``+nssearch`` or ``+trace`` query options are used.
|
``+nssearch`` or ``+trace`` query option is used.
|
||||||
|
|
||||||
``+retry=T``
|
``+retry=T``
|
||||||
Sets the number of times to retry UDP queries to server to ``T``
|
This option sets the number of times to retry UDP queries to server to ``T``
|
||||||
instead of the default, 2. Unlike ``+tries``, this does not include
|
instead of the default, 2. Unlike ``+tries``, this does not include
|
||||||
the initial query.
|
the initial query.
|
||||||
|
|
||||||
``+[no]rrcomments``
|
``+[no]rrcomments``
|
||||||
Toggle the display of per-record comments in the output (for example,
|
This option toggles the display of per-record comments in the output (for example,
|
||||||
human-readable key information about DNSKEY records). The default is
|
human-readable key information about DNSKEY records). The default is
|
||||||
not to print record comments unless multiline mode is active.
|
not to print record comments unless multiline mode is active.
|
||||||
|
|
||||||
``+[no]search``
|
``+[no]search``
|
||||||
Use [do not use] the search list defined by the searchlist or domain
|
This option uses [or does not use] the search list defined by the searchlist or domain
|
||||||
directive in ``resolv.conf`` (if any). The search list is not used by
|
directive in ``resolv.conf``, if any. The search list is not used by
|
||||||
default.
|
default.
|
||||||
|
|
||||||
'ndots' from ``resolv.conf`` (default 1) which may be overridden by
|
``ndots`` from ``resolv.conf`` (default 1), which may be overridden by
|
||||||
``+ndots`` determines if the name will be treated as relative or not
|
``+ndots``, determines whether the name is treated as relative
|
||||||
and hence whether a search is eventually performed or not.
|
and hence whether a search is eventually performed.
|
||||||
|
|
||||||
``+[no]short``
|
``+[no]short``
|
||||||
Provide a terse answer. The default is to print the answer in a verbose
|
This option toggles whether a terse answer is provided. The default is to print the answer in a verbose
|
||||||
form. This option always has global effect; it cannot be set globally and
|
form. This option always has a global effect; it cannot be set globally and
|
||||||
then overridden on a per-lookup basis.
|
then overridden on a per-lookup basis.
|
||||||
|
|
||||||
``+[no]showsearch``
|
``+[no]showsearch``
|
||||||
Perform [do not perform] a search showing intermediate results.
|
This option performs [or does not perform] a search showing intermediate results.
|
||||||
|
|
||||||
``+[no]sigchase``
|
``+[no]sigchase``
|
||||||
This feature is now obsolete and has been removed; use ``delv``
|
This feature is now obsolete and has been removed; use ``delv``
|
||||||
instead.
|
instead.
|
||||||
|
|
||||||
``+split=W``
|
``+split=W``
|
||||||
Split long hex- or base64-formatted fields in resource records into
|
This option splits long hex- or base64-formatted fields in resource records into
|
||||||
chunks of ``W`` characters (where ``W`` is rounded up to the nearest
|
chunks of ``W`` characters (where ``W`` is rounded up to the nearest
|
||||||
multiple of 4). ``+nosplit`` or ``+split=0`` causes fields not to be
|
multiple of 4). ``+nosplit`` or ``+split=0`` causes fields not to be
|
||||||
split at all. The default is 56 characters, or 44 characters when
|
split at all. The default is 56 characters, or 44 characters when
|
||||||
multiline mode is active.
|
multiline mode is active.
|
||||||
|
|
||||||
``+[no]stats``
|
``+[no]stats``
|
||||||
Toggles the printing of statistics: when the query was made, the size of the
|
This option toggles the printing of statistics: when the query was made, the size of the
|
||||||
reply and so on. The default behavior is to print the query statistics as a
|
reply, etc. The default behavior is to print the query statistics as a
|
||||||
comment after each lookup.
|
comment after each lookup.
|
||||||
|
|
||||||
``+[no]subnet=addr[/prefix-length]``
|
``+[no]subnet=addr[/prefix-length]``
|
||||||
Send (don't send) an EDNS Client Subnet option with the specified IP
|
This option sends [or does not send] an EDNS CLIENT-SUBNET option with the specified IP
|
||||||
address or network prefix.
|
address or network prefix.
|
||||||
|
|
||||||
``dig +subnet=0.0.0.0/0``, or simply ``dig +subnet=0`` for short,
|
``dig +subnet=0.0.0.0/0``, or simply ``dig +subnet=0`` for short,
|
||||||
@@ -505,75 +504,74 @@ abbreviation is unambiguous; for example, ``+cd`` is equivalent to
|
|||||||
address information must *not* be used when resolving this query.
|
address information must *not* be used when resolving this query.
|
||||||
|
|
||||||
``+[no]tcflag``
|
``+[no]tcflag``
|
||||||
Set [do not set] the TC (TrunCation) bit in the query. The default is
|
This option sets [or does not set] the TC (TrunCation) bit in the query. The default is
|
||||||
+notcflag. This bit should be ignored by the server for QUERY.
|
``+notcflag``. This bit is ignored by the server for QUERY.
|
||||||
|
|
||||||
``+[no]tcp``
|
``+[no]tcp``
|
||||||
Use [do not use] TCP when querying name servers. The default behavior
|
This option uses [or does not use] TCP when querying name servers. The default behavior
|
||||||
is to use UDP unless a type ``any`` or ``ixfr=N`` query is requested,
|
is to use UDP unless a type ``any`` or ``ixfr=N`` query is requested,
|
||||||
in which case the default is TCP. AXFR queries always use TCP.
|
in which case the default is TCP. AXFR queries always use TCP.
|
||||||
|
|
||||||
``+timeout=T``
|
``+timeout=T``
|
||||||
Sets the timeout for a query to ``T`` seconds. The default timeout is
|
This option sets the timeout for a query to ``T`` seconds. The default timeout is
|
||||||
5 seconds. An attempt to set ``T`` to less than 1 will result in a
|
5 seconds. An attempt to set ``T`` to less than 1 is silently set to 1.
|
||||||
query timeout of 1 second being applied.
|
|
||||||
|
|
||||||
``+[no]topdown``
|
``+[no]topdown``
|
||||||
This feature is related to ``dig +sigchase``, which is obsolete and
|
This feature is related to ``dig +sigchase``, which is obsolete and
|
||||||
has been removed. Use ``delv`` instead.
|
has been removed. Use ``delv`` instead.
|
||||||
|
|
||||||
``+[no]trace``
|
``+[no]trace``
|
||||||
Toggle tracing of the delegation path from the root name servers for
|
This option toggles tracing of the delegation path from the root name servers for
|
||||||
the name being looked up. Tracing is disabled by default. When
|
the name being looked up. Tracing is disabled by default. When
|
||||||
tracing is enabled, ``dig`` makes iterative queries to resolve the
|
tracing is enabled, ``dig`` makes iterative queries to resolve the
|
||||||
name being looked up. It will follow referrals from the root servers,
|
name being looked up. It follows referrals from the root servers,
|
||||||
showing the answer from each server that was used to resolve the
|
showing the answer from each server that was used to resolve the
|
||||||
lookup.
|
lookup.
|
||||||
|
|
||||||
If @server is also specified, it affects only the initial query for
|
If ``@server`` is also specified, it affects only the initial query for
|
||||||
the root zone name servers.
|
the root zone name servers.
|
||||||
|
|
||||||
``+dnssec`` is also set when +trace is set to better emulate the
|
``+dnssec`` is also set when ``+trace`` is set, to better emulate the
|
||||||
default queries from a nameserver.
|
default queries from a name server.
|
||||||
|
|
||||||
``+tries=T``
|
``+tries=T``
|
||||||
Sets the number of times to try UDP queries to server to ``T``
|
This option sets the number of times to try UDP queries to server to ``T``
|
||||||
instead of the default, 3. If ``T`` is less than or equal to zero,
|
instead of the default, 3. If ``T`` is less than or equal to zero,
|
||||||
the number of tries is silently rounded up to 1.
|
the number of tries is silently rounded up to 1.
|
||||||
|
|
||||||
``+trusted-key=####``
|
``+trusted-key=####``
|
||||||
Formerly specified trusted keys for use with ``dig +sigchase``. This
|
This option formerly specified trusted keys for use with ``dig +sigchase``. This
|
||||||
feature is now obsolete and has been removed; use ``delv`` instead.
|
feature is now obsolete and has been removed; use ``delv`` instead.
|
||||||
|
|
||||||
``+[no]ttlid``
|
``+[no]ttlid``
|
||||||
Display [do not display] the TTL when printing the record.
|
This option displays [or does not display] the TTL when printing the record.
|
||||||
|
|
||||||
``+[no]ttlunits``
|
``+[no]ttlunits``
|
||||||
Display [do not display] the TTL in friendly human-readable time
|
This option displays [or does not display] the TTL in friendly human-readable time
|
||||||
units of "s", "m", "h", "d", and "w", representing seconds, minutes,
|
units of ``s``, ``m``, ``h``, ``d``, and ``w``, representing seconds, minutes,
|
||||||
hours, days and weeks. Implies +ttlid.
|
hours, days, and weeks. This implies ``+ttlid``.
|
||||||
|
|
||||||
``+[no]unexpected``
|
``+[no]unexpected``
|
||||||
Accept [do not accept] answers from unexpected sources. By default, ``dig``
|
This option accepts [or does not accept] answers from unexpected sources. By default, ``dig``
|
||||||
won't accept a reply from a source other than the one to which it sent the
|
will not accept a reply from a source other than the one to which it sent the
|
||||||
query.
|
query.
|
||||||
|
|
||||||
``+[no]unknownformat``
|
``+[no]unknownformat``
|
||||||
Print all RDATA in unknown RR type presentation format (:rfc:`3597`).
|
This option prints all RDATA in unknown RR type presentation format (:rfc:`3597`).
|
||||||
The default is to print RDATA for known types in the type's
|
The default is to print RDATA for known types in the type's
|
||||||
presentation format.
|
presentation format.
|
||||||
|
|
||||||
``+[no]vc``
|
``+[no]vc``
|
||||||
Use [do not use] TCP when querying name servers. This alternate
|
This option uses [or does not use] TCP when querying name servers. This alternate
|
||||||
syntax to ``+[no]tcp`` is provided for backwards compatibility. The
|
syntax to ``+[no]tcp`` is provided for backwards compatibility. The
|
||||||
"vc" stands for "virtual circuit".
|
``vc`` stands for "virtual circuit."
|
||||||
|
|
||||||
``+[no]yaml``
|
``+[no]yaml``
|
||||||
Print the responses (and, if <option>+qr</option> is in use, also the
|
When enabled, this option prints the responses (and, if ``+qr`` is in use, also the
|
||||||
outgoing queries) in a detailed YAML format.
|
outgoing queries) in a detailed YAML format.
|
||||||
|
|
||||||
``+[no]zflag``
|
``+[no]zflag``
|
||||||
Set [do not set] the last unassigned DNS header flag in a DNS query.
|
This option sets [or does not set] the last unassigned DNS header flag in a DNS query.
|
||||||
This flag is off by default.
|
This flag is off by default.
|
||||||
|
|
||||||
Multiple Queries
|
Multiple Queries
|
||||||
@@ -582,12 +580,12 @@ Multiple Queries
|
|||||||
The BIND 9 implementation of ``dig`` supports specifying multiple
|
The BIND 9 implementation of ``dig`` supports specifying multiple
|
||||||
queries on the command line (in addition to supporting the ``-f`` batch
|
queries on the command line (in addition to supporting the ``-f`` batch
|
||||||
file option). Each of those queries can be supplied with its own set of
|
file option). Each of those queries can be supplied with its own set of
|
||||||
flags, options and query options.
|
flags, options, and query options.
|
||||||
|
|
||||||
In this case, each ``query`` argument represent an individual query in
|
In this case, each ``query`` argument represents an individual query in
|
||||||
the command-line syntax described above. Each consists of any of the
|
the command-line syntax described above. Each consists of any of the
|
||||||
standard options and flags, the name to be looked up, an optional query
|
standard options and flags, the name to be looked up, an optional query
|
||||||
type and class and any query options that should be applied to that
|
type and class, and any query options that should be applied to that
|
||||||
query.
|
query.
|
||||||
|
|
||||||
A global set of query options, which should be applied to all queries,
|
A global set of query options, which should be applied to all queries,
|
||||||
@@ -601,12 +599,12 @@ query options. For example:
|
|||||||
|
|
||||||
dig +qr www.isc.org any -x 127.0.0.1 isc.org ns +noqr
|
dig +qr www.isc.org any -x 127.0.0.1 isc.org ns +noqr
|
||||||
|
|
||||||
shows how ``dig`` could be used from the command line to make three
|
shows how ``dig`` can be used from the command line to make three
|
||||||
lookups: an ANY query for ``www.isc.org``, a reverse lookup of 127.0.0.1
|
lookups: an ANY query for ``www.isc.org``, a reverse lookup of 127.0.0.1,
|
||||||
and a query for the NS records of ``isc.org``. A global query option of
|
and a query for the NS records of ``isc.org``. A global query option of
|
||||||
``+qr`` is applied, so that ``dig`` shows the initial query it made for
|
``+qr`` is applied, so that ``dig`` shows the initial query it made for
|
||||||
each lookup. The final query has a local query option of ``+noqr`` which
|
each lookup. The final query has a local query option of ``+noqr`` which
|
||||||
means that ``dig`` will not print the initial query when it looks up the
|
means that ``dig`` does not print the initial query when it looks up the
|
||||||
NS records for ``isc.org``.
|
NS records for ``isc.org``.
|
||||||
|
|
||||||
IDN Support
|
IDN Support
|
||||||
@@ -614,10 +612,10 @@ IDN Support
|
|||||||
|
|
||||||
If ``dig`` has been built with IDN (internationalized domain name)
|
If ``dig`` has been built with IDN (internationalized domain name)
|
||||||
support, it can accept and display non-ASCII domain names. ``dig``
|
support, it can accept and display non-ASCII domain names. ``dig``
|
||||||
appropriately converts character encoding of domain name before sending
|
appropriately converts character encoding of a domain name before sending
|
||||||
a request to DNS server or displaying a reply from the server. If you'd
|
a request to a DNS server or displaying a reply from the server.
|
||||||
like to turn off the IDN support for some reason, use parameters
|
To turn off IDN support, use the parameters
|
||||||
``+noidnin`` and ``+noidnout`` or define the IDN_DISABLE environment
|
``+noidnin`` and ``+noidnout``, or define the ``IDN_DISABLE`` environment
|
||||||
variable.
|
variable.
|
||||||
|
|
||||||
Files
|
Files
|
||||||
|
|||||||
@@ -1494,6 +1494,7 @@ save_opt(dig_lookup_t *lookup, char *code, char *value) {
|
|||||||
if (lookup->ednsopts == NULL) {
|
if (lookup->ednsopts == NULL) {
|
||||||
cloneopts(lookup, NULL);
|
cloneopts(lookup, NULL);
|
||||||
}
|
}
|
||||||
|
INSIST(lookup->ednsopts != NULL);
|
||||||
|
|
||||||
if (lookup->ednsopts[lookup->ednsoptscnt].value != NULL) {
|
if (lookup->ednsopts[lookup->ednsoptscnt].value != NULL) {
|
||||||
isc_mem_free(mctx, lookup->ednsopts[lookup->ednsoptscnt].value);
|
isc_mem_free(mctx, lookup->ednsopts[lookup->ednsoptscnt].value);
|
||||||
|
|||||||
+67
-67
@@ -36,12 +36,12 @@ Description
|
|||||||
|
|
||||||
``host`` is a simple utility for performing DNS lookups. It is normally
|
``host`` is a simple utility for performing DNS lookups. It is normally
|
||||||
used to convert names to IP addresses and vice versa. When no arguments
|
used to convert names to IP addresses and vice versa. When no arguments
|
||||||
or options are given, ``host`` prints a short summary of its command
|
or options are given, ``host`` prints a short summary of its
|
||||||
line arguments and options.
|
command-line arguments and options.
|
||||||
|
|
||||||
``name`` is the domain name that is to be looked up. It can also be a
|
``name`` is the domain name that is to be looked up. It can also be a
|
||||||
dotted-decimal IPv4 address or a colon-delimited IPv6 address, in which
|
dotted-decimal IPv4 address or a colon-delimited IPv6 address, in which
|
||||||
case ``host`` will by default perform a reverse lookup for that address.
|
case ``host`` by default performs a reverse lookup for that address.
|
||||||
``server`` is an optional argument which is either the name or IP
|
``server`` is an optional argument which is either the name or IP
|
||||||
address of the name server that ``host`` should query instead of the
|
address of the name server that ``host`` should query instead of the
|
||||||
server or servers listed in ``/etc/resolv.conf``.
|
server or servers listed in ``/etc/resolv.conf``.
|
||||||
@@ -49,111 +49,111 @@ server or servers listed in ``/etc/resolv.conf``.
|
|||||||
Options
|
Options
|
||||||
~~~~~~~
|
~~~~~~~
|
||||||
|
|
||||||
**-4**
|
``-4``
|
||||||
Use IPv4 only for query transport. See also the ``-6`` option.
|
This option specifies that only IPv4 should be used for query transport. See also the ``-6`` option.
|
||||||
|
|
||||||
**-6**
|
``-6``
|
||||||
Use IPv6 only for query transport. See also the ``-4`` option.
|
This option specifies that only IPv6 should be used for query transport. See also the ``-4`` option.
|
||||||
|
|
||||||
**-a**
|
``-a``
|
||||||
"All". The ``-a`` option is normally equivalent to ``-v -t ANY``. It
|
The ``-a`` ("all") option is normally equivalent to ``-v -t ANY``. It
|
||||||
also affects the behaviour of the ``-l`` list zone option.
|
also affects the behavior of the ``-l`` list zone option.
|
||||||
|
|
||||||
**-A**
|
``-A``
|
||||||
"Almost all". The ``-A`` option is equivalent to ``-a`` except RRSIG,
|
The ``-A`` ("almost all") option is equivalent to ``-a``, except that RRSIG,
|
||||||
NSEC, and NSEC3 records are omitted from the output.
|
NSEC, and NSEC3 records are omitted from the output.
|
||||||
|
|
||||||
**-c** class
|
``-c class``
|
||||||
Query class: This can be used to lookup HS (Hesiod) or CH (Chaosnet)
|
This option specifies the query class, which can be used to lookup HS (Hesiod) or CH (Chaosnet)
|
||||||
class resource records. The default class is IN (Internet).
|
class resource records. The default class is IN (Internet).
|
||||||
|
|
||||||
**-C**
|
``-C``
|
||||||
Check consistency: ``host`` will query the SOA records for zone
|
This option indicates that ``named`` should check consistency, meaning that ``host`` queries the SOA records for zone
|
||||||
``name`` from all the listed authoritative name servers for that
|
``name`` from all the listed authoritative name servers for that
|
||||||
zone. The list of name servers is defined by the NS records that are
|
zone. The list of name servers is defined by the NS records that are
|
||||||
found for the zone.
|
found for the zone.
|
||||||
|
|
||||||
**-d**
|
``-d``
|
||||||
Print debugging traces. Equivalent to the ``-v`` verbose option.
|
This option prints debugging traces, and is equivalent to the ``-v`` verbose option.
|
||||||
|
|
||||||
**-l**
|
``-l``
|
||||||
List zone: The ``host`` command performs a zone transfer of zone
|
This option tells ``named` to list the zone, meaning the ``host`` command performs a zone transfer of zone
|
||||||
``name`` and prints out the NS, PTR and address records (A/AAAA).
|
``name`` and prints out the NS, PTR, and address records (A/AAAA).
|
||||||
|
|
||||||
Together, the ``-l -a`` options print all records in the zone.
|
Together, the ``-l -a`` options print all records in the zone.
|
||||||
|
|
||||||
**-N** ndots
|
``-N ndots``
|
||||||
The number of dots that have to be in ``name`` for it to be
|
This option specifies the number of dots (``ndots``) that have to be in ``name`` for it to be
|
||||||
considered absolute. The default value is that defined using the
|
considered absolute. The default value is that defined using the
|
||||||
ndots statement in ``/etc/resolv.conf``, or 1 if no ndots statement
|
``ndots`` statement in ``/etc/resolv.conf``, or 1 if no ``ndots`` statement
|
||||||
is present. Names with fewer dots are interpreted as relative names
|
is present. Names with fewer dots are interpreted as relative names,
|
||||||
and will be searched for in the domains listed in the ``search`` or
|
and are searched for in the domains listed in the ``search`` or
|
||||||
``domain`` directive in ``/etc/resolv.conf``.
|
``domain`` directive in ``/etc/resolv.conf``.
|
||||||
|
|
||||||
**-p** port
|
``-p port``
|
||||||
Specify the port on the server to query. The default is 53.
|
This option specifies the port to query on the server. The default is 53.
|
||||||
|
|
||||||
**-r**
|
``-r``
|
||||||
Non-recursive query: Setting this option clears the RD (recursion
|
This option specifies a non-recursive query; setting this option clears the RD (recursion
|
||||||
desired) bit in the query. This should mean that the name server
|
desired) bit in the query. This means that the name server
|
||||||
receiving the query will not attempt to resolve ``name``. The ``-r``
|
receiving the query does not attempt to resolve ``name``. The ``-r``
|
||||||
option enables ``host`` to mimic the behavior of a name server by
|
option enables ``host`` to mimic the behavior of a name server by
|
||||||
making non-recursive queries and expecting to receive answers to
|
making non-recursive queries, and expecting to receive answers to
|
||||||
those queries that can be referrals to other name servers.
|
those queries that can be referrals to other name servers.
|
||||||
|
|
||||||
**-R** number
|
``-R number``
|
||||||
Number of retries for UDP queries: If ``number`` is negative or zero,
|
This option specifies the number of retries for UDP queries. If ``number`` is negative or zero,
|
||||||
the number of retries will default to 1. The default value is 1, or
|
the number of retries is silently set to 1. The default value is 1, or
|
||||||
the value of the ``attempts`` option in ``/etc/resolv.conf``, if set.
|
the value of the ``attempts`` option in ``/etc/resolv.conf``, if set.
|
||||||
|
|
||||||
**-s**
|
``-s``
|
||||||
Do *not* send the query to the next nameserver if any server responds
|
This option tells ``named`` *not* to send the query to the next nameserver if any server responds
|
||||||
with a SERVFAIL response, which is the reverse of normal stub
|
with a SERVFAIL response, which is the reverse of normal stub
|
||||||
resolver behavior.
|
resolver behavior.
|
||||||
|
|
||||||
**-t** type
|
``-t type``
|
||||||
Query type: The ``type`` argument can be any recognized query type:
|
This option specifies the query type. The ``type`` argument can be any recognized query type:
|
||||||
CNAME, NS, SOA, TXT, DNSKEY, AXFR, etc.
|
CNAME, NS, SOA, TXT, DNSKEY, AXFR, etc.
|
||||||
|
|
||||||
When no query type is specified, ``host`` automatically selects an
|
When no query type is specified, ``host`` automatically selects an
|
||||||
appropriate query type. By default, it looks for A, AAAA, and MX
|
appropriate query type. By default, it looks for A, AAAA, and MX
|
||||||
records. If the ``-C`` option is given, queries will be made for SOA
|
records. If the ``-C`` option is given, queries are made for SOA
|
||||||
records. If ``name`` is a dotted-decimal IPv4 address or
|
records. If ``name`` is a dotted-decimal IPv4 address or
|
||||||
colon-delimited IPv6 address, ``host`` will query for PTR records.
|
colon-delimited IPv6 address, ``host`` queries for PTR records.
|
||||||
|
|
||||||
If a query type of IXFR is chosen the starting serial number can be
|
If a query type of IXFR is chosen, the starting serial number can be
|
||||||
specified by appending an equal followed by the starting serial
|
specified by appending an equals sign (=), followed by the starting serial
|
||||||
number (like ``-t IXFR=12345678``).
|
number, e.g., ``-t IXFR=12345678``.
|
||||||
|
|
||||||
**-T**; **-U**
|
``-T``; ``-U``
|
||||||
TCP/UDP: By default, ``host`` uses UDP when making queries. The
|
This option specifies TCP or UDP. By default, ``host`` uses UDP when making queries; the
|
||||||
``-T`` option makes it use a TCP connection when querying the name
|
``-T`` option makes it use a TCP connection when querying the name
|
||||||
server. TCP will be automatically selected for queries that require
|
server. TCP is automatically selected for queries that require
|
||||||
it, such as zone transfer (AXFR) requests. Type ANY queries default
|
it, such as zone transfer (AXFR) requests. Type ``ANY`` queries default
|
||||||
to TCP but can be forced to UDP initially using ``-U``.
|
to TCP, but can be forced to use UDP initially via ``-U``.
|
||||||
|
|
||||||
**-m** flag
|
``-m flag``
|
||||||
Memory usage debugging: the flag can be ``record``, ``usage``, or
|
This option sets memory usage debugging: the flag can be ``record``, ``usage``, or
|
||||||
``trace``. You can specify the ``-m`` option more than once to set
|
``trace``. The ``-m`` option can be specified more than once to set
|
||||||
multiple flags.
|
multiple flags.
|
||||||
|
|
||||||
**-v**
|
``-v``
|
||||||
Verbose output. Equivalent to the ``-d`` debug option. Verbose output
|
This option sets verbose output, and is equivalent to the ``-d`` debug option. Verbose output
|
||||||
can also be enabled by setting the ``debug`` option in
|
can also be enabled by setting the ``debug`` option in
|
||||||
``/etc/resolv.conf``.
|
``/etc/resolv.conf``.
|
||||||
|
|
||||||
**-V**
|
``-V``
|
||||||
Print the version number and exit.
|
This option prints the version number and exits.
|
||||||
|
|
||||||
**-w**
|
``-w``
|
||||||
Wait forever: The query timeout is set to the maximum possible. See
|
This option sets "wait forever": the query timeout is set to the maximum possible. See
|
||||||
also the ``-W`` option.
|
also the ``-W`` option.
|
||||||
|
|
||||||
**-W** wait
|
``-W wait``
|
||||||
Timeout: Wait for up to ``wait`` seconds for a reply. If ``wait`` is
|
This options sets the length of the wait timeout, indicating that ``named`` should wait for up to ``wait`` seconds for a reply. If ``wait`` is
|
||||||
less than one, the wait interval is set to one second.
|
less than 1, the wait interval is set to 1 second.
|
||||||
|
|
||||||
By default, ``host`` will wait for 5 seconds for UDP responses and 10
|
By default, ``host`` waits for 5 seconds for UDP responses and 10
|
||||||
seconds for TCP connections. These defaults can be overridden by the
|
seconds for TCP connections. These defaults can be overridden by the
|
||||||
``timeout`` option in ``/etc/resolv.conf``.
|
``timeout`` option in ``/etc/resolv.conf``.
|
||||||
|
|
||||||
@@ -164,10 +164,10 @@ IDN Support
|
|||||||
|
|
||||||
If ``host`` has been built with IDN (internationalized domain name)
|
If ``host`` has been built with IDN (internationalized domain name)
|
||||||
support, it can accept and display non-ASCII domain names. ``host``
|
support, it can accept and display non-ASCII domain names. ``host``
|
||||||
appropriately converts character encoding of domain name before sending
|
appropriately converts character encoding of a domain name before sending
|
||||||
a request to DNS server or displaying a reply from the server. If you'd
|
a request to a DNS server or displaying a reply from the server.
|
||||||
like to turn off the IDN support for some reason, define the IDN_DISABLE
|
To turn off IDN support, define the ``IDN_DISABLE``
|
||||||
environment variable. The IDN support is disabled if the variable is set
|
environment variable. IDN support is disabled if the variable is set
|
||||||
when ``host`` runs.
|
when ``host`` runs.
|
||||||
|
|
||||||
Files
|
Files
|
||||||
|
|||||||
+68
-78
@@ -34,11 +34,11 @@ Synopsis
|
|||||||
Description
|
Description
|
||||||
~~~~~~~~~~~
|
~~~~~~~~~~~
|
||||||
|
|
||||||
``Nslookup`` is a program to query Internet domain name servers.
|
``nslookup`` is a program to query Internet domain name servers.
|
||||||
``Nslookup`` has two modes: interactive and non-interactive. Interactive
|
``nslookup`` has two modes: interactive and non-interactive. Interactive
|
||||||
mode allows the user to query name servers for information about various
|
mode allows the user to query name servers for information about various
|
||||||
hosts and domains or to print a list of hosts in a domain.
|
hosts and domains or to print a list of hosts in a domain.
|
||||||
Non-interactive mode is used to print just the name and requested
|
Non-interactive mode prints just the name and requested
|
||||||
information for a host or domain.
|
information for a host or domain.
|
||||||
|
|
||||||
Arguments
|
Arguments
|
||||||
@@ -46,7 +46,7 @@ Arguments
|
|||||||
|
|
||||||
Interactive mode is entered in the following cases:
|
Interactive mode is entered in the following cases:
|
||||||
|
|
||||||
a. when no arguments are given (the default name server will be used)
|
a. when no arguments are given (the default name server is used);
|
||||||
|
|
||||||
b. when the first argument is a hyphen (-) and the second argument is
|
b. when the first argument is a hyphen (-) and the second argument is
|
||||||
the host name or Internet address of a name server.
|
the host name or Internet address of a name server.
|
||||||
@@ -57,7 +57,7 @@ argument specifies the host name or address of a name server.
|
|||||||
|
|
||||||
Options can also be specified on the command line if they precede the
|
Options can also be specified on the command line if they precede the
|
||||||
arguments and are prefixed with a hyphen. For example, to change the
|
arguments and are prefixed with a hyphen. For example, to change the
|
||||||
default query type to host information, and the initial timeout to 10
|
default query type to host information, with an initial timeout of 10
|
||||||
seconds, type:
|
seconds, type:
|
||||||
|
|
||||||
::
|
::
|
||||||
@@ -65,59 +65,59 @@ seconds, type:
|
|||||||
nslookup -query=hinfo -timeout=10
|
nslookup -query=hinfo -timeout=10
|
||||||
|
|
||||||
The ``-version`` option causes ``nslookup`` to print the version number
|
The ``-version`` option causes ``nslookup`` to print the version number
|
||||||
and immediately exits.
|
and immediately exit.
|
||||||
|
|
||||||
Interactive Commands
|
Interactive Commands
|
||||||
~~~~~~~~~~~~~~~~~~~~
|
~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
``host`` [server]
|
``host [server]``
|
||||||
Look up information for host using the current default server or
|
This command looks up information for ``host`` using the current default server or
|
||||||
using server, if specified. If host is an Internet address and the
|
using ``server``, if specified. If ``host`` is an Internet address and the
|
||||||
query type is A or PTR, the name of the host is returned. If host is
|
query type is A or PTR, the name of the host is returned. If ``host`` is
|
||||||
a name and does not have a trailing period, the search list is used
|
a name and does not have a trailing period (``.``), the search list is used
|
||||||
to qualify the name.
|
to qualify the name.
|
||||||
|
|
||||||
To look up a host not in the current domain, append a period to the
|
To look up a host not in the current domain, append a period to the
|
||||||
name.
|
name.
|
||||||
|
|
||||||
``server`` domain | ``lserver`` domain
|
``server domain`` | ``lserver domain``
|
||||||
Change the default server to domain; ``lserver`` uses the initial
|
These commands change the default server to ``domain``; ``lserver`` uses the initial
|
||||||
server to look up information about domain, while ``server`` uses the
|
server to look up information about ``domain``, while ``server`` uses the
|
||||||
current default server. If an authoritative answer can't be found,
|
current default server. If an authoritative answer cannot be found,
|
||||||
the names of servers that might have the answer are returned.
|
the names of servers that might have the answer are returned.
|
||||||
|
|
||||||
``root``
|
``root``
|
||||||
not implemented
|
This command is not implemented.
|
||||||
|
|
||||||
``finger``
|
``finger``
|
||||||
not implemented
|
This command is not implemented.
|
||||||
|
|
||||||
``ls``
|
``ls``
|
||||||
not implemented
|
This command is not implemented.
|
||||||
|
|
||||||
``view``
|
``view``
|
||||||
not implemented
|
This command is not implemented.
|
||||||
|
|
||||||
``help``
|
``help``
|
||||||
not implemented
|
This command is not implemented.
|
||||||
|
|
||||||
``?``
|
``?``
|
||||||
not implemented
|
This command is not implemented.
|
||||||
|
|
||||||
``exit``
|
``exit``
|
||||||
Exits the program.
|
This command exits the program.
|
||||||
|
|
||||||
``set`` keyword[=value]
|
``set keyword[=value]``
|
||||||
This command is used to change state information that affects the
|
This command is used to change state information that affects the
|
||||||
lookups. Valid keywords are:
|
lookups. Valid keywords are:
|
||||||
|
|
||||||
``all``
|
``all``
|
||||||
Prints the current values of the frequently used options to
|
This keyword prints the current values of the frequently used options to
|
||||||
``set``. Information about the current default server and host is
|
``set``. Information about the current default server and host is
|
||||||
also printed.
|
also printed.
|
||||||
|
|
||||||
``class=``\ value
|
``class=value``
|
||||||
Change the query class to one of:
|
This keyword changes the query class to one of:
|
||||||
|
|
||||||
``IN``
|
``IN``
|
||||||
the Internet class
|
the Internet class
|
||||||
@@ -131,72 +131,62 @@ Interactive Commands
|
|||||||
``ANY``
|
``ANY``
|
||||||
wildcard
|
wildcard
|
||||||
|
|
||||||
The class specifies the protocol group of the information.
|
The class specifies the protocol group of the information. The default
|
||||||
|
is ``IN``; the abbreviation for this keyword is ``cl``.
|
||||||
(Default = IN; abbreviation = cl)
|
|
||||||
|
|
||||||
``nodebug``
|
``nodebug``
|
||||||
Turn on or off the display of the full response packet and any
|
This keyword turns on or off the display of the full response packet, and any
|
||||||
intermediate response packets when searching.
|
intermediate response packets, when searching. The default for this keyword is
|
||||||
|
``nodebug``; the abbreviation for this keyword is ``[no]deb``.
|
||||||
(Default = nodebug; abbreviation = [no]deb)
|
|
||||||
|
|
||||||
``nod2``
|
``nod2``
|
||||||
Turn debugging mode on or off. This displays more about what
|
This keyword turns debugging mode on or off. This displays more about what
|
||||||
nslookup is doing.
|
nslookup is doing. The default is ``nod2``.
|
||||||
|
|
||||||
(Default = nod2)
|
``domain=name``
|
||||||
|
This keyword sets the search list to ``name``.
|
||||||
``domain=``\ name
|
|
||||||
Sets the search list to name.
|
|
||||||
|
|
||||||
``nosearch``
|
``nosearch``
|
||||||
If the lookup request contains at least one period but doesn't end
|
If the lookup request contains at least one period, but does not end
|
||||||
with a trailing period, append the domain names in the domain
|
with a trailing period, this keyword appends the domain names in the domain
|
||||||
search list to the request until an answer is received.
|
search list to the request until an answer is received. The default is ``search``.
|
||||||
|
|
||||||
(Default = search)
|
``port=value``
|
||||||
|
This keyword changes the default TCP/UDP name server port to ``value`` from
|
||||||
|
its default, port 53. The abbreviation for this keyword is ``po``.
|
||||||
|
|
||||||
``port=``\ value
|
``querytype=value`` | ``type=value``
|
||||||
Change the default TCP/UDP name server port to value.
|
This keyword changes the type of the information query to ``value``. The
|
||||||
|
defaults are A and then AAAA; the abbreviations for these keywords are
|
||||||
|
``q`` and ``ty``.
|
||||||
|
|
||||||
(Default = 53; abbreviation = po)
|
Please note that it is only possible to specify one query type. Only the default
|
||||||
|
behavior looks up both when an alternative is not specified.
|
||||||
``querytype=``\ value | ``type=``\ value
|
|
||||||
Change the type of the information query.
|
|
||||||
|
|
||||||
(Default = A and then AAAA; abbreviations = q, ty)
|
|
||||||
|
|
||||||
**Note:** It is only possible to specify one query type, only the default
|
|
||||||
behavior looks up both when an alternative is not specified.
|
|
||||||
|
|
||||||
``norecurse``
|
``norecurse``
|
||||||
Tell the name server to query other servers if it does not have
|
This keyword tells the name server to query other servers if it does not have
|
||||||
the information.
|
the information. The default is ``recurse``; the abbreviation for this
|
||||||
|
keyword is ``[no]rec``.
|
||||||
|
|
||||||
(Default = recurse; abbreviation = [no]rec)
|
``ndots=number``
|
||||||
|
This keyword sets the number of dots (label separators) in a domain that
|
||||||
|
disables searching. Absolute names always stop searching.
|
||||||
|
|
||||||
``ndots=``\ number
|
``retry=number``
|
||||||
Set the number of dots (label separators) in a domain that will
|
This keyword sets the number of retries to ``number``.
|
||||||
disable searching. Absolute names always stop searching.
|
|
||||||
|
|
||||||
``retry=``\ number
|
``timeout=number``
|
||||||
Set the number of retries to number.
|
This keyword changes the initial timeout interval to wait for a reply to
|
||||||
|
``number``, in seconds.
|
||||||
``timeout=``\ number
|
|
||||||
Change the initial timeout interval for waiting for a reply to
|
|
||||||
number seconds.
|
|
||||||
|
|
||||||
``novc``
|
``novc``
|
||||||
Always use a virtual circuit when sending requests to the server.
|
This keyword indicates that a virtual circuit should always be used when sending requests to the server.
|
||||||
|
``novc`` is the default.
|
||||||
(Default = novc)
|
|
||||||
|
|
||||||
``nofail``
|
``nofail``
|
||||||
Try the next nameserver if a nameserver responds with SERVFAIL or
|
This keyword tries the next nameserver if a nameserver responds with SERVFAIL or
|
||||||
a referral (nofail) or terminate query (fail) on such a response.
|
a referral (nofail), or terminates the query (fail) on such a response. The
|
||||||
|
default is ``nofail``.
|
||||||
(Default = nofail)
|
|
||||||
|
|
||||||
Return Values
|
Return Values
|
||||||
~~~~~~~~~~~~~
|
~~~~~~~~~~~~~
|
||||||
@@ -209,11 +199,11 @@ IDN Support
|
|||||||
|
|
||||||
If ``nslookup`` has been built with IDN (internationalized domain name)
|
If ``nslookup`` has been built with IDN (internationalized domain name)
|
||||||
support, it can accept and display non-ASCII domain names. ``nslookup``
|
support, it can accept and display non-ASCII domain names. ``nslookup``
|
||||||
appropriately converts character encoding of domain name before sending
|
appropriately converts character encoding of a domain name before sending
|
||||||
a request to DNS server or displaying a reply from the server. If you'd
|
a request to a DNS server or displaying a reply from the server.
|
||||||
like to turn off the IDN support for some reason, define the IDN_DISABLE
|
To turn off IDN support, define the ``IDN_DISABLE``
|
||||||
environment variable. The IDN support is disabled if the variable is set
|
environment variable. IDN support is disabled if the variable is set
|
||||||
when ``nslookup`` runs or when the standard output is not a tty.
|
when ``nslookup`` runs, or when the standard output is not a tty.
|
||||||
|
|
||||||
Files
|
Files
|
||||||
~~~~~
|
~~~~~
|
||||||
|
|||||||
+59
-58
@@ -29,7 +29,7 @@ dnssec-cds - change DS records for a child zone based on CDS/CDNSKEY
|
|||||||
Synopsis
|
Synopsis
|
||||||
~~~~~~~~
|
~~~~~~~~
|
||||||
|
|
||||||
:program:`dnssec-cds` [**-a** alg...] [**-c** class] [**-D**] {**-d** dsset-file} {**-f** child-file} [**-i** [extension]] [**-s** start-time] [**-T** ttl] [**-u**] [**-v** level] [**-V**] {domain}
|
:program:`dnssec-cds` [**-a** alg...] [**-c** class] [**-D**] {**-d** dsset-file} {**-f** child-file} [**-i**[extension]] [**-s** start-time] [**-T** ttl] [**-u**] [**-v** level] [**-V**] {domain}
|
||||||
|
|
||||||
Description
|
Description
|
||||||
~~~~~~~~~~~
|
~~~~~~~~~~~
|
||||||
@@ -38,8 +38,8 @@ The ``dnssec-cds`` command changes DS records at a delegation point
|
|||||||
based on CDS or CDNSKEY records published in the child zone. If both CDS
|
based on CDS or CDNSKEY records published in the child zone. If both CDS
|
||||||
and CDNSKEY records are present in the child zone, the CDS is preferred.
|
and CDNSKEY records are present in the child zone, the CDS is preferred.
|
||||||
This enables a child zone to inform its parent of upcoming changes to
|
This enables a child zone to inform its parent of upcoming changes to
|
||||||
its key-signing keys; by polling periodically with ``dnssec-cds``, the
|
its key-signing keys (KSKs); by polling periodically with ``dnssec-cds``, the
|
||||||
parent can keep the DS records up to date and enable automatic rolling
|
parent can keep the DS records up-to-date and enable automatic rolling
|
||||||
of KSKs.
|
of KSKs.
|
||||||
|
|
||||||
Two input files are required. The ``-f child-file`` option specifies a
|
Two input files are required. The ``-f child-file`` option specifies a
|
||||||
@@ -52,12 +52,12 @@ output of a previous run of ``dnssec-cds``.
|
|||||||
|
|
||||||
The ``dnssec-cds`` command uses special DNSSEC validation logic
|
The ``dnssec-cds`` command uses special DNSSEC validation logic
|
||||||
specified by :rfc:`7344`. It requires that the CDS and/or CDNSKEY records
|
specified by :rfc:`7344`. It requires that the CDS and/or CDNSKEY records
|
||||||
are validly signed by a key represented in the existing DS records. This
|
be validly signed by a key represented in the existing DS records. This
|
||||||
will typically be the pre-existing key-signing key (KSK).
|
is typically the pre-existing KSK.
|
||||||
|
|
||||||
For protection against replay attacks, the signatures on the child
|
For protection against replay attacks, the signatures on the child
|
||||||
records must not be older than they were on a previous run of
|
records must not be older than they were on a previous run of
|
||||||
``dnssec-cds``. This time is obtained from the modification time of the
|
``dnssec-cds``. Their age is obtained from the modification time of the
|
||||||
``dsset-`` file, or from the ``-s`` option.
|
``dsset-`` file, or from the ``-s`` option.
|
||||||
|
|
||||||
To protect against breaking the delegation, ``dnssec-cds`` ensures that
|
To protect against breaking the delegation, ``dnssec-cds`` ensures that
|
||||||
@@ -67,103 +67,104 @@ type.
|
|||||||
|
|
||||||
By default, replacement DS records are written to the standard output;
|
By default, replacement DS records are written to the standard output;
|
||||||
with the ``-i`` option the input file is overwritten in place. The
|
with the ``-i`` option the input file is overwritten in place. The
|
||||||
replacement DS records will be the same as the existing records when no
|
replacement DS records are the same as the existing records, when no
|
||||||
change is required. The output can be empty if the CDS / CDNSKEY records
|
change is required. The output can be empty if the CDS/CDNSKEY records
|
||||||
specify that the child zone wants to go insecure.
|
specify that the child zone wants to be insecure.
|
||||||
|
|
||||||
Warning: Be careful not to delete the DS records when ``dnssec-cds``
|
.. warning::
|
||||||
fails!
|
|
||||||
|
Be careful not to delete the DS records when ``dnssec-cds`` fails!
|
||||||
|
|
||||||
Alternatively, ``dnssec-cds -u`` writes an ``nsupdate`` script to the
|
Alternatively, ``dnssec-cds -u`` writes an ``nsupdate`` script to the
|
||||||
standard output. You can use the ``-u`` and ``-i`` options together to
|
standard output. The ``-u`` and ``-i`` options can be used together to
|
||||||
maintain a ``dsset-`` file as well as emit an ``nsupdate`` script.
|
maintain a ``dsset-`` file as well as emit an ``nsupdate`` script.
|
||||||
|
|
||||||
Options
|
Options
|
||||||
~~~~~~~
|
~~~~~~~
|
||||||
|
|
||||||
**-a** algorithm
|
``-a algorithm``
|
||||||
Specify a digest algorithm to use when converting CDNSKEY records to
|
This option specifies a digest algorithm to use when converting CDNSKEY records to
|
||||||
DS records. This option can be repeated, so that multiple DS records
|
DS records. This option can be repeated, so that multiple DS records
|
||||||
are created for each CDNSKEY record. This option has no effect when
|
are created for each CDNSKEY record. This option has no effect when
|
||||||
using CDS records.
|
using CDS records.
|
||||||
|
|
||||||
The algorithm must be one of SHA-1, SHA-256, or SHA-384. These values
|
The algorithm must be one of SHA-1, SHA-256, or SHA-384. These values
|
||||||
are case insensitive, and the hyphen may be omitted. If no algorithm
|
are case-insensitive, and the hyphen may be omitted. If no algorithm
|
||||||
is specified, the default is SHA-256.
|
is specified, the default is SHA-256.
|
||||||
|
|
||||||
**-c** class
|
``-c class``
|
||||||
Specifies the DNS class of the zones.
|
This option specifies the DNS class of the zones.
|
||||||
|
|
||||||
**-D**
|
``-D``
|
||||||
Generate DS records from CDNSKEY records if both CDS and CDNSKEY
|
This option generates DS records from CDNSKEY records if both CDS and CDNSKEY
|
||||||
records are present in the child zone. By default CDS records are
|
records are present in the child zone. By default CDS records are
|
||||||
preferred.
|
preferred.
|
||||||
|
|
||||||
**-d** path
|
``-d path``
|
||||||
Location of the parent DS records. The path can be the name of a file
|
This specifies the location of the parent DS records. The path can be the name of a file
|
||||||
containing the DS records, or if it is a directory, ``dnssec-cds``
|
containing the DS records; if it is a directory, ``dnssec-cds``
|
||||||
looks for a ``dsset-`` file for the domain inside the directory.
|
looks for a ``dsset-`` file for the domain inside the directory.
|
||||||
|
|
||||||
To protect against replay attacks, child records are rejected if they
|
To protect against replay attacks, child records are rejected if they
|
||||||
were signed earlier than the modification time of the ``dsset-``
|
were signed earlier than the modification time of the ``dsset-``
|
||||||
file. This can be adjusted with the ``-s`` option.
|
file. This can be adjusted with the ``-s`` option.
|
||||||
|
|
||||||
**-f** child-file
|
``-f child-file``
|
||||||
File containing the child's CDS and/or CDNSKEY records, plus its
|
This option specifies the file containing the child's CDS and/or CDNSKEY records, plus its
|
||||||
DNSKEY records and the covering RRSIG records so that they can be
|
DNSKEY records and the covering RRSIG records, so that they can be
|
||||||
authenticated.
|
authenticated.
|
||||||
|
|
||||||
The EXAMPLES below describe how to generate this file.
|
The examples below describe how to generate this file.
|
||||||
|
|
||||||
**-iextension**
|
``-iextension``
|
||||||
Update the ``dsset-`` file in place, instead of writing DS records to
|
This option updates the ``dsset-`` file in place, instead of writing DS records to
|
||||||
the standard output.
|
the standard output.
|
||||||
|
|
||||||
There must be no space between the ``-i`` and the extension. If you
|
There must be no space between the ``-i`` and the extension. If
|
||||||
provide no extension then the old ``dsset-`` is discarded. If an
|
no extension is provided, the old ``dsset-`` is discarded. If an
|
||||||
extension is present, a backup of the old ``dsset-`` file is kept
|
extension is present, a backup of the old ``dsset-`` file is kept
|
||||||
with the extension appended to its filename.
|
with the extension appended to its filename.
|
||||||
|
|
||||||
To protect against replay attacks, the modification time of the
|
To protect against replay attacks, the modification time of the
|
||||||
``dsset-`` file is set to match the signature inception time of the
|
``dsset-`` file is set to match the signature inception time of the
|
||||||
child records, provided that is later than the file's current
|
child records, provided that it is later than the file's current
|
||||||
modification time.
|
modification time.
|
||||||
|
|
||||||
**-s** start-time
|
``-s start-time``
|
||||||
Specify the date and time after which RRSIG records become
|
This option specifies the date and time after which RRSIG records become
|
||||||
acceptable. This can be either an absolute or relative time. An
|
acceptable. This can be either an absolute or a relative time. An
|
||||||
absolute start time is indicated by a number in YYYYMMDDHHMMSS
|
absolute start time is indicated by a number in YYYYMMDDHHMMSS
|
||||||
notation; 20170827133700 denotes 13:37:00 UTC on August 27th, 2017. A
|
notation; 20170827133700 denotes 13:37:00 UTC on August 27th, 2017. A
|
||||||
time relative to the ``dsset-`` file is indicated with -N, which is N
|
time relative to the ``dsset-`` file is indicated with ``-N``, which is N
|
||||||
seconds before the file modification time. A time relative to the
|
seconds before the file modification time. A time relative to the
|
||||||
current time is indicated with now+N.
|
current time is indicated with ``now+N``.
|
||||||
|
|
||||||
If no start-time is specified, the modification time of the
|
If no start-time is specified, the modification time of the
|
||||||
``dsset-`` file is used.
|
``dsset-`` file is used.
|
||||||
|
|
||||||
**-T** ttl
|
``-T ttl``
|
||||||
Specifies a TTL to be used for new DS records. If not specified, the
|
This option specifies a TTL to be used for new DS records. If not specified, the
|
||||||
default is the TTL of the old DS records. If they had no explicit TTL
|
default is the TTL of the old DS records. If they had no explicit TTL,
|
||||||
then the new DS records also have no explicit TTL.
|
the new DS records also have no explicit TTL.
|
||||||
|
|
||||||
**-u**
|
``-u``
|
||||||
Write an ``nsupdate`` script to the standard output, instead of
|
This option writes an ``nsupdate`` script to the standard output, instead of
|
||||||
printing the new DS reords. The output will be empty if no change is
|
printing the new DS reords. The output is empty if no change is
|
||||||
needed.
|
needed.
|
||||||
|
|
||||||
Note: The TTL of new records needs to be specified, either in the
|
Note: The TTL of new records needs to be specified: it can be done in the
|
||||||
original ``dsset-`` file, or with the ``-T`` option, or using the
|
original ``dsset-`` file, with the ``-T`` option, or using the
|
||||||
``nsupdate`` ``ttl`` command.
|
``nsupdate`` ``ttl`` command.
|
||||||
|
|
||||||
**-V**
|
``-V``
|
||||||
Print version information.
|
This option prints version information.
|
||||||
|
|
||||||
**-v** level
|
``-v level``
|
||||||
Sets the debugging level. Level 1 is intended to be usefully verbose
|
This option sets the debugging level. Level 1 is intended to be usefully verbose
|
||||||
for general users; higher levels are intended for developers.
|
for general users; higher levels are intended for developers.
|
||||||
|
|
||||||
domain
|
``domain``
|
||||||
The name of the delegation point / child zone apex.
|
This indicates the name of the delegation point/child zone apex.
|
||||||
|
|
||||||
Exit Status
|
Exit Status
|
||||||
~~~~~~~~~~~
|
~~~~~~~~~~~
|
||||||
@@ -171,17 +172,17 @@ Exit Status
|
|||||||
The ``dnssec-cds`` command exits 0 on success, or non-zero if an error
|
The ``dnssec-cds`` command exits 0 on success, or non-zero if an error
|
||||||
occurred.
|
occurred.
|
||||||
|
|
||||||
In the success case, the DS records might or might not need to be
|
If successful, the DS records may or may not need to be
|
||||||
changed.
|
changed.
|
||||||
|
|
||||||
Examples
|
Examples
|
||||||
~~~~~~~~
|
~~~~~~~~
|
||||||
|
|
||||||
Before running ``dnssec-signzone``, you can ensure that the delegations
|
Before running ``dnssec-signzone``, ensure that the delegations
|
||||||
are up-to-date by running ``dnssec-cds`` on every ``dsset-`` file.
|
are up-to-date by running ``dnssec-cds`` on every ``dsset-`` file.
|
||||||
|
|
||||||
To fetch the child records required by ``dnssec-cds`` you can invoke
|
To fetch the child records required by ``dnssec-cds``, invoke
|
||||||
``dig`` as in the script below. It's okay if the ``dig`` fails since
|
``dig`` as in the script below. It is acceptable if the ``dig`` fails, since
|
||||||
``dnssec-cds`` performs all the necessary checking.
|
``dnssec-cds`` performs all the necessary checking.
|
||||||
|
|
||||||
::
|
::
|
||||||
@@ -193,10 +194,10 @@ To fetch the child records required by ``dnssec-cds`` you can invoke
|
|||||||
dnssec-cds -i -f /dev/stdin -d $f $d
|
dnssec-cds -i -f /dev/stdin -d $f $d
|
||||||
done
|
done
|
||||||
|
|
||||||
When the parent zone is automatically signed by ``named``, you can use
|
When the parent zone is automatically signed by ``named``,
|
||||||
``dnssec-cds`` with ``nsupdate`` to maintain a delegation as follows.
|
``dnssec-cds`` can be used with ``nsupdate`` to maintain a delegation as follows.
|
||||||
The ``dsset-`` file allows the script to avoid having to fetch and
|
The ``dsset-`` file allows the script to avoid having to fetch and
|
||||||
validate the parent DS records, and it keeps the replay attack
|
validate the parent DS records, and it maintains the replay attack
|
||||||
protection time.
|
protection time.
|
||||||
|
|
||||||
::
|
::
|
||||||
|
|||||||
@@ -45,7 +45,7 @@ The ``dnssec-dsfromkey`` command outputs DS (Delegation Signer) resource records
|
|||||||
|
|
||||||
The input keys can be specified in a number of ways:
|
The input keys can be specified in a number of ways:
|
||||||
|
|
||||||
By default, ``dnssec-dsfromkey`` reads a key file named like
|
By default, ``dnssec-dsfromkey`` reads a key file named in the format
|
||||||
``Knnnn.+aaa+iiiii.key``, as generated by ``dnssec-keygen``.
|
``Knnnn.+aaa+iiiii.key``, as generated by ``dnssec-keygen``.
|
||||||
|
|
||||||
With the ``-f file`` option, ``dnssec-dsfromkey`` reads keys from a zone
|
With the ``-f file`` option, ``dnssec-dsfromkey`` reads keys from a zone
|
||||||
@@ -57,73 +57,73 @@ as generated by ``dnssec-keygen`` ``-C``.
|
|||||||
Options
|
Options
|
||||||
~~~~~~~
|
~~~~~~~
|
||||||
|
|
||||||
**-1**
|
``-1``
|
||||||
An abbreviation for ``-a SHA1``
|
This option is an abbreviation for ``-a SHA1``.
|
||||||
|
|
||||||
**-2**
|
``-2``
|
||||||
An abbreviation for ``-a SHA-256``
|
This option is an abbreviation for ``-a SHA-256``.
|
||||||
|
|
||||||
**-a** algorithm
|
``-a algorithm``
|
||||||
Specify a digest algorithm to use when converting DNSKEY records to
|
This option specifies a digest algorithm to use when converting DNSKEY records to
|
||||||
DS records. This option can be repeated, so that multiple DS records
|
DS records. This option can be repeated, so that multiple DS records
|
||||||
are created for each DNSKEY record.
|
are created for each DNSKEY record.
|
||||||
|
|
||||||
The algorithm must be one of SHA-1, SHA-256, or SHA-384. These values
|
The algorithm must be one of SHA-1, SHA-256, or SHA-384. These values
|
||||||
are case insensitive, and the hyphen may be omitted. If no algorithm
|
are case-insensitive, and the hyphen may be omitted. If no algorithm
|
||||||
is specified, the default is SHA-256.
|
is specified, the default is SHA-256.
|
||||||
|
|
||||||
**-A**
|
``-A``
|
||||||
Include ZSKs when generating DS records. Without this option, only
|
This option indicates that ZSKs are to be included when generating DS records. Without this option, only
|
||||||
keys which have the KSK flag set will be converted to DS records and
|
keys which have the KSK flag set are converted to DS records and
|
||||||
printed. Useful only in ``-f`` zone file mode.
|
printed. This option is only useful in ``-f`` zone file mode.
|
||||||
|
|
||||||
**-c** class
|
``-c class``
|
||||||
Specifies the DNS class (default is IN). Useful only in ``-s`` keyset
|
This option specifies the DNS class; the default is IN. This option is only useful in ``-s`` keyset
|
||||||
or ``-f`` zone file mode.
|
or ``-f`` zone file mode.
|
||||||
|
|
||||||
**-C**
|
``-C``
|
||||||
Generate CDS records rather than DS records.
|
This option generates CDS records rather than DS records.
|
||||||
|
|
||||||
**-f** file
|
``-f file``
|
||||||
Zone file mode: ``dnssec-dsfromkey``'s final dnsname argument is the
|
This option sets zone file mode, in which the final dnsname argument of ``dnssec-dsfromkey`` is the
|
||||||
DNS domain name of a zone whose master file can be read from
|
DNS domain name of a zone whose master file can be read from
|
||||||
``file``. If the zone name is the same as ``file``, then it may be
|
``file``. If the zone name is the same as ``file``, then it may be
|
||||||
omitted.
|
omitted.
|
||||||
|
|
||||||
If file is ``"-"``, then the zone data is read from the standard
|
If ``file`` is ``-``, then the zone data is read from the standard
|
||||||
input. This makes it possible to use the output of the ``dig``
|
input. This makes it possible to use the output of the ``dig``
|
||||||
command as input, as in:
|
command as input, as in:
|
||||||
|
|
||||||
``dig dnskey example.com | dnssec-dsfromkey -f - example.com``
|
``dig dnskey example.com | dnssec-dsfromkey -f - example.com``
|
||||||
|
|
||||||
**-h**
|
``-h``
|
||||||
Prints usage information.
|
This option prints usage information.
|
||||||
|
|
||||||
**-K** directory
|
``-K directory``
|
||||||
Look for key files or ``keyset-`` files in ``directory``.
|
This option tells BIND 9 to look for key files or ``keyset-`` files in ``directory``.
|
||||||
|
|
||||||
**-s**
|
``-s``
|
||||||
Keyset mode: ``dnssec-dsfromkey``'s final dnsname argument is the DNS
|
This option enables keyset mode, in which the final dnsname argument from ``dnssec-dsfromkey`` is the DNS
|
||||||
domain name used to locate a ``keyset-`` file.
|
domain name used to locate a ``keyset-`` file.
|
||||||
|
|
||||||
**-T** TTL
|
``-T TTL``
|
||||||
Specifies the TTL of the DS records. By default the TTL is omitted.
|
This option specifies the TTL of the DS records. By default the TTL is omitted.
|
||||||
|
|
||||||
**-v** level
|
``-v level``
|
||||||
Sets the debugging level.
|
This option sets the debugging level.
|
||||||
|
|
||||||
**-V**
|
``-V``
|
||||||
Prints version information.
|
This option prints version information.
|
||||||
|
|
||||||
Example
|
Example
|
||||||
~~~~~~~
|
~~~~~~~
|
||||||
|
|
||||||
To build the SHA-256 DS RR from the ``Kexample.com.+003+26160`` keyfile
|
To build the SHA-256 DS RR from the ``Kexample.com.+003+26160`` keyfile,
|
||||||
name, you can issue the following command:
|
issue the following command:
|
||||||
|
|
||||||
``dnssec-dsfromkey -2 Kexample.com.+003+26160``
|
``dnssec-dsfromkey -2 Kexample.com.+003+26160``
|
||||||
|
|
||||||
The command would print something like:
|
The command returns something similar to:
|
||||||
|
|
||||||
``example.com. IN DS 26160 5 2 3A1EADA7A74B8D0BA86726B0C227AA85AB8BBD2B2004F41A868A54F0C5EA0B94``
|
``example.com. IN DS 26160 5 2 3A1EADA7A74B8D0BA86726B0C227AA85AB8BBD2B2004F41A868A54F0C5EA0B94``
|
||||||
|
|
||||||
@@ -131,16 +131,16 @@ Files
|
|||||||
~~~~~
|
~~~~~
|
||||||
|
|
||||||
The keyfile can be designated by the key identification
|
The keyfile can be designated by the key identification
|
||||||
``Knnnn.+aaa+iiiii`` or the full file name ``Knnnn.+aaa+iiiii.key`` as
|
``Knnnn.+aaa+iiiii`` or the full file name ``Knnnn.+aaa+iiiii.key``, as
|
||||||
generated by dnssec-keygen8.
|
generated by ``dnssec-keygen``.
|
||||||
|
|
||||||
The keyset file name is built from the ``directory``, the string
|
The keyset file name is built from the ``directory``, the string
|
||||||
``keyset-`` and the ``dnsname``.
|
``keyset-``, and the ``dnsname``.
|
||||||
|
|
||||||
Caveat
|
Caveat
|
||||||
~~~~~~
|
~~~~~~
|
||||||
|
|
||||||
A keyfile error can give a "file not found" even if the file exists.
|
A keyfile error may return "file not found," even if the file exists.
|
||||||
|
|
||||||
See Also
|
See Also
|
||||||
~~~~~~~~
|
~~~~~~~~
|
||||||
|
|||||||
@@ -38,11 +38,11 @@ Description
|
|||||||
|
|
||||||
``dnssec-importkey`` reads a public DNSKEY record and generates a pair
|
``dnssec-importkey`` reads a public DNSKEY record and generates a pair
|
||||||
of .key/.private files. The DNSKEY record may be read from an existing
|
of .key/.private files. The DNSKEY record may be read from an existing
|
||||||
.key file, in which case a corresponding .private file will be
|
.key file, in which case a corresponding .private file is
|
||||||
generated, or it may be read from any other file or from the standard
|
generated, or it may be read from any other file or from the standard
|
||||||
input, in which case both .key and .private files will be generated.
|
input, in which case both .key and .private files are generated.
|
||||||
|
|
||||||
The newly-created .private file does *not* contain private key data, and
|
The newly created .private file does *not* contain private key data, and
|
||||||
cannot be used for signing. However, having a .private file makes it
|
cannot be used for signing. However, having a .private file makes it
|
||||||
possible to set publication (``-P``) and deletion (``-D``) times for the
|
possible to set publication (``-P``) and deletion (``-D``) times for the
|
||||||
key, which means the public key can be added to and removed from the
|
key, which means the public key can be added to and removed from the
|
||||||
@@ -51,73 +51,73 @@ DNSKEY RRset on schedule even if the true private key is stored offline.
|
|||||||
Options
|
Options
|
||||||
~~~~~~~
|
~~~~~~~
|
||||||
|
|
||||||
**-f** filename
|
``-f filename``
|
||||||
Zone file mode: instead of a public keyfile name, the argument is the
|
This option indicates the zone file mode. Instead of a public keyfile name, the argument is the
|
||||||
DNS domain name of a zone master file, which can be read from
|
DNS domain name of a zone master file, which can be read from
|
||||||
``file``. If the domain name is the same as ``file``, then it may be
|
``filename``. If the domain name is the same as ``filename``, then it may be
|
||||||
omitted.
|
omitted.
|
||||||
|
|
||||||
If ``file`` is set to ``"-"``, then the zone data is read from the
|
If ``filename`` is set to ``"-"``, then the zone data is read from the
|
||||||
standard input.
|
standard input.
|
||||||
|
|
||||||
**-K** directory
|
``-K directory``
|
||||||
Sets the directory in which the key files are to reside.
|
This option sets the directory in which the key files are to reside.
|
||||||
|
|
||||||
**-L** ttl
|
``-L ttl``
|
||||||
Sets the default TTL to use for this key when it is converted into a
|
This option sets the default TTL to use for this key when it is converted into a
|
||||||
DNSKEY RR. If the key is imported into a zone, this is the TTL that
|
DNSKEY RR. This is the TTL used when the key is imported into a zone,
|
||||||
will be used for it, unless there was already a DNSKEY RRset in
|
unless there was already a DNSKEY RRset in
|
||||||
place, in which case the existing TTL would take precedence. Setting
|
place, in which case the existing TTL takes precedence. Setting the default TTL to ``0`` or ``none``
|
||||||
the default TTL to ``0`` or ``none`` removes it.
|
removes it from the key.
|
||||||
|
|
||||||
**-h**
|
``-h``
|
||||||
Emit usage message and exit.
|
This option emits a usage message and exits.
|
||||||
|
|
||||||
**-v** level
|
``-v level``
|
||||||
Sets the debugging level.
|
This option sets the debugging level.
|
||||||
|
|
||||||
**-V**
|
``-V``
|
||||||
Prints version information.
|
This option prints version information.
|
||||||
|
|
||||||
Timing Options
|
Timing Options
|
||||||
~~~~~~~~~~~~~~
|
~~~~~~~~~~~~~~
|
||||||
|
|
||||||
Dates can be expressed in the format YYYYMMDD or YYYYMMDDHHMMSS. If the
|
Dates can be expressed in the format YYYYMMDD or YYYYMMDDHHMMSS. If the
|
||||||
argument begins with a '+' or '-', it is interpreted as an offset from
|
argument begins with a ``+`` or ``-``, it is interpreted as an offset from
|
||||||
the present time. For convenience, if such an offset is followed by one
|
the present time. For convenience, if such an offset is followed by one
|
||||||
of the suffixes 'y', 'mo', 'w', 'd', 'h', or 'mi', then the offset is
|
of the suffixes ``y``, ``mo``, ``w``, ``d``, ``h``, or ``mi``, then the offset is
|
||||||
computed in years (defined as 365 24-hour days, ignoring leap years),
|
computed in years (defined as 365 24-hour days, ignoring leap years),
|
||||||
months (defined as 30 24-hour days), weeks, days, hours, or minutes,
|
months (defined as 30 24-hour days), weeks, days, hours, or minutes,
|
||||||
respectively. Without a suffix, the offset is computed in seconds. To
|
respectively. Without a suffix, the offset is computed in seconds. To
|
||||||
explicitly prevent a date from being set, use 'none' or 'never'.
|
explicitly prevent a date from being set, use ``none`` or ``never``.
|
||||||
|
|
||||||
**-P** date/offset
|
``-P date/offset``
|
||||||
Sets the date on which a key is to be published to the zone. After
|
This option sets the date on which a key is to be published to the zone. After
|
||||||
that date, the key will be included in the zone but will not be used
|
that date, the key is included in the zone but is not used
|
||||||
to sign it.
|
to sign it.
|
||||||
|
|
||||||
**-P** sync date/offset
|
``-P sync date/offset``
|
||||||
Sets the date on which CDS and CDNSKEY records that match this key
|
This option sets the date on which CDS and CDNSKEY records that match this key
|
||||||
are to be published to the zone.
|
are to be published to the zone.
|
||||||
|
|
||||||
**-D** date/offset
|
``-D date/offset``
|
||||||
Sets the date on which the key is to be deleted. After that date, the
|
This option sets the date on which the key is to be deleted. After that date, the
|
||||||
key will no longer be included in the zone. (It may remain in the key
|
key is no longer included in the zone. (However, it may remain in the key
|
||||||
repository, however.)
|
repository.)
|
||||||
|
|
||||||
**-D** sync date/offset
|
``-D sync date/offset``
|
||||||
Sets the date on which the CDS and CDNSKEY records that match this
|
This option sets the date on which the CDS and CDNSKEY records that match this
|
||||||
key are to be deleted.
|
key are to be deleted.
|
||||||
|
|
||||||
Files
|
Files
|
||||||
~~~~~
|
~~~~~
|
||||||
|
|
||||||
A keyfile can be designed by the key identification ``Knnnn.+aaa+iiiii``
|
A keyfile can be designed by the key identification ``Knnnn.+aaa+iiiii``
|
||||||
or the full file name ``Knnnn.+aaa+iiiii.key`` as generated by
|
or the full file name ``Knnnn.+aaa+iiiii.key``, as generated by
|
||||||
dnssec-keygen8.
|
``dnssec-keygen``.
|
||||||
|
|
||||||
See Also
|
See Also
|
||||||
--------
|
~~~~~~~~
|
||||||
|
|
||||||
:manpage:`dnssec-keygen(8)`, :manpage:`dnssec-signzone(8)`, BIND 9 Administrator Reference Manual,
|
:manpage:`dnssec-keygen(8)`, :manpage:`dnssec-signzone(8)`, BIND 9 Administrator Reference Manual,
|
||||||
:rfc:`5011`.
|
:rfc:`5011`.
|
||||||
|
|||||||
@@ -362,6 +362,7 @@ main(int argc, char **argv) {
|
|||||||
setup_logging(mctx, &log);
|
setup_logging(mctx, &log);
|
||||||
|
|
||||||
if (predecessor == NULL) {
|
if (predecessor == NULL) {
|
||||||
|
/* cppcheck-suppress nullPointerRedundantCheck */
|
||||||
if (label == NULL) {
|
if (label == NULL) {
|
||||||
fatal("the key label was not specified");
|
fatal("the key label was not specified");
|
||||||
}
|
}
|
||||||
@@ -383,6 +384,7 @@ main(int argc, char **argv) {
|
|||||||
isc_result_totext(ret));
|
isc_result_totext(ret));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* cppcheck-suppress nullPointerRedundantCheck */
|
||||||
if (strchr(label, ':') == NULL) {
|
if (strchr(label, ':') == NULL) {
|
||||||
char *l;
|
char *l;
|
||||||
int len;
|
int len;
|
||||||
@@ -394,11 +396,13 @@ main(int argc, char **argv) {
|
|||||||
label = l;
|
label = l;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* cppcheck-suppress nullPointerRedundantCheck */
|
||||||
if (algname == NULL) {
|
if (algname == NULL) {
|
||||||
fatal("no algorithm specified");
|
fatal("no algorithm specified");
|
||||||
}
|
}
|
||||||
|
|
||||||
r.base = algname;
|
r.base = algname;
|
||||||
|
/* cppcheck-suppress nullPointerRedundantCheck */
|
||||||
r.length = strlen(algname);
|
r.length = strlen(algname);
|
||||||
ret = dns_secalg_fromtext(&alg, &r);
|
ret = dns_secalg_fromtext(&alg, &r);
|
||||||
if (ret != ISC_R_SUCCESS) {
|
if (ret != ISC_R_SUCCESS) {
|
||||||
|
|||||||
+112
-112
@@ -34,11 +34,11 @@ Synopsis
|
|||||||
Description
|
Description
|
||||||
~~~~~~~~~~~
|
~~~~~~~~~~~
|
||||||
|
|
||||||
``dnssec-keyfromlabel`` generates a key pair of files that referencing a
|
``dnssec-keyfromlabel`` generates a pair of key files that reference a
|
||||||
key object stored in a cryptographic hardware service module (HSM). The
|
key object stored in a cryptographic hardware service module (HSM). The
|
||||||
private key file can be used for DNSSEC signing of zone data as if it
|
private key file can be used for DNSSEC signing of zone data as if it
|
||||||
were a conventional signing key created by ``dnssec-keygen``, but the
|
were a conventional signing key created by ``dnssec-keygen``, but the
|
||||||
key material is stored within the HSM, and the actual signing takes
|
key material is stored within the HSM and the actual signing takes
|
||||||
place there.
|
place there.
|
||||||
|
|
||||||
The ``name`` of the key is specified on the command line. This must
|
The ``name`` of the key is specified on the command line. This must
|
||||||
@@ -47,194 +47,194 @@ match the name of the zone for which the key is being generated.
|
|||||||
Options
|
Options
|
||||||
~~~~~~~
|
~~~~~~~
|
||||||
|
|
||||||
**-a** algorithm
|
``-a algorithm``
|
||||||
Selects the cryptographic algorithm. The value of ``algorithm`` must
|
This option selects the cryptographic algorithm. The value of ``algorithm`` must
|
||||||
be one of RSASHA1, NSEC3RSASHA1, RSASHA256, RSASHA512,
|
be one of RSASHA1, NSEC3RSASHA1, RSASHA256, RSASHA512,
|
||||||
ECDSAP256SHA256, ECDSAP384SHA384, ED25519 or ED448.
|
ECDSAP256SHA256, ECDSAP384SHA384, ED25519, or ED448.
|
||||||
|
|
||||||
If no algorithm is specified, then RSASHA1 will be used by default,
|
If no algorithm is specified, RSASHA1 is used by default
|
||||||
unless the ``-3`` option is specified, in which case NSEC3RSASHA1
|
unless the ``-3`` option is specified, in which case NSEC3RSASHA1
|
||||||
will be used instead. (If ``-3`` is used and an algorithm is
|
is used instead. (If ``-3`` is used and an algorithm is
|
||||||
specified, that algorithm will be checked for compatibility with
|
specified, that algorithm is checked for compatibility with
|
||||||
NSEC3.)
|
NSEC3.)
|
||||||
|
|
||||||
These values are case insensitive. In some cases, abbreviations are
|
These values are case-insensitive. In some cases, abbreviations are
|
||||||
supported, such as ECDSA256 for ECDSAP256SHA256 and ECDSA384 for
|
supported, such as ECDSA256 for ECDSAP256SHA256 and ECDSA384 for
|
||||||
ECDSAP384SHA384. If RSASHA1 is specified along with the ``-3``
|
ECDSAP384SHA384. If RSASHA1 is specified along with the ``-3``
|
||||||
option, then NSEC3RSASHA1 will be used instead.
|
option, then NSEC3RSASHA1 is used instead.
|
||||||
|
|
||||||
As of BIND 9.12.0, this option is mandatory except when using the
|
Since BIND 9.12.0, this option is mandatory except when using the
|
||||||
``-S`` option (which copies the algorithm from the predecessory key).
|
``-S`` option, which copies the algorithm from the predecessory key.
|
||||||
Previously, the default for newly generated keys was RSASHA1.
|
Previously, the default for newly generated keys was RSASHA1.
|
||||||
|
|
||||||
**-3**
|
``-3``
|
||||||
Use an NSEC3-capable algorithm to generate a DNSSEC key. If this
|
This option uses an NSEC3-capable algorithm to generate a DNSSEC key. If this
|
||||||
option is used with an algorithm that has both NSEC and NSEC3
|
option is used with an algorithm that has both NSEC and NSEC3
|
||||||
versions, then the NSEC3 version will be used; for example,
|
versions, then the NSEC3 version is used; for example,
|
||||||
``dnssec-keygen -3a RSASHA1`` specifies the NSEC3RSASHA1 algorithm.
|
``dnssec-keygen -3a RSASHA1`` specifies the NSEC3RSASHA1 algorithm.
|
||||||
|
|
||||||
**-E** engine
|
``-E engine``
|
||||||
Specifies the cryptographic hardware to use.
|
This option specifies the cryptographic hardware to use.
|
||||||
|
|
||||||
When BIND is built with OpenSSL PKCS#11 support, this defaults to the
|
When BIND 9 is built with OpenSSL PKCS#11 support, this defaults to the
|
||||||
string "pkcs11", which identifies an OpenSSL engine that can drive a
|
string ``pkcs11``, which identifies an OpenSSL engine that can drive a
|
||||||
cryptographic accelerator or hardware service module. When BIND is
|
cryptographic accelerator or hardware service module. When BIND is
|
||||||
built with native PKCS#11 cryptography (--enable-native-pkcs11), it
|
built with native PKCS#11 cryptography (``--enable-native-pkcs11``), it
|
||||||
defaults to the path of the PKCS#11 provider library specified via
|
defaults to the path of the PKCS#11 provider library specified via
|
||||||
"--with-pkcs11".
|
``--with-pkcs11``.
|
||||||
|
|
||||||
**-l** label
|
``-l label``
|
||||||
Specifies the label for a key pair in the crypto hardware.
|
This option specifies the label for a key pair in the crypto hardware.
|
||||||
|
|
||||||
When BIND 9 is built with OpenSSL-based PKCS#11 support, the label is
|
When BIND 9 is built with OpenSSL-based PKCS#11 support, the label is
|
||||||
an arbitrary string that identifies a particular key. It may be
|
an arbitrary string that identifies a particular key. It may be
|
||||||
preceded by an optional OpenSSL engine name, followed by a colon, as
|
preceded by an optional OpenSSL engine name, followed by a colon, as
|
||||||
in "pkcs11:keylabel".
|
in ``pkcs11:keylabel``.
|
||||||
|
|
||||||
When BIND 9 is built with native PKCS#11 support, the label is a
|
When BIND 9 is built with native PKCS#11 support, the label is a
|
||||||
PKCS#11 URI string in the format
|
PKCS#11 URI string in the format
|
||||||
"pkcs11:``keyword``\ =value[;\ ``keyword``\ =value;...]" Keywords
|
``pkcs11:keyword\ =value[;\ keyword\ =value;...]``. Keywords
|
||||||
include "token", which identifies the HSM; "object", which identifies
|
include ``token``, which identifies the HSM; ``object``, which identifies
|
||||||
the key; and "pin-source", which identifies a file from which the
|
the key; and ``pin-source``, which identifies a file from which the
|
||||||
HSM's PIN code can be obtained. The label will be stored in the
|
HSM's PIN code can be obtained. The label is stored in the
|
||||||
on-disk "private" file.
|
on-disk ``private`` file.
|
||||||
|
|
||||||
If the label contains a ``pin-source`` field, tools using the
|
If the label contains a ``pin-source`` field, tools using the
|
||||||
generated key files will be able to use the HSM for signing and other
|
generated key files are able to use the HSM for signing and other
|
||||||
operations without any need for an operator to manually enter a PIN.
|
operations without any need for an operator to manually enter a PIN.
|
||||||
Note: Making the HSM's PIN accessible in this manner may reduce the
|
Note: Making the HSM's PIN accessible in this manner may reduce the
|
||||||
security advantage of using an HSM; be sure this is what you want to
|
security advantage of using an HSM; use caution
|
||||||
do before making use of this feature.
|
with this feature.
|
||||||
|
|
||||||
**-n** nametype
|
``-n nametype``
|
||||||
Specifies the owner type of the key. The value of ``nametype`` must
|
This option specifies the owner type of the key. The value of ``nametype`` must
|
||||||
either be ZONE (for a DNSSEC zone key (KEY/DNSKEY)), HOST or ENTITY
|
either be ZONE (for a DNSSEC zone key (KEY/DNSKEY)), HOST or ENTITY
|
||||||
(for a key associated with a host (KEY)), USER (for a key associated
|
(for a key associated with a host (KEY)), USER (for a key associated
|
||||||
with a user(KEY)) or OTHER (DNSKEY). These values are case
|
with a user (KEY)), or OTHER (DNSKEY). These values are
|
||||||
insensitive.
|
case-insensitive.
|
||||||
|
|
||||||
**-C**
|
``-C``
|
||||||
Compatibility mode: generates an old-style key, without any metadata.
|
This option enables compatibility mode, which generates an old-style key, without any metadata.
|
||||||
By default, ``dnssec-keyfromlabel`` will include the key's creation
|
By default, ``dnssec-keyfromlabel`` includes the key's creation
|
||||||
date in the metadata stored with the private key, and other dates may
|
date in the metadata stored with the private key; other dates may
|
||||||
be set there as well (publication date, activation date, etc). Keys
|
be set there as well, including publication date, activation date, etc. Keys
|
||||||
that include this data may be incompatible with older versions of
|
that include this data may be incompatible with older versions of
|
||||||
BIND; the ``-C`` option suppresses them.
|
BIND; the ``-C`` option suppresses them.
|
||||||
|
|
||||||
**-c** class
|
``-c class``
|
||||||
Indicates that the DNS record containing the key should have the
|
This option indicates that the DNS record containing the key should have the
|
||||||
specified class. If not specified, class IN is used.
|
specified class. If not specified, class IN is used.
|
||||||
|
|
||||||
**-f** flag
|
``-f flag``
|
||||||
Set the specified flag in the flag field of the KEY/DNSKEY record.
|
This option sets the specified flag in the ``flag`` field of the KEY/DNSKEY record.
|
||||||
The only recognized flags are KSK (Key Signing Key) and REVOKE.
|
The only recognized flags are KSK (Key-Signing Key) and REVOKE.
|
||||||
|
|
||||||
**-G**
|
``-G``
|
||||||
Generate a key, but do not publish it or sign with it. This option is
|
This option generates a key, but does not publish it or sign with it. This option is
|
||||||
incompatible with -P and -A.
|
incompatible with ``-P`` and ``-A``.
|
||||||
|
|
||||||
**-h**
|
``-h``
|
||||||
Prints a short summary of the options and arguments to
|
This option prints a short summary of the options and arguments to
|
||||||
``dnssec-keyfromlabel``.
|
``dnssec-keyfromlabel``.
|
||||||
|
|
||||||
**-K** directory
|
``-K directory``
|
||||||
Sets the directory in which the key files are to be written.
|
This option sets the directory in which the key files are to be written.
|
||||||
|
|
||||||
**-k**
|
``-k``
|
||||||
Generate KEY records rather than DNSKEY records.
|
This option generates KEY records rather than DNSKEY records.
|
||||||
|
|
||||||
**-L** ttl
|
``-L`` ttl
|
||||||
Sets the default TTL to use for this key when it is converted into a
|
This option sets the default TTL to use for this key when it is converted into a
|
||||||
DNSKEY RR. If the key is imported into a zone, this is the TTL that
|
DNSKEY RR. This is the TTL used when the key is imported into a zone,
|
||||||
will be used for it, unless there was already a DNSKEY RRset in
|
unless there was already a DNSKEY RRset in
|
||||||
place, in which case the existing TTL would take precedence. Setting
|
place, in which case the existing TTL would take precedence. Setting
|
||||||
the default TTL to ``0`` or ``none`` removes it.
|
the default TTL to ``0`` or ``none`` removes it.
|
||||||
|
|
||||||
**-p** protocol
|
``-p protocol``
|
||||||
Sets the protocol value for the key. The protocol is a number between
|
This option sets the protocol value for the key. The protocol is a number between
|
||||||
0 and 255. The default is 3 (DNSSEC). Other possible values for this
|
0 and 255. The default is 3 (DNSSEC). Other possible values for this
|
||||||
argument are listed in :rfc:`2535` and its successors.
|
argument are listed in :rfc:`2535` and its successors.
|
||||||
|
|
||||||
**-S** key
|
``-S key``
|
||||||
Generate a key as an explicit successor to an existing key. The name,
|
This option generates a key as an explicit successor to an existing key. The name,
|
||||||
algorithm, size, and type of the key will be set to match the
|
algorithm, size, and type of the key are set to match the
|
||||||
predecessor. The activation date of the new key will be set to the
|
predecessor. The activation date of the new key is set to the
|
||||||
inactivation date of the existing one. The publication date will be
|
inactivation date of the existing one. The publication date is
|
||||||
set to the activation date minus the prepublication interval, which
|
set to the activation date minus the prepublication interval, which
|
||||||
defaults to 30 days.
|
defaults to 30 days.
|
||||||
|
|
||||||
**-t** type
|
``-t type``
|
||||||
Indicates the use of the key. ``type`` must be one of AUTHCONF,
|
This option indicates the type of the key. ``type`` must be one of AUTHCONF,
|
||||||
NOAUTHCONF, NOAUTH, or NOCONF. The default is AUTHCONF. AUTH refers
|
NOAUTHCONF, NOAUTH, or NOCONF. The default is AUTHCONF. AUTH refers
|
||||||
to the ability to authenticate data, and CONF the ability to encrypt
|
to the ability to authenticate data, and CONF to the ability to encrypt
|
||||||
data.
|
data.
|
||||||
|
|
||||||
**-v** level
|
``-v level``
|
||||||
Sets the debugging level.
|
This option sets the debugging level.
|
||||||
|
|
||||||
**-V**
|
``-V``
|
||||||
Prints version information.
|
This option prints version information.
|
||||||
|
|
||||||
**-y**
|
``-y``
|
||||||
Allows DNSSEC key files to be generated even if the key ID would
|
This option allows DNSSEC key files to be generated even if the key ID would
|
||||||
collide with that of an existing key, in the event of either key
|
collide with that of an existing key, in the event of either key
|
||||||
being revoked. (This is only safe to use if you are sure you won't be
|
being revoked. (This is only safe to enable if
|
||||||
using :rfc:`5011` trust anchor maintenance with either of the keys
|
:rfc:`5011` trust anchor maintenance is not used with either of the keys
|
||||||
involved.)
|
involved.)
|
||||||
|
|
||||||
Timing Options
|
Timing Options
|
||||||
~~~~~~~~~~~~~~
|
~~~~~~~~~~~~~~
|
||||||
|
|
||||||
Dates can be expressed in the format YYYYMMDD or YYYYMMDDHHMMSS. If the
|
Dates can be expressed in the format YYYYMMDD or YYYYMMDDHHMMSS. If the
|
||||||
argument begins with a '+' or '-', it is interpreted as an offset from
|
argument begins with a ``+`` or ``-``, it is interpreted as an offset from
|
||||||
the present time. For convenience, if such an offset is followed by one
|
the present time. For convenience, if such an offset is followed by one
|
||||||
of the suffixes 'y', 'mo', 'w', 'd', 'h', or 'mi', then the offset is
|
of the suffixes ``y``, ``mo``, ``w``, ``d``, ``h``, or ``mi``, then the offset is
|
||||||
computed in years (defined as 365 24-hour days, ignoring leap years),
|
computed in years (defined as 365 24-hour days, ignoring leap years),
|
||||||
months (defined as 30 24-hour days), weeks, days, hours, or minutes,
|
months (defined as 30 24-hour days), weeks, days, hours, or minutes,
|
||||||
respectively. Without a suffix, the offset is computed in seconds. To
|
respectively. Without a suffix, the offset is computed in seconds. To
|
||||||
explicitly prevent a date from being set, use 'none' or 'never'.
|
explicitly prevent a date from being set, use ``none`` or ``never``.
|
||||||
|
|
||||||
**-P** date/offset
|
``-P date/offset``
|
||||||
Sets the date on which a key is to be published to the zone. After
|
This option sets the date on which a key is to be published to the zone. After
|
||||||
that date, the key will be included in the zone but will not be used
|
that date, the key is included in the zone but is not used
|
||||||
to sign it. If not set, and if the -G option has not been used, the
|
to sign it. If not set, and if the ``-G`` option has not been used, the
|
||||||
default is "now".
|
default is the current date.
|
||||||
|
|
||||||
**-P** sync date/offset
|
``-P sync date/offset``
|
||||||
Sets the date on which the CDS and CDNSKEY records which match this
|
This option sets the date on which CDS and CDNSKEY records that match this key
|
||||||
key are to be published to the zone.
|
are to be published to the zone.
|
||||||
|
|
||||||
**-A** date/offset
|
``-A date/offset``
|
||||||
Sets the date on which the key is to be activated. After that date,
|
This option sets the date on which the key is to be activated. After that date,
|
||||||
the key will be included in the zone and used to sign it. If not set,
|
the key is included in the zone and used to sign it. If not set,
|
||||||
and if the -G option has not been used, the default is "now".
|
and if the ``-G`` option has not been used, the default is the current date.
|
||||||
|
|
||||||
**-R** date/offset
|
``-R date/offset``
|
||||||
Sets the date on which the key is to be revoked. After that date, the
|
This option sets the date on which the key is to be revoked. After that date, the
|
||||||
key will be flagged as revoked. It will be included in the zone and
|
key is flagged as revoked. It is included in the zone and
|
||||||
will be used to sign it.
|
is used to sign it.
|
||||||
|
|
||||||
**-I** date/offset
|
``-I date/offset``
|
||||||
Sets the date on which the key is to be retired. After that date, the
|
This option sets the date on which the key is to be retired. After that date, the
|
||||||
key will still be included in the zone, but it will not be used to
|
key is still included in the zone, but it is not used to
|
||||||
sign it.
|
sign it.
|
||||||
|
|
||||||
**-D** date/offset
|
``-D date/offset``
|
||||||
Sets the date on which the key is to be deleted. After that date, the
|
This option sets the date on which the key is to be deleted. After that date, the
|
||||||
key will no longer be included in the zone. (It may remain in the key
|
key is no longer included in the zone. (However, it may remain in the key
|
||||||
repository, however.)
|
repository.)
|
||||||
|
|
||||||
**-D** sync date/offset
|
``-D sync date/offset``
|
||||||
Sets the date on which the CDS and CDNSKEY records which match this
|
This option sets the date on which the CDS and CDNSKEY records that match this
|
||||||
key are to be deleted.
|
key are to be deleted.
|
||||||
|
|
||||||
**-i** interval
|
``-i interval``
|
||||||
Sets the prepublication interval for a key. If set, then the
|
This option sets the prepublication interval for a key. If set, then the
|
||||||
publication and activation dates must be separated by at least this
|
publication and activation dates must be separated by at least this
|
||||||
much time. If the activation date is specified but the publication
|
much time. If the activation date is specified but the publication
|
||||||
date isn't, then the publication date will default to this much time
|
date is not, the publication date defaults to this much time
|
||||||
before the activation date; conversely, if the publication date is
|
before the activation date; conversely, if the publication date is
|
||||||
specified but activation date isn't, then activation will be set to
|
specified but not the activation date, activation is set to
|
||||||
this much time after publication.
|
this much time after publication.
|
||||||
|
|
||||||
If the key is being created as an explicit successor to another key,
|
If the key is being created as an explicit successor to another key,
|
||||||
@@ -242,7 +242,7 @@ explicitly prevent a date from being set, use 'none' or 'never'.
|
|||||||
zero.
|
zero.
|
||||||
|
|
||||||
As with date offsets, if the argument is followed by one of the
|
As with date offsets, if the argument is followed by one of the
|
||||||
suffixes 'y', 'mo', 'w', 'd', 'h', or 'mi', then the interval is
|
suffixes ``y``, ``mo``, ``w``, ``d``, ``h``, or ``mi``, the interval is
|
||||||
measured in years, months, weeks, days, hours, or minutes,
|
measured in years, months, weeks, days, hours, or minutes,
|
||||||
respectively. Without a suffix, the interval is measured in seconds.
|
respectively. Without a suffix, the interval is measured in seconds.
|
||||||
|
|
||||||
@@ -264,7 +264,7 @@ printed string. ``Knnnn.+aaa+iiiii.key`` contains the public key, and
|
|||||||
``Knnnn.+aaa+iiiii.private`` contains the private key.
|
``Knnnn.+aaa+iiiii.private`` contains the private key.
|
||||||
|
|
||||||
The ``.key`` file contains a DNS KEY record that can be inserted into a
|
The ``.key`` file contains a DNS KEY record that can be inserted into a
|
||||||
zone file (directly or with a $INCLUDE statement).
|
zone file (directly or with an $INCLUDE statement).
|
||||||
|
|
||||||
The ``.private`` file contains algorithm-specific fields. For obvious
|
The ``.private`` file contains algorithm-specific fields. For obvious
|
||||||
security reasons, this file does not have general read permission.
|
security reasons, this file does not have general read permission.
|
||||||
@@ -273,4 +273,4 @@ See Also
|
|||||||
~~~~~~~~
|
~~~~~~~~
|
||||||
|
|
||||||
:manpage:`dnssec-keygen(8)`, :manpage:`dnssec-signzone(8)`, BIND 9 Administrator Reference Manual,
|
:manpage:`dnssec-keygen(8)`, :manpage:`dnssec-signzone(8)`, BIND 9 Administrator Reference Manual,
|
||||||
:rfc:`4034`, The PKCS#11 URI Scheme (draft-pechanec-pkcs11uri-13).
|
:rfc:`4034`, :rfc:`7512`.
|
||||||
|
|||||||
@@ -1180,10 +1180,12 @@ main(int argc, char **argv) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (ctx.predecessor == NULL && ctx.policy == NULL) {
|
if (ctx.predecessor == NULL && ctx.policy == NULL) {
|
||||||
|
/* cppcheck-suppress nullPointerRedundantCheck */
|
||||||
if (algname == NULL) {
|
if (algname == NULL) {
|
||||||
fatal("no algorithm specified");
|
fatal("no algorithm specified");
|
||||||
}
|
}
|
||||||
r.base = algname;
|
r.base = algname;
|
||||||
|
/* cppcheck-suppress nullPointerRedundantCheck */
|
||||||
r.length = strlen(algname);
|
r.length = strlen(algname);
|
||||||
ret = dns_secalg_fromtext(&ctx.alg, &r);
|
ret = dns_secalg_fromtext(&ctx.alg, &r);
|
||||||
if (ret != ISC_R_SUCCESS) {
|
if (ret != ISC_R_SUCCESS) {
|
||||||
|
|||||||
+129
-129
@@ -46,220 +46,220 @@ generated.
|
|||||||
Options
|
Options
|
||||||
~~~~~~~
|
~~~~~~~
|
||||||
|
|
||||||
**-3**
|
``-3``
|
||||||
Use an NSEC3-capable algorithm to generate a DNSSEC key. If this
|
This option uses an NSEC3-capable algorithm to generate a DNSSEC key. If this
|
||||||
option is used with an algorithm that has both NSEC and NSEC3
|
option is used with an algorithm that has both NSEC and NSEC3
|
||||||
versions, then the NSEC3 version will be used; for example,
|
versions, then the NSEC3 version is selected; for example,
|
||||||
``dnssec-keygen -3a RSASHA1`` specifies the NSEC3RSASHA1 algorithm.
|
``dnssec-keygen -3a RSASHA1`` specifies the NSEC3RSASHA1 algorithm.
|
||||||
|
|
||||||
**-a** algorithm
|
``-a algorithm``
|
||||||
Selects the cryptographic algorithm. For DNSSEC keys, the value of
|
This option selects the cryptographic algorithm. For DNSSEC keys, the value of
|
||||||
``algorithm`` must be one of RSASHA1, NSEC3RSASHA1, RSASHA256,
|
``algorithm`` must be one of RSASHA1, NSEC3RSASHA1, RSASHA256,
|
||||||
RSASHA512, ECDSAP256SHA256, ECDSAP384SHA384, ED25519 or ED448. For
|
RSASHA512, ECDSAP256SHA256, ECDSAP384SHA384, ED25519, or ED448. For
|
||||||
TKEY, the value must be DH (Diffie Hellman); specifying his value
|
TKEY, the value must be DH (Diffie-Hellman); specifying this value
|
||||||
will automatically set the ``-T KEY`` option as well.
|
automatically sets the ``-T KEY`` option as well.
|
||||||
|
|
||||||
These values are case insensitive. In some cases, abbreviations are
|
These values are case-insensitive. In some cases, abbreviations are
|
||||||
supported, such as ECDSA256 for ECDSAP256SHA256 and ECDSA384 for
|
supported, such as ECDSA256 for ECDSAP256SHA256 and ECDSA384 for
|
||||||
ECDSAP384SHA384. If RSASHA1 is specified along with the ``-3``
|
ECDSAP384SHA384. If RSASHA1 is specified along with the ``-3``
|
||||||
option, then NSEC3RSASHA1 will be used instead.
|
option, NSEC3RSASHA1 is used instead.
|
||||||
|
|
||||||
This parameter *must* be specified except when using the ``-S``
|
This parameter *must* be specified except when using the ``-S``
|
||||||
option, which copies the algorithm from the predecessor key.
|
option, which copies the algorithm from the predecessor key.
|
||||||
|
|
||||||
In prior releases, HMAC algorithms could be generated for use as TSIG
|
In prior releases, HMAC algorithms could be generated for use as TSIG
|
||||||
keys, but that feature has been removed as of BIND 9.13.0. Use
|
keys, but that feature was removed in BIND 9.13.0. Use
|
||||||
``tsig-keygen`` to generate TSIG keys.
|
``tsig-keygen`` to generate TSIG keys.
|
||||||
|
|
||||||
**-b** keysize
|
``-b keysize``
|
||||||
Specifies the number of bits in the key. The choice of key size
|
This option specifies the number of bits in the key. The choice of key size
|
||||||
depends on the algorithm used. RSA keys must be between 1024 and 4096
|
depends on the algorithm used: RSA keys must be between 1024 and 4096
|
||||||
bits. Diffie Hellman keys must be between 128 and 4096 bits. Elliptic
|
bits; Diffie-Hellman keys must be between 128 and 4096 bits. Elliptic
|
||||||
curve algorithms don't need this parameter.
|
curve algorithms do not need this parameter.
|
||||||
|
|
||||||
If the key size is not specified, some algorithms have pre-defined
|
If the key size is not specified, some algorithms have pre-defined
|
||||||
defaults. For example, RSA keys for use as DNSSEC zone signing keys
|
defaults. For example, RSA keys for use as DNSSEC zone-signing keys
|
||||||
have a default size of 1024 bits; RSA keys for use as key signing
|
have a default size of 1024 bits; RSA keys for use as key-signing
|
||||||
keys (KSKs, generated with ``-f KSK``) default to 2048 bits.
|
keys (KSKs, generated with ``-f KSK``) default to 2048 bits.
|
||||||
|
|
||||||
**-C**
|
``-C``
|
||||||
Compatibility mode: generates an old-style key, without any timing
|
This option enables compatibility mode, which generates an old-style key, without any timing
|
||||||
metadata. By default, ``dnssec-keygen`` will include the key's
|
metadata. By default, ``dnssec-keygen`` includes the key's
|
||||||
creation date in the metadata stored with the private key, and other
|
creation date in the metadata stored with the private key; other
|
||||||
dates may be set there as well (publication date, activation date,
|
dates may be set there as well, including publication date, activation date,
|
||||||
etc). Keys that include this data may be incompatible with older
|
etc. Keys that include this data may be incompatible with older
|
||||||
versions of BIND; the ``-C`` option suppresses them.
|
versions of BIND; the ``-C`` option suppresses them.
|
||||||
|
|
||||||
**-c** class
|
``-c class``
|
||||||
Indicates that the DNS record containing the key should have the
|
This option indicates that the DNS record containing the key should have the
|
||||||
specified class. If not specified, class IN is used.
|
specified class. If not specified, class IN is used.
|
||||||
|
|
||||||
**-d** bits
|
``-d bits``
|
||||||
Key size in bits. For the algorithms RSASHA1, NSEC3RSASA1, RSASHA256 and
|
This option specifies the key size in bits. For the algorithms RSASHA1, NSEC3RSASA1, RSASHA256, and
|
||||||
RSASHA512 the key size must be in range 1024-4096. DH size is between 128
|
RSASHA512 the key size must be between 1024 and 4096 bits; DH size is between 128
|
||||||
and 4096. This option is ignored for algorithms ECDSAP256SHA256,
|
and 4096 bits. This option is ignored for algorithms ECDSAP256SHA256,
|
||||||
ECDSAP384SHA384, ED25519 and ED448.
|
ECDSAP384SHA384, ED25519, and ED448.
|
||||||
|
|
||||||
**-E** engine
|
``-E engine``
|
||||||
Specifies the cryptographic hardware to use, when applicable.
|
This option specifies the cryptographic hardware to use, when applicable.
|
||||||
|
|
||||||
When BIND is built with OpenSSL PKCS#11 support, this defaults to the
|
When BIND is built with OpenSSL PKCS#11 support, this defaults to the
|
||||||
string "pkcs11", which identifies an OpenSSL engine that can drive a
|
string ``pkcs11``, which identifies an OpenSSL engine that can drive a
|
||||||
cryptographic accelerator or hardware service module. When BIND is
|
cryptographic accelerator or hardware service module. When BIND is
|
||||||
built with native PKCS#11 cryptography (--enable-native-pkcs11), it
|
built with native PKCS#11 cryptography (``--enable-native-pkcs11``), it
|
||||||
defaults to the path of the PKCS#11 provider library specified via
|
defaults to the path of the PKCS#11 provider library specified via
|
||||||
"--with-pkcs11".
|
``--with-pkcs11``.
|
||||||
|
|
||||||
**-f** flag
|
``-f flag``
|
||||||
Set the specified flag in the flag field of the KEY/DNSKEY record.
|
This option sets the specified flag in the flag field of the KEY/DNSKEY record.
|
||||||
The only recognized flags are KSK (Key Signing Key) and REVOKE.
|
The only recognized flags are KSK (Key-Signing Key) and REVOKE.
|
||||||
|
|
||||||
**-G**
|
``-G``
|
||||||
Generate a key, but do not publish it or sign with it. This option is
|
This option generates a key, but does not publish it or sign with it. This option is
|
||||||
incompatible with -P and -A.
|
incompatible with ``-P`` and ``-A``.
|
||||||
|
|
||||||
**-g** generator
|
``-g generator``
|
||||||
If generating a Diffie Hellman key, use this generator. Allowed
|
This option indicates the generator to use if generating a Diffie-Hellman key. Allowed
|
||||||
values are 2 and 5. If no generator is specified, a known prime from
|
values are 2 and 5. If no generator is specified, a known prime from
|
||||||
:rfc:`2539` will be used if possible; otherwise the default is 2.
|
:rfc:`2539` is used if possible; otherwise the default is 2.
|
||||||
|
|
||||||
**-h**
|
``-h``
|
||||||
Prints a short summary of the options and arguments to
|
This option prints a short summary of the options and arguments to
|
||||||
``dnssec-keygen``.
|
``dnssec-keygen``.
|
||||||
|
|
||||||
**-K** directory
|
``-K directory``
|
||||||
Sets the directory in which the key files are to be written.
|
This option sets the directory in which the key files are to be written.
|
||||||
|
|
||||||
**-k** policy
|
``-k policy``
|
||||||
Create keys for a specific dnssec-policy. If a policy uses multiple keys,
|
This option creates keys for a specific ``dnssec-policy``. If a policy uses multiple keys,
|
||||||
``dnssec-keygen`` will generate multiple keys. This will also
|
``dnssec-keygen`` generates multiple keys. This also
|
||||||
create a ".state" file to keep track of the key state.
|
creates a ".state" file to keep track of the key state.
|
||||||
|
|
||||||
This option creates keys according to the dnssec-policy configuration, hence
|
This option creates keys according to the ``dnssec-policy`` configuration, hence
|
||||||
it cannot be used together with many of the other options that
|
it cannot be used at the same time as many of the other options that
|
||||||
``dnssec-keygen`` provides.
|
``dnssec-keygen`` provides.
|
||||||
|
|
||||||
**-L** ttl
|
``-L ttl``
|
||||||
Sets the default TTL to use for this key when it is converted into a
|
This option sets the default TTL to use for this key when it is converted into a
|
||||||
DNSKEY RR. If the key is imported into a zone, this is the TTL that
|
DNSKEY RR. This is the TTL used when the key is imported into a zone,
|
||||||
will be used for it, unless there was already a DNSKEY RRset in
|
unless there was already a DNSKEY RRset in
|
||||||
place, in which case the existing TTL would take precedence. If this
|
place, in which case the existing TTL takes precedence. If this
|
||||||
value is not set and there is no existing DNSKEY RRset, the TTL will
|
value is not set and there is no existing DNSKEY RRset, the TTL
|
||||||
default to the SOA TTL. Setting the default TTL to ``0`` or ``none``
|
defaults to the SOA TTL. Setting the default TTL to ``0`` or ``none``
|
||||||
is the same as leaving it unset.
|
is the same as leaving it unset.
|
||||||
|
|
||||||
**-l** file
|
``-l file``
|
||||||
Provide a configuration file that contains a dnssec-policy statement
|
This option provides a configuration file that contains a ``dnssec-policy`` statement
|
||||||
(matching the policy set with ``-k``).
|
(matching the policy set with ``-k``).
|
||||||
|
|
||||||
**-n** nametype
|
``-n nametype``
|
||||||
Specifies the owner type of the key. The value of ``nametype`` must
|
This option specifies the owner type of the key. The value of ``nametype`` must
|
||||||
either be ZONE (for a DNSSEC zone key (KEY/DNSKEY)), HOST or ENTITY
|
either be ZONE (for a DNSSEC zone key (KEY/DNSKEY)), HOST or ENTITY
|
||||||
(for a key associated with a host (KEY)), USER (for a key associated
|
(for a key associated with a host (KEY)), USER (for a key associated
|
||||||
with a user(KEY)) or OTHER (DNSKEY). These values are case
|
with a user (KEY)), or OTHER (DNSKEY). These values are
|
||||||
insensitive. Defaults to ZONE for DNSKEY generation.
|
case-insensitive. The default is ZONE for DNSKEY generation.
|
||||||
|
|
||||||
**-p** protocol
|
``-p protocol``
|
||||||
Sets the protocol value for the generated key, for use with
|
This option sets the protocol value for the generated key, for use with
|
||||||
``-T KEY``. The protocol is a number between 0 and 255. The default
|
``-T KEY``. The protocol is a number between 0 and 255. The default
|
||||||
is 3 (DNSSEC). Other possible values for this argument are listed in
|
is 3 (DNSSEC). Other possible values for this argument are listed in
|
||||||
:rfc:`2535` and its successors.
|
:rfc:`2535` and its successors.
|
||||||
|
|
||||||
**-q**
|
``-q``
|
||||||
Quiet mode: Suppresses unnecessary output, including progress
|
This option sets quiet mode, which suppresses unnecessary output, including progress
|
||||||
indication. Without this option, when ``dnssec-keygen`` is run
|
indication. Without this option, when ``dnssec-keygen`` is run
|
||||||
interactively to generate an RSA or DSA key pair, it will print a
|
interactively to generate an RSA or DSA key pair, it prints a
|
||||||
string of symbols to ``stderr`` indicating the progress of the key
|
string of symbols to ``stderr`` indicating the progress of the key
|
||||||
generation. A '.' indicates that a random number has been found which
|
generation. A ``.`` indicates that a random number has been found which
|
||||||
passed an initial sieve test; '+' means a number has passed a single
|
passed an initial sieve test; ``+`` means a number has passed a single
|
||||||
round of the Miller-Rabin primality test; a space means that the
|
round of the Miller-Rabin primality test; and a space ( ) means that the
|
||||||
number has passed all the tests and is a satisfactory key.
|
number has passed all the tests and is a satisfactory key.
|
||||||
|
|
||||||
**-S** key
|
``-S key``
|
||||||
Create a new key which is an explicit successor to an existing key.
|
This option creates a new key which is an explicit successor to an existing key.
|
||||||
The name, algorithm, size, and type of the key will be set to match
|
The name, algorithm, size, and type of the key are set to match
|
||||||
the existing key. The activation date of the new key will be set to
|
the existing key. The activation date of the new key is set to
|
||||||
the inactivation date of the existing one. The publication date will
|
the inactivation date of the existing one. The publication date is
|
||||||
be set to the activation date minus the prepublication interval,
|
set to the activation date minus the prepublication interval,
|
||||||
which defaults to 30 days.
|
which defaults to 30 days.
|
||||||
|
|
||||||
**-s** strength
|
``-s strength``
|
||||||
Specifies the strength value of the key. The strength is a number
|
This option specifies the strength value of the key. The strength is a number
|
||||||
between 0 and 15, and currently has no defined purpose in DNSSEC.
|
between 0 and 15, and currently has no defined purpose in DNSSEC.
|
||||||
|
|
||||||
**-T** rrtype
|
``-T rrtype``
|
||||||
Specifies the resource record type to use for the key. ``rrtype``
|
This option specifies the resource record type to use for the key. ``rrtype``
|
||||||
must be either DNSKEY or KEY. The default is DNSKEY when using a
|
must be either DNSKEY or KEY. The default is DNSKEY when using a
|
||||||
DNSSEC algorithm, but it can be overridden to KEY for use with
|
DNSSEC algorithm, but it can be overridden to KEY for use with
|
||||||
SIG(0).
|
SIG(0).
|
||||||
|
|
||||||
**-t** type
|
``-t type``
|
||||||
Indicates the use of the key, for use with ``-T KEY``. ``type``
|
This option indicates the type of the key for use with ``-T KEY``. ``type``
|
||||||
must be one of AUTHCONF, NOAUTHCONF, NOAUTH, or NOCONF. The default
|
must be one of AUTHCONF, NOAUTHCONF, NOAUTH, or NOCONF. The default
|
||||||
is AUTHCONF. AUTH refers to the ability to authenticate data, and
|
is AUTHCONF. AUTH refers to the ability to authenticate data, and
|
||||||
CONF the ability to encrypt data.
|
CONF to the ability to encrypt data.
|
||||||
|
|
||||||
**-V**
|
``-V``
|
||||||
Prints version information.
|
This option prints version information.
|
||||||
|
|
||||||
**-v** level
|
``-v level``
|
||||||
Sets the debugging level.
|
This option sets the debugging level.
|
||||||
|
|
||||||
Timing Options
|
Timing Options
|
||||||
~~~~~~~~~~~~~~
|
~~~~~~~~~~~~~~
|
||||||
|
|
||||||
Dates can be expressed in the format YYYYMMDD or YYYYMMDDHHMMSS. If the
|
Dates can be expressed in the format YYYYMMDD or YYYYMMDDHHMMSS. If the
|
||||||
argument begins with a '+' or '-', it is interpreted as an offset from
|
argument begins with a ``+`` or ``-``, it is interpreted as an offset from
|
||||||
the present time. For convenience, if such an offset is followed by one
|
the present time. For convenience, if such an offset is followed by one
|
||||||
of the suffixes 'y', 'mo', 'w', 'd', 'h', or 'mi', then the offset is
|
of the suffixes ``y``, ``mo``, ``w``, ``d``, ``h``, or ``mi``, then the offset is
|
||||||
computed in years (defined as 365 24-hour days, ignoring leap years),
|
computed in years (defined as 365 24-hour days, ignoring leap years),
|
||||||
months (defined as 30 24-hour days), weeks, days, hours, or minutes,
|
months (defined as 30 24-hour days), weeks, days, hours, or minutes,
|
||||||
respectively. Without a suffix, the offset is computed in seconds. To
|
respectively. Without a suffix, the offset is computed in seconds. To
|
||||||
explicitly prevent a date from being set, use 'none' or 'never'.
|
explicitly prevent a date from being set, use ``none`` or ``never``.
|
||||||
|
|
||||||
**-P** date/offset
|
``-P date/offset``
|
||||||
Sets the date on which a key is to be published to the zone. After
|
This option sets the date on which a key is to be published to the zone. After
|
||||||
that date, the key will be included in the zone but will not be used
|
that date, the key is included in the zone but is not used
|
||||||
to sign it. If not set, and if the -G option has not been used, the
|
to sign it. If not set, and if the ``-G`` option has not been used, the
|
||||||
default is "now".
|
default is the current date.
|
||||||
|
|
||||||
**-P** sync date/offset
|
``-P sync date/offset``
|
||||||
Sets the date on which CDS and CDNSKEY records that match this key
|
This option sets the date on which CDS and CDNSKEY records that match this key
|
||||||
are to be published to the zone.
|
are to be published to the zone.
|
||||||
|
|
||||||
**-A** date/offset
|
``-A date/offset``
|
||||||
Sets the date on which the key is to be activated. After that date,
|
This option sets the date on which the key is to be activated. After that date,
|
||||||
the key will be included in the zone and used to sign it. If not set,
|
the key is included in the zone and used to sign it. If not set,
|
||||||
and if the -G option has not been used, the default is "now". If set,
|
and if the ``-G`` option has not been used, the default is the current date. If set,
|
||||||
if and -P is not set, then the publication date will be set to the
|
and ``-P`` is not set, the publication date is set to the
|
||||||
activation date minus the prepublication interval.
|
activation date minus the prepublication interval.
|
||||||
|
|
||||||
**-R** date/offset
|
``-R date/offset``
|
||||||
Sets the date on which the key is to be revoked. After that date, the
|
This option sets the date on which the key is to be revoked. After that date, the
|
||||||
key will be flagged as revoked. It will be included in the zone and
|
key is flagged as revoked. It is included in the zone and
|
||||||
will be used to sign it.
|
is used to sign it.
|
||||||
|
|
||||||
**-I** date/offset
|
``-I date/offset``
|
||||||
Sets the date on which the key is to be retired. After that date, the
|
This option sets the date on which the key is to be retired. After that date, the
|
||||||
key will still be included in the zone, but it will not be used to
|
key is still included in the zone, but it is not used to
|
||||||
sign it.
|
sign it.
|
||||||
|
|
||||||
**-D** date/offset
|
``-D date/offset``
|
||||||
Sets the date on which the key is to be deleted. After that date, the
|
This option sets the date on which the key is to be deleted. After that date, the
|
||||||
key will no longer be included in the zone. (It may remain in the key
|
key is no longer included in the zone. (However, it may remain in the key
|
||||||
repository, however.)
|
repository.)
|
||||||
|
|
||||||
**-D** sync date/offset
|
``-D sync date/offset``
|
||||||
Sets the date on which the CDS and CDNSKEY records that match this
|
This option sets the date on which the CDS and CDNSKEY records that match this
|
||||||
key are to be deleted.
|
key are to be deleted.
|
||||||
|
|
||||||
**-i** interval
|
``-i interval``
|
||||||
Sets the prepublication interval for a key. If set, then the
|
This option sets the prepublication interval for a key. If set, then the
|
||||||
publication and activation dates must be separated by at least this
|
publication and activation dates must be separated by at least this
|
||||||
much time. If the activation date is specified but the publication
|
much time. If the activation date is specified but the publication
|
||||||
date isn't, then the publication date will default to this much time
|
date is not, the publication date defaults to this much time
|
||||||
before the activation date; conversely, if the publication date is
|
before the activation date; conversely, if the publication date is
|
||||||
specified but activation date isn't, then activation will be set to
|
specified but not the activation date, activation is set to
|
||||||
this much time after publication.
|
this much time after publication.
|
||||||
|
|
||||||
If the key is being created as an explicit successor to another key,
|
If the key is being created as an explicit successor to another key,
|
||||||
@@ -267,7 +267,7 @@ explicitly prevent a date from being set, use 'none' or 'never'.
|
|||||||
zero.
|
zero.
|
||||||
|
|
||||||
As with date offsets, if the argument is followed by one of the
|
As with date offsets, if the argument is followed by one of the
|
||||||
suffixes 'y', 'mo', 'w', 'd', 'h', or 'mi', then the interval is
|
suffixes ``y``, ``mo``, ``w``, ``d``, ``h``, or ``mi``, the interval is
|
||||||
measured in years, months, weeks, days, hours, or minutes,
|
measured in years, months, weeks, days, hours, or minutes,
|
||||||
respectively. Without a suffix, the interval is measured in seconds.
|
respectively. Without a suffix, the interval is measured in seconds.
|
||||||
|
|
||||||
@@ -289,9 +289,9 @@ string. ``Knnnn.+aaa+iiiii.key`` contains the public key, and
|
|||||||
``Knnnn.+aaa+iiiii.private`` contains the private key.
|
``Knnnn.+aaa+iiiii.private`` contains the private key.
|
||||||
|
|
||||||
The ``.key`` file contains a DNSKEY or KEY record. When a zone is being
|
The ``.key`` file contains a DNSKEY or KEY record. When a zone is being
|
||||||
signed by ``named`` or ``dnssec-signzone`` ``-S``, DNSKEY records are
|
signed by ``named`` or ``dnssec-signzone -S``, DNSKEY records are
|
||||||
included automatically. In other cases, the ``.key`` file can be
|
included automatically. In other cases, the ``.key`` file can be
|
||||||
inserted into a zone file manually or with a ``$INCLUDE`` statement.
|
inserted into a zone file manually or with an ``$INCLUDE`` statement.
|
||||||
|
|
||||||
The ``.private`` file contains algorithm-specific fields. For obvious
|
The ``.private`` file contains algorithm-specific fields. For obvious
|
||||||
security reasons, this file does not have general read permission.
|
security reasons, this file does not have general read permission.
|
||||||
@@ -304,7 +304,7 @@ To generate an ECDSAP256SHA256 zone-signing key for the zone
|
|||||||
|
|
||||||
``dnssec-keygen -a ECDSAP256SHA256 example.com``
|
``dnssec-keygen -a ECDSAP256SHA256 example.com``
|
||||||
|
|
||||||
The command would print a string of the form:
|
The command prints a string of the form:
|
||||||
|
|
||||||
``Kexample.com.+013+26160``
|
``Kexample.com.+013+26160``
|
||||||
|
|
||||||
|
|||||||
@@ -41,38 +41,38 @@ containing the now-revoked key.
|
|||||||
Options
|
Options
|
||||||
~~~~~~~
|
~~~~~~~
|
||||||
|
|
||||||
**-h**
|
``-h``
|
||||||
Emit usage message and exit.
|
This option emits a usage message and exits.
|
||||||
|
|
||||||
**-K** directory
|
``-K directory``
|
||||||
Sets the directory in which the key files are to reside.
|
This option sets the directory in which the key files are to reside.
|
||||||
|
|
||||||
**-r**
|
``-r``
|
||||||
After writing the new keyset files remove the original keyset files.
|
This option indicates to remove the original keyset files after writing the new keyset files.
|
||||||
|
|
||||||
**-v** level
|
``-v level``
|
||||||
Sets the debugging level.
|
This option sets the debugging level.
|
||||||
|
|
||||||
**-V**
|
``-V``
|
||||||
Prints version information.
|
This option prints version information.
|
||||||
|
|
||||||
**-E** engine
|
``-E engine``
|
||||||
Specifies the cryptographic hardware to use, when applicable.
|
This option specifies the cryptographic hardware to use, when applicable.
|
||||||
|
|
||||||
When BIND is built with OpenSSL PKCS#11 support, this defaults to the
|
When BIND 9 is built with OpenSSL PKCS#11 support, this defaults to the
|
||||||
string "pkcs11", which identifies an OpenSSL engine that can drive a
|
string ``pkcs11``, which identifies an OpenSSL engine that can drive a
|
||||||
cryptographic accelerator or hardware service module. When BIND is
|
cryptographic accelerator or hardware service module. When BIND is
|
||||||
built with native PKCS#11 cryptography (--enable-native-pkcs11), it
|
built with native PKCS#11 cryptography (``--enable-native-pkcs11``), it
|
||||||
defaults to the path of the PKCS#11 provider library specified via
|
defaults to the path of the PKCS#11 provider library specified via
|
||||||
"--with-pkcs11".
|
``--with-pkcs11``.
|
||||||
|
|
||||||
**-f**
|
``-f``
|
||||||
Force overwrite: Causes ``dnssec-revoke`` to write the new key pair
|
This option indicates a forced overwrite and causes ``dnssec-revoke`` to write the new key pair,
|
||||||
even if a file already exists matching the algorithm and key ID of
|
even if a file already exists matching the algorithm and key ID of
|
||||||
the revoked key.
|
the revoked key.
|
||||||
|
|
||||||
**-R**
|
``-R``
|
||||||
Print the key tag of the key with the REVOKE bit set but do not
|
This option prints the key tag of the key with the REVOKE bit set, but does not
|
||||||
revoke the key.
|
revoke the key.
|
||||||
|
|
||||||
See Also
|
See Also
|
||||||
|
|||||||
@@ -40,7 +40,7 @@ timing metadata as specified by the ``-P``, ``-A``, ``-R``, ``-I``, and
|
|||||||
other signing software to determine when a key is to be published,
|
other signing software to determine when a key is to be published,
|
||||||
whether it should be used for signing a zone, etc.
|
whether it should be used for signing a zone, etc.
|
||||||
|
|
||||||
If none of these options is set on the command line, then
|
If none of these options is set on the command line,
|
||||||
``dnssec-settime`` simply prints the key timing metadata already stored
|
``dnssec-settime`` simply prints the key timing metadata already stored
|
||||||
in the key.
|
in the key.
|
||||||
|
|
||||||
@@ -54,155 +54,157 @@ the key file. The private file's permissions are always set to be
|
|||||||
inaccessible to anyone other than the owner (mode 0600).
|
inaccessible to anyone other than the owner (mode 0600).
|
||||||
|
|
||||||
When working with state files, it is possible to update the timing metadata in
|
When working with state files, it is possible to update the timing metadata in
|
||||||
those files as well with ``-s``. If this option is used you can also update key
|
those files as well with ``-s``. With this option, it is also possible to update key
|
||||||
states with ``-d`` (DS), ``-k`` (DNSKEY), ``-r`` (RRSIG of KSK), or ``-z``
|
states with ``-d`` (DS), ``-k`` (DNSKEY), ``-r`` (RRSIG of KSK), or ``-z``
|
||||||
(RRSIG of ZSK). Allowed states are HIDDEN, RUMOURED, OMNIPRESENT, and
|
(RRSIG of ZSK). Allowed states are HIDDEN, RUMOURED, OMNIPRESENT, and
|
||||||
UNRETENTIVE.
|
UNRETENTIVE.
|
||||||
|
|
||||||
You can also set the goal state of the key with ``-g``. This should be either
|
The goal state of the key can also be set with ``-g``. This should be either
|
||||||
HIDDEN or OMNIPRESENT (representing whether the key should be removed from the
|
HIDDEN or OMNIPRESENT, representing whether the key should be removed from the
|
||||||
zone, or published).
|
zone or published.
|
||||||
|
|
||||||
It is NOT RECOMMENDED to manipulate state files manually except for testing
|
It is NOT RECOMMENDED to manipulate state files manually, except for testing
|
||||||
purposes.
|
purposes.
|
||||||
|
|
||||||
Options
|
Options
|
||||||
~~~~~~~
|
~~~~~~~
|
||||||
|
|
||||||
**-f**
|
``-f``
|
||||||
Force an update of an old-format key with no metadata fields. Without
|
This option forces an update of an old-format key with no metadata fields. Without
|
||||||
this option, ``dnssec-settime`` will fail when attempting to update a
|
this option, ``dnssec-settime`` fails when attempting to update a
|
||||||
legacy key. With this option, the key will be recreated in the new
|
legacy key. With this option, the key is recreated in the new
|
||||||
format, but with the original key data retained. The key's creation
|
format, but with the original key data retained. The key's creation
|
||||||
date will be set to the present time. If no other values are
|
date is set to the present time. If no other values are
|
||||||
specified, then the key's publication and activation dates will also
|
specified, then the key's publication and activation dates are also
|
||||||
be set to the present time.
|
set to the present time.
|
||||||
|
|
||||||
**-K** directory
|
``-K directory``
|
||||||
Sets the directory in which the key files are to reside.
|
This option sets the directory in which the key files are to reside.
|
||||||
|
|
||||||
**-L** ttl
|
``-L ttl``
|
||||||
Sets the default TTL to use for this key when it is converted into a
|
This option sets the default TTL to use for this key when it is converted into a
|
||||||
DNSKEY RR. If the key is imported into a zone, this is the TTL that
|
DNSKEY RR. This is the TTL used when the key is imported into a zone,
|
||||||
will be used for it, unless there was already a DNSKEY RRset in
|
unless there was already a DNSKEY RRset in
|
||||||
place, in which case the existing TTL would take precedence. If this
|
place, in which case the existing TTL takes precedence. If this
|
||||||
value is not set and there is no existing DNSKEY RRset, the TTL will
|
value is not set and there is no existing DNSKEY RRset, the TTL
|
||||||
default to the SOA TTL. Setting the default TTL to ``0`` or ``none``
|
defaults to the SOA TTL. Setting the default TTL to ``0`` or ``none``
|
||||||
removes it from the key.
|
removes it from the key.
|
||||||
|
|
||||||
**-h**
|
``-h``
|
||||||
Emit usage message and exit.
|
This option emits a usage message and exits.
|
||||||
|
|
||||||
**-V**
|
``-V``
|
||||||
Prints version information.
|
This option prints version information.
|
||||||
|
|
||||||
**-v** level
|
``-v level``
|
||||||
Sets the debugging level.
|
This option sets the debugging level.
|
||||||
|
|
||||||
**-E** engine
|
``-E engine``
|
||||||
Specifies the cryptographic hardware to use, when applicable.
|
This option specifies the cryptographic hardware to use, when applicable.
|
||||||
|
|
||||||
When BIND is built with OpenSSL PKCS#11 support, this defaults to the
|
When BIND is built with OpenSSL PKCS#11 support, this defaults to the
|
||||||
string "pkcs11", which identifies an OpenSSL engine that can drive a
|
string ``pkcs11``, which identifies an OpenSSL engine that can drive a
|
||||||
cryptographic accelerator or hardware service module. When BIND is
|
cryptographic accelerator or hardware service module. When BIND is
|
||||||
built with native PKCS#11 cryptography (--enable-native-pkcs11), it
|
built with native PKCS#11 cryptography (``--enable-native-pkcs11``), it
|
||||||
defaults to the path of the PKCS#11 provider library specified via
|
defaults to the path of the PKCS#11 provider library specified via
|
||||||
"--with-pkcs11".
|
``--with-pkcs11``.
|
||||||
|
|
||||||
Timing Options
|
Timing Options
|
||||||
~~~~~~~~~~~~~~
|
~~~~~~~~~~~~~~
|
||||||
|
|
||||||
Dates can be expressed in the format YYYYMMDD or YYYYMMDDHHMMSS. If the
|
Dates can be expressed in the format YYYYMMDD or YYYYMMDDHHMMSS. If the
|
||||||
argument begins with a '+' or '-', it is interpreted as an offset from
|
argument begins with a ``+`` or ``-``, it is interpreted as an offset from
|
||||||
the present time. For convenience, if such an offset is followed by one
|
the present time. For convenience, if such an offset is followed by one
|
||||||
of the suffixes 'y', 'mo', 'w', 'd', 'h', or 'mi', then the offset is
|
of the suffixes ``y``, ``mo``, ``w``, ``d``, ``h``, or ``mi``, then the offset is
|
||||||
computed in years (defined as 365 24-hour days, ignoring leap years),
|
computed in years (defined as 365 24-hour days, ignoring leap years),
|
||||||
months (defined as 30 24-hour days), weeks, days, hours, or minutes,
|
months (defined as 30 24-hour days), weeks, days, hours, or minutes,
|
||||||
respectively. Without a suffix, the offset is computed in seconds. To
|
respectively. Without a suffix, the offset is computed in seconds. To
|
||||||
unset a date, use 'none' or 'never'.
|
explicitly prevent a date from being set, use ``none`` or ``never``.
|
||||||
|
|
||||||
**-P** date/offset
|
``-P date/offset``
|
||||||
Sets the date on which a key is to be published to the zone. After
|
This option sets the date on which a key is to be published to the zone. After
|
||||||
that date, the key will be included in the zone but will not be used
|
that date, the key is included in the zone but is not used
|
||||||
to sign it.
|
to sign it.
|
||||||
|
|
||||||
**-P** sync date/offset
|
``-P sync date/offset``
|
||||||
Sets the date on which CDS and CDNSKEY records that match this key
|
This option sets the date on which CDS and CDNSKEY records that match this key
|
||||||
are to be published to the zone.
|
are to be published to the zone.
|
||||||
|
|
||||||
**-A** date/offset
|
``-A date/offset``
|
||||||
Sets the date on which the key is to be activated. After that date,
|
This option sets the date on which the key is to be activated. After that date,
|
||||||
the key will be included in the zone and used to sign it.
|
the key is included in the zone and used to sign it.
|
||||||
|
|
||||||
**-R** date/offset
|
``-R date/offset``
|
||||||
Sets the date on which the key is to be revoked. After that date, the
|
This option sets the date on which the key is to be revoked. After that date, the
|
||||||
key will be flagged as revoked. It will be included in the zone and
|
key is flagged as revoked. It is included in the zone and
|
||||||
will be used to sign it.
|
is used to sign it.
|
||||||
|
|
||||||
**-I** date/offset
|
``-I date/offset``
|
||||||
Sets the date on which the key is to be retired. After that date, the
|
This option sets the date on which the key is to be retired. After that date, the
|
||||||
key will still be included in the zone, but it will not be used to
|
key is still included in the zone, but it is not used to
|
||||||
sign it.
|
sign it.
|
||||||
|
|
||||||
**-D** date/offset
|
``-D date/offset``
|
||||||
Sets the date on which the key is to be deleted. After that date, the
|
This option sets the date on which the key is to be deleted. After that date, the
|
||||||
key will no longer be included in the zone. (It may remain in the key
|
key is no longer included in the zone. (However, it may remain in the key
|
||||||
repository, however.)
|
repository.)
|
||||||
|
|
||||||
**-D** sync date/offset
|
``-D sync date/offset``
|
||||||
Sets the date on which the CDS and CDNSKEY records that match this
|
This option sets the date on which the CDS and CDNSKEY records that match this
|
||||||
key are to be deleted.
|
key are to be deleted.
|
||||||
|
|
||||||
**-S** predecessor key
|
``-S predecessor key``
|
||||||
Select a key for which the key being modified will be an explicit
|
This option selects a key for which the key being modified is an explicit
|
||||||
successor. The name, algorithm, size, and type of the predecessor key
|
successor. The name, algorithm, size, and type of the predecessor key
|
||||||
must exactly match those of the key being modified. The activation
|
must exactly match those of the key being modified. The activation
|
||||||
date of the successor key will be set to the inactivation date of the
|
date of the successor key is set to the inactivation date of the
|
||||||
predecessor. The publication date will be set to the activation date
|
predecessor. The publication date is set to the activation date
|
||||||
minus the prepublication interval, which defaults to 30 days.
|
minus the prepublication interval, which defaults to 30 days.
|
||||||
|
|
||||||
**-i** interval
|
``-i interval``
|
||||||
Sets the prepublication interval for a key. If set, then the
|
This option sets the prepublication interval for a key. If set, then the
|
||||||
publication and activation dates must be separated by at least this
|
publication and activation dates must be separated by at least this
|
||||||
much time. If the activation date is specified but the publication
|
much time. If the activation date is specified but the publication
|
||||||
date isn't, then the publication date will default to this much time
|
date is not, the publication date defaults to this much time
|
||||||
before the activation date; conversely, if the publication date is
|
before the activation date; conversely, if the publication date is
|
||||||
specified but activation date isn't, then activation will be set to
|
specified but not the activation date, activation is set to
|
||||||
this much time after publication.
|
this much time after publication.
|
||||||
|
|
||||||
If the key is being set to be an explicit successor to another key,
|
If the key is being created as an explicit successor to another key,
|
||||||
then the default prepublication interval is 30 days; otherwise it is
|
then the default prepublication interval is 30 days; otherwise it is
|
||||||
zero.
|
zero.
|
||||||
|
|
||||||
As with date offsets, if the argument is followed by one of the
|
As with date offsets, if the argument is followed by one of the
|
||||||
suffixes 'y', 'mo', 'w', 'd', 'h', or 'mi', then the interval is
|
suffixes ``y``, ``mo``, ``w``, ``d``, ``h``, or ``mi``, the interval is
|
||||||
measured in years, months, weeks, days, hours, or minutes,
|
measured in years, months, weeks, days, hours, or minutes,
|
||||||
respectively. Without a suffix, the interval is measured in seconds.
|
respectively. Without a suffix, the interval is measured in seconds.
|
||||||
|
|
||||||
Key State Options
|
Key State Options
|
||||||
~~~~~~~~~~~~~~~~~
|
~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
Known key states are HIDDEN, RUMOURED, OMNIPRESENT and UNRETENTIVE. These should
|
To test dnssec-policy it may be necessary to construct keys with artificial
|
||||||
not be set manually except for testing purposes.
|
state information; these options are used by the testing framework for that
|
||||||
|
purpose, but should never be used in production.
|
||||||
|
|
||||||
|
Known key states are HIDDEN, RUMOURED, OMNIPRESENT, and UNRETENTIVE.
|
||||||
|
|
||||||
``-s``
|
``-s``
|
||||||
When setting key timing data, also update the state file.
|
This option indicates that when setting key timing data, the state file should also be updated.
|
||||||
|
|
||||||
``-g``
|
``-g state``
|
||||||
Set the goal state for this key. Must be HIDDEN or OMNIPRESENT.
|
This option sets the goal state for this key. Must be HIDDEN or OMNIPRESENT.
|
||||||
|
|
||||||
``-d``
|
``-d state date/offset``
|
||||||
Set the DS state for this key, and when it was last changed.
|
This option sets the DS state for this key as of the specified date, offset from the current date.
|
||||||
|
|
||||||
``-k``
|
``-k state date/offset``
|
||||||
Set the DNSKEY state for this key, and when it was last changed.
|
This option sets the DNSKEY state for this key as of the specified date, offset from the current date.
|
||||||
|
|
||||||
``-r``
|
``-r state date/offset``
|
||||||
Set the RRSIG (KSK) state for this key, and when it was last changed.
|
This option sets the RRSIG (KSK) state for this key as of the specified date, offset from the current date.
|
||||||
|
|
||||||
``-z``
|
``-z state date/offset``
|
||||||
|
This option sets the RRSIG (ZSK) state for this key as of the specified date, offset from the current date.
|
||||||
Set the RRSIG (ZSK) state for this key, and when it was last changed.
|
|
||||||
|
|
||||||
Printing Options
|
Printing Options
|
||||||
~~~~~~~~~~~~~~~~
|
~~~~~~~~~~~~~~~~
|
||||||
@@ -210,18 +212,18 @@ Printing Options
|
|||||||
``dnssec-settime`` can also be used to print the timing metadata
|
``dnssec-settime`` can also be used to print the timing metadata
|
||||||
associated with a key.
|
associated with a key.
|
||||||
|
|
||||||
**-u**
|
``-u``
|
||||||
Print times in UNIX epoch format.
|
This option indicates that times should be printed in Unix epoch format.
|
||||||
|
|
||||||
**-p** C/P/Psync/A/R/I/D/Dsync/all
|
``-p C/P/Psync/A/R/I/D/Dsync/all``
|
||||||
Print a specific metadata value or set of metadata values. The ``-p``
|
This option prints a specific metadata value or set of metadata values. The ``-p``
|
||||||
option may be followed by one or more of the following letters or
|
option may be followed by one or more of the following letters or
|
||||||
strings to indicate which value or values to print: ``C`` for the
|
strings to indicate which value or values to print: ``C`` for the
|
||||||
creation date, ``P`` for the publication date, ``Psync`` for the CDS
|
creation date, ``P`` for the publication date, ``Psync`` for the CDS
|
||||||
and CDNSKEY publication date, ``A`` for the activation date, ``R``
|
and CDNSKEY publication date, ``A`` for the activation date, ``R``
|
||||||
for the revocation date, ``I`` for the inactivation date, ``D`` for
|
for the revocation date, ``I`` for the inactivation date, ``D`` for
|
||||||
the deletion date, and ``Dsync`` for the CDS and CDNSKEY deletion
|
the deletion date, and ``Dsync`` for the CDS and CDNSKEY deletion
|
||||||
date To print all of the metadata, use ``-p all``.
|
date. To print all of the metadata, use ``all``.
|
||||||
|
|
||||||
See Also
|
See Also
|
||||||
~~~~~~~~
|
~~~~~~~~
|
||||||
|
|||||||
+166
-167
@@ -34,233 +34,232 @@ Synopsis
|
|||||||
Description
|
Description
|
||||||
~~~~~~~~~~~
|
~~~~~~~~~~~
|
||||||
|
|
||||||
``dnssec-signzone`` signs a zone. It generates NSEC and RRSIG records
|
``dnssec-signzone`` signs a zone; it generates NSEC and RRSIG records
|
||||||
and produces a signed version of the zone. The security status of
|
and produces a signed version of the zone. The security status of
|
||||||
delegations from the signed zone (that is, whether the child zones are
|
delegations from the signed zone (that is, whether the child zones are
|
||||||
secure or not) is determined by the presence or absence of a ``keyset``
|
secure) is determined by the presence or absence of a ``keyset``
|
||||||
file for each child zone.
|
file for each child zone.
|
||||||
|
|
||||||
Options
|
Options
|
||||||
~~~~~~~
|
~~~~~~~
|
||||||
|
|
||||||
**-a**
|
``-a``
|
||||||
Verify all generated signatures.
|
This option verifies all generated signatures.
|
||||||
|
|
||||||
**-c** class
|
``-c class``
|
||||||
Specifies the DNS class of the zone.
|
This option specifies the DNS class of the zone.
|
||||||
|
|
||||||
**-C**
|
``-C``
|
||||||
Compatibility mode: Generate a ``keyset-zonename`` file in addition
|
This option sets compatibility mode, in which a ``keyset-zonename`` file is generated in addition
|
||||||
to ``dsset-zonename`` when signing a zone, for use by older versions
|
to ``dsset-zonename`` when signing a zone, for use by older versions
|
||||||
of ``dnssec-signzone``.
|
of ``dnssec-signzone``.
|
||||||
|
|
||||||
**-d** directory
|
``-d directory``
|
||||||
Look for ``dsset-`` or ``keyset-`` files in ``directory``.
|
This option indicates the directory where BIND 9 should look for ``dsset-`` or ``keyset-`` files.
|
||||||
|
|
||||||
**-D**
|
``-D``
|
||||||
Output only those record types automatically managed by
|
This option indicates that only those record types automatically managed by
|
||||||
``dnssec-signzone``, i.e. RRSIG, NSEC, NSEC3 and NSEC3PARAM records.
|
``dnssec-signzone``, i.e., RRSIG, NSEC, NSEC3 and NSEC3PARAM records, should be included in the output.
|
||||||
If smart signing (``-S``) is used, DNSKEY records are also included.
|
If smart signing (``-S``) is used, DNSKEY records are also included.
|
||||||
The resulting file can be included in the original zone file with
|
The resulting file can be included in the original zone file with
|
||||||
``$INCLUDE``. This option cannot be combined with ``-O raw``,
|
``$INCLUDE``. This option cannot be combined with ``-O raw``,
|
||||||
``-O map``, or serial number updating.
|
``-O map``, or serial-number updating.
|
||||||
|
|
||||||
**-E** engine
|
``-E engine``
|
||||||
When applicable, specifies the hardware to use for cryptographic
|
This option specifies the hardware to use for cryptographic
|
||||||
operations, such as a secure key store used for signing.
|
operations, such as a secure key store used for signing, when applicable.
|
||||||
|
|
||||||
When BIND is built with OpenSSL PKCS#11 support, this defaults to the
|
When BIND is built with OpenSSL PKCS#11 support, this defaults to the
|
||||||
string "pkcs11", which identifies an OpenSSL engine that can drive a
|
string ``pkcs11``, which identifies an OpenSSL engine that can drive a
|
||||||
cryptographic accelerator or hardware service module. When BIND is
|
cryptographic accelerator or hardware service module. When BIND is
|
||||||
built with native PKCS#11 cryptography (--enable-native-pkcs11), it
|
built with native PKCS#11 cryptography (``--enable-native-pkcs11``), it
|
||||||
defaults to the path of the PKCS#11 provider library specified via
|
defaults to the path of the PKCS#11 provider library specified via
|
||||||
"--with-pkcs11".
|
``--with-pkcs11``.
|
||||||
|
|
||||||
**-g**
|
``-g``
|
||||||
Generate DS records for child zones from ``dsset-`` or ``keyset-``
|
This option indicates that DS records for child zones should be generated from a ``dsset-`` or ``keyset-``
|
||||||
file. Existing DS records will be removed.
|
file. Existing DS records are removed.
|
||||||
|
|
||||||
**-K** directory
|
``-K directory``
|
||||||
Key repository: Specify a directory to search for DNSSEC keys. If not
|
This option specifies the directory to search for DNSSEC keys. If not
|
||||||
specified, defaults to the current directory.
|
specified, it defaults to the current directory.
|
||||||
|
|
||||||
**-k** key
|
``-k key``
|
||||||
Treat specified key as a key signing key ignoring any key flags. This
|
This option tells BIND 9 to treat the specified key as a key-signing key, ignoring any key flags. This
|
||||||
option may be specified multiple times.
|
option may be specified multiple times.
|
||||||
|
|
||||||
**-M** maxttl
|
``-M maxttl``
|
||||||
Sets the maximum TTL for the signed zone. Any TTL higher than maxttl
|
This option sets the maximum TTL for the signed zone. Any TTL higher than ``maxttl``
|
||||||
in the input zone will be reduced to maxttl in the output. This
|
in the input zone is reduced to ``maxttl`` in the output. This
|
||||||
provides certainty as to the largest possible TTL in the signed zone,
|
provides certainty as to the largest possible TTL in the signed zone,
|
||||||
which is useful to know when rolling keys because it is the longest
|
which is useful to know when rolling keys. The maxttl is the longest
|
||||||
possible time before signatures that have been retrieved by resolvers
|
possible time before signatures that have been retrieved by resolvers
|
||||||
will expire from resolver caches. Zones that are signed with this
|
expire from resolver caches. Zones that are signed with this
|
||||||
option should be configured to use a matching ``max-zone-ttl`` in
|
option should be configured to use a matching ``max-zone-ttl`` in
|
||||||
``named.conf``. (Note: This option is incompatible with ``-D``,
|
``named.conf``. (Note: This option is incompatible with ``-D``,
|
||||||
because it modifies non-DNSSEC data in the output zone.)
|
because it modifies non-DNSSEC data in the output zone.)
|
||||||
|
|
||||||
**-s** start-time
|
``-s start-time``
|
||||||
Specify the date and time when the generated RRSIG records become
|
This option specifies the date and time when the generated RRSIG records become
|
||||||
valid. This can be either an absolute or relative time. An absolute
|
valid. This can be either an absolute or relative time. An absolute
|
||||||
start time is indicated by a number in YYYYMMDDHHMMSS notation;
|
start time is indicated by a number in YYYYMMDDHHMMSS notation;
|
||||||
20000530144500 denotes 14:45:00 UTC on May 30th, 2000. A relative
|
20000530144500 denotes 14:45:00 UTC on May 30th, 2000. A relative
|
||||||
start time is indicated by +N, which is N seconds from the current
|
start time is indicated by ``+N``, which is N seconds from the current
|
||||||
time. If no ``start-time`` is specified, the current time minus 1
|
time. If no ``start-time`` is specified, the current time minus 1
|
||||||
hour (to allow for clock skew) is used.
|
hour (to allow for clock skew) is used.
|
||||||
|
|
||||||
**-e** end-time
|
``-e end-time``
|
||||||
Specify the date and time when the generated RRSIG records expire. As
|
This option specifies the date and time when the generated RRSIG records expire. As
|
||||||
with ``start-time``, an absolute time is indicated in YYYYMMDDHHMMSS
|
with ``start-time``, an absolute time is indicated in YYYYMMDDHHMMSS
|
||||||
notation. A time relative to the start time is indicated with +N,
|
notation. A time relative to the start time is indicated with ``+N``,
|
||||||
which is N seconds from the start time. A time relative to the
|
which is N seconds from the start time. A time relative to the
|
||||||
current time is indicated with now+N. If no ``end-time`` is
|
current time is indicated with ``now+N``. If no ``end-time`` is
|
||||||
specified, 30 days from the start time is used as a default.
|
specified, 30 days from the start time is the default.
|
||||||
``end-time`` must be later than ``start-time``.
|
``end-time`` must be later than ``start-time``.
|
||||||
|
|
||||||
**-X** extended end-time
|
``-X extended end-time``
|
||||||
Specify the date and time when the generated RRSIG records for the
|
This option specifies the date and time when the generated RRSIG records for the
|
||||||
DNSKEY RRset will expire. This is to be used in cases when the DNSKEY
|
DNSKEY RRset expire. This is to be used in cases when the DNSKEY
|
||||||
signatures need to persist longer than signatures on other records;
|
signatures need to persist longer than signatures on other records;
|
||||||
e.g., when the private component of the KSK is kept offline and the
|
e.g., when the private component of the KSK is kept offline and the
|
||||||
KSK signature is to be refreshed manually.
|
KSK signature is to be refreshed manually.
|
||||||
|
|
||||||
As with ``start-time``, an absolute time is indicated in
|
As with ``end-time``, an absolute time is indicated in
|
||||||
YYYYMMDDHHMMSS notation. A time relative to the start time is
|
YYYYMMDDHHMMSS notation. A time relative to the start time is
|
||||||
indicated with +N, which is N seconds from the start time. A time
|
indicated with ``+N``, which is N seconds from the start time. A time
|
||||||
relative to the current time is indicated with now+N. If no
|
relative to the current time is indicated with ``now+N``. If no
|
||||||
``extended end-time`` is specified, the value of ``end-time`` is used
|
``extended end-time`` is specified, the value of ``end-time`` is used
|
||||||
as the default. (``end-time``, in turn, defaults to 30 days from the
|
as the default. (``end-time``, in turn, defaults to 30 days from the
|
||||||
start time.) ``extended end-time`` must be later than ``start-time``.
|
start time.) ``extended end-time`` must be later than ``start-time``.
|
||||||
|
|
||||||
**-f** output-file
|
``-f output-file``
|
||||||
The name of the output file containing the signed zone. The default
|
This option indicates the name of the output file containing the signed zone. The default
|
||||||
is to append ``.signed`` to the input filename. If ``output-file`` is
|
is to append ``.signed`` to the input filename. If ``output-file`` is
|
||||||
set to ``"-"``, then the signed zone is written to the standard
|
set to ``-``, then the signed zone is written to the standard
|
||||||
output, with a default output format of "full".
|
output, with a default output format of ``full``.
|
||||||
|
|
||||||
**-h**
|
``-h``
|
||||||
Prints a short summary of the options and arguments to
|
This option prints a short summary of the options and arguments to
|
||||||
``dnssec-signzone``.
|
``dnssec-signzone``.
|
||||||
|
|
||||||
**-V**
|
``-V``
|
||||||
Prints version information.
|
This option prints version information.
|
||||||
|
|
||||||
**-i** interval
|
``-i interval``
|
||||||
When a previously-signed zone is passed as input, records may be
|
This option indicates that, when a previously signed zone is passed as input, records may be
|
||||||
resigned. The ``interval`` option specifies the cycle interval as an
|
re-signed. The ``interval`` option specifies the cycle interval as an
|
||||||
offset from the current time (in seconds). If a RRSIG record expires
|
offset from the current time, in seconds. If a RRSIG record expires
|
||||||
after the cycle interval, it is retained. Otherwise, it is considered
|
after the cycle interval, it is retained; otherwise, it is considered
|
||||||
to be expiring soon, and it will be replaced.
|
to be expiring soon and it is replaced.
|
||||||
|
|
||||||
The default cycle interval is one quarter of the difference between
|
The default cycle interval is one quarter of the difference between
|
||||||
the signature end and start times. So if neither ``end-time`` or
|
the signature end and start times. So if neither ``end-time`` nor
|
||||||
``start-time`` are specified, ``dnssec-signzone`` generates
|
``start-time`` is specified, ``dnssec-signzone`` generates
|
||||||
signatures that are valid for 30 days, with a cycle interval of 7.5
|
signatures that are valid for 30 days, with a cycle interval of 7.5
|
||||||
days. Therefore, if any existing RRSIG records are due to expire in
|
days. Therefore, if any existing RRSIG records are due to expire in
|
||||||
less than 7.5 days, they would be replaced.
|
less than 7.5 days, they are replaced.
|
||||||
|
|
||||||
**-I** input-format
|
``-I input-format``
|
||||||
The format of the input zone file. Possible formats are ``"text"``
|
This option sets the format of the input zone file. Possible formats are ``text``
|
||||||
(default), ``"raw"``, and ``"map"``. This option is primarily
|
(the default), ``raw``, and ``map``. This option is primarily
|
||||||
intended to be used for dynamic signed zones so that the dumped zone
|
intended to be used for dynamic signed zones, so that the dumped zone
|
||||||
file in a non-text format containing updates can be signed directly.
|
file in a non-text format containing updates can be signed directly.
|
||||||
The use of this option does not make much sense for non-dynamic
|
This option is not useful for non-dynamic zones.
|
||||||
zones.
|
|
||||||
|
|
||||||
**-j** jitter
|
``-j jitter``
|
||||||
When signing a zone with a fixed signature lifetime, all RRSIG
|
When signing a zone with a fixed signature lifetime, all RRSIG
|
||||||
records issued at the time of signing expires simultaneously. If the
|
records issued at the time of signing expire simultaneously. If the
|
||||||
zone is incrementally signed, i.e. a previously-signed zone is passed
|
zone is incrementally signed, i.e., a previously signed zone is passed
|
||||||
as input to the signer, all expired signatures have to be regenerated
|
as input to the signer, all expired signatures must be regenerated
|
||||||
at about the same time. The ``jitter`` option specifies a jitter
|
at approximately the same time. The ``jitter`` option specifies a jitter
|
||||||
window that will be used to randomize the signature expire time, thus
|
window that is used to randomize the signature expire time, thus
|
||||||
spreading incremental signature regeneration over time.
|
spreading incremental signature regeneration over time.
|
||||||
|
|
||||||
Signature lifetime jitter also to some extent benefits validators and
|
Signature lifetime jitter also, to some extent, benefits validators and
|
||||||
servers by spreading out cache expiration, i.e. if large numbers of
|
servers by spreading out cache expiration, i.e., if large numbers of
|
||||||
RRSIGs don't expire at the same time from all caches there will be
|
RRSIGs do not expire at the same time from all caches, there is
|
||||||
less congestion than if all validators need to refetch at mostly the
|
less congestion than if all validators need to refetch at around the
|
||||||
same time.
|
same time.
|
||||||
|
|
||||||
**-L** serial
|
``-L serial``
|
||||||
When writing a signed zone to "raw" or "map" format, set the "source
|
When writing a signed zone to "raw" or "map" format, this option sets the "source
|
||||||
serial" value in the header to the specified serial number. (This is
|
serial" value in the header to the specified ``serial`` number. (This is
|
||||||
expected to be used primarily for testing purposes.)
|
expected to be used primarily for testing purposes.)
|
||||||
|
|
||||||
**-n** ncpus
|
``-n ncpus``
|
||||||
Specifies the number of threads to use. By default, one thread is
|
This option specifies the number of threads to use. By default, one thread is
|
||||||
started for each detected CPU.
|
started for each detected CPU.
|
||||||
|
|
||||||
**-N** soa-serial-format
|
``-N soa-serial-format``
|
||||||
The SOA serial number format of the signed zone. Possible formats are
|
This option sets the SOA serial number format of the signed zone. Possible formats are
|
||||||
``"keep"`` (default), ``"increment"``, ``"unixtime"``, and
|
``keep`` (the default), ``increment``, ``unixtime``, and
|
||||||
``"date"``.
|
``date``.
|
||||||
|
|
||||||
``"keep"``
|
**keep**
|
||||||
Do not modify the SOA serial number.
|
This format indicates that the SOA serial number should not be modified.
|
||||||
|
|
||||||
``"increment"``
|
**increment**
|
||||||
Increment the SOA serial number using :rfc:`1982` arithmetic.
|
This format increments the SOA serial number using :rfc:`1982` arithmetic.
|
||||||
|
|
||||||
``"unixtime"``
|
**unixtime**
|
||||||
Set the SOA serial number to the number of seconds since epoch.
|
This format sets the SOA serial number to the number of seconds since the beginning of the Unix epoch.
|
||||||
|
|
||||||
``"date"``
|
**date**
|
||||||
Set the SOA serial number to today's date in YYYYMMDDNN format.
|
This format sets the SOA serial number to today's date, in YYYYMMDDNN format.
|
||||||
|
|
||||||
**-o** origin
|
``-o origin``
|
||||||
The zone origin. If not specified, the name of the zone file is
|
This option sets the zone origin. If not specified, the name of the zone file is
|
||||||
assumed to be the origin.
|
assumed to be the origin.
|
||||||
|
|
||||||
**-O** output-format
|
``-O output-format``
|
||||||
The format of the output file containing the signed zone. Possible
|
This option sets the format of the output file containing the signed zone. Possible
|
||||||
formats are ``"text"`` (default), which is the standard textual
|
formats are ``text`` (the default), which is the standard textual
|
||||||
representation of the zone; ``"full"``, which is text output in a
|
representation of the zone; ``full``, which is text output in a
|
||||||
format suitable for processing by external scripts; and ``"map"``,
|
format suitable for processing by external scripts; and ``map``,
|
||||||
``"raw"``, and ``"raw=N"``, which store the zone in binary formats
|
``raw``, and ``raw=N``, which store the zone in binary formats
|
||||||
for rapid loading by ``named``. ``"raw=N"`` specifies the format
|
for rapid loading by ``named``. ``raw=N`` specifies the format
|
||||||
version of the raw zone file: if N is 0, the raw file can be read by
|
version of the raw zone file: if N is 0, the raw file can be read by
|
||||||
any version of ``named``; if N is 1, the file can be read by release
|
any version of ``named``; if N is 1, the file can be read by release
|
||||||
9.9.0 or higher; the default is 1.
|
9.9.0 or higher. The default is 1.
|
||||||
|
|
||||||
**-P**
|
``-P``
|
||||||
Disable post sign verification tests.
|
This option disables post-sign verification tests.
|
||||||
|
|
||||||
The post sign verification test ensures that for each algorithm in
|
The post-sign verification tests ensure that for each algorithm in
|
||||||
use there is at least one non revoked self signed KSK key, that all
|
use there is at least one non-revoked self-signed KSK key, that all
|
||||||
revoked KSK keys are self signed, and that all records in the zone
|
revoked KSK keys are self-signed, and that all records in the zone
|
||||||
are signed by the algorithm. This option skips these tests.
|
are signed by the algorithm. This option skips these tests.
|
||||||
|
|
||||||
**-Q**
|
``-Q``
|
||||||
Remove signatures from keys that are no longer active.
|
This option removes signatures from keys that are no longer active.
|
||||||
|
|
||||||
Normally, when a previously-signed zone is passed as input to the
|
Normally, when a previously signed zone is passed as input to the
|
||||||
signer, and a DNSKEY record has been removed and replaced with a new
|
signer, and a DNSKEY record has been removed and replaced with a new
|
||||||
one, signatures from the old key that are still within their validity
|
one, signatures from the old key that are still within their validity
|
||||||
period are retained. This allows the zone to continue to validate
|
period are retained. This allows the zone to continue to validate
|
||||||
with cached copies of the old DNSKEY RRset. The ``-Q`` forces
|
with cached copies of the old DNSKEY RRset. The ``-Q`` option forces
|
||||||
``dnssec-signzone`` to remove signatures from keys that are no longer
|
``dnssec-signzone`` to remove signatures from keys that are no longer
|
||||||
active. This enables ZSK rollover using the procedure described in
|
active. This enables ZSK rollover using the procedure described in
|
||||||
:rfc:`4641#4.2.1.1` ("Pre-Publish Key Rollover").
|
:rfc:`4641#4.2.1.1` ("Pre-Publish Key Rollover").
|
||||||
|
|
||||||
``-q``
|
``-q``
|
||||||
Quiet mode: Suppresses unnecessary output. Without this option, when
|
This option enables quiet mode, which suppresses unnecessary output. Without this option, when
|
||||||
``dnssec-signzone`` is run it will print to standard output the number of
|
``dnssec-signzone`` is run it prints three pieces of information to standard output: the number of
|
||||||
keys in use, the algorithms used to verify the zone was signed correctly and
|
keys in use; the algorithms used to verify the zone was signed correctly and
|
||||||
other status information, and finally the filename containing the signed
|
other status information; and the filename containing the signed
|
||||||
zone. With it, that output is suppressed, leaving only the filename.
|
zone. With the option that output is suppressed, leaving only the filename.
|
||||||
|
|
||||||
**-R**
|
``-R``
|
||||||
Remove signatures from keys that are no longer published.
|
This option removes signatures from keys that are no longer published.
|
||||||
|
|
||||||
This option is similar to ``-Q``, except it forces
|
This option is similar to ``-Q``, except it forces
|
||||||
``dnssec-signzone`` to signatures from keys that are no longer
|
``dnssec-signzone`` to remove signatures from keys that are no longer
|
||||||
published. This enables ZSK rollover using the procedure described in
|
published. This enables ZSK rollover using the procedure described in
|
||||||
:rfc:`4641#4.2.1.2` ("Double Signature Zone Signing Key
|
:rfc:`4641#4.2.1.2` ("Double Signature Zone Signing Key
|
||||||
Rollover").
|
Rollover").
|
||||||
|
|
||||||
**-S**
|
``-S``
|
||||||
Smart signing: Instructs ``dnssec-signzone`` to search the key
|
This option enables smart signing, which instructs ``dnssec-signzone`` to search the key
|
||||||
repository for keys that match the zone being signed, and to include
|
repository for keys that match the zone being signed, and to include
|
||||||
them in the zone if appropriate.
|
them in the zone if appropriate.
|
||||||
|
|
||||||
@@ -274,94 +273,94 @@ Options
|
|||||||
If the key's publication date is set and is in the past, the key
|
If the key's publication date is set and is in the past, the key
|
||||||
is published in the zone.
|
is published in the zone.
|
||||||
|
|
||||||
If the key's activation date is set and in the past, the key is
|
If the key's activation date is set and is in the past, the key is
|
||||||
published (regardless of publication date) and used to sign the
|
published (regardless of publication date) and used to sign the
|
||||||
zone.
|
zone.
|
||||||
|
|
||||||
If the key's revocation date is set and in the past, and the key
|
If the key's revocation date is set and is in the past, and the key
|
||||||
is published, then the key is revoked, and the revoked key is used
|
is published, then the key is revoked, and the revoked key is used
|
||||||
to sign the zone.
|
to sign the zone.
|
||||||
|
|
||||||
If either of the key's unpublication or deletion dates are set and
|
If either the key's unpublication or deletion date is set and
|
||||||
in the past, the key is NOT published or used to sign the zone,
|
in the past, the key is NOT published or used to sign the zone,
|
||||||
regardless of any other metadata.
|
regardless of any other metadata.
|
||||||
|
|
||||||
If key's sync publication date is set and in the past,
|
If the key's sync publication date is set and is in the past,
|
||||||
synchronization records (type CDS and/or CDNSKEY) are created.
|
synchronization records (type CDS and/or CDNSKEY) are created.
|
||||||
|
|
||||||
If key's sync deletion date is set and in the past,
|
If the key's sync deletion date is set and is in the past,
|
||||||
synchronization records (type CDS and/or CDNSKEY) are removed.
|
synchronization records (type CDS and/or CDNSKEY) are removed.
|
||||||
|
|
||||||
**-T** ttl
|
``-T ttl``
|
||||||
Specifies a TTL to be used for new DNSKEY records imported into the
|
This option specifies a TTL to be used for new DNSKEY records imported into the
|
||||||
zone from the key repository. If not specified, the default is the
|
zone from the key repository. If not specified, the default is the
|
||||||
TTL value from the zone's SOA record. This option is ignored when
|
TTL value from the zone's SOA record. This option is ignored when
|
||||||
signing without ``-S``, since DNSKEY records are not imported from
|
signing without ``-S``, since DNSKEY records are not imported from
|
||||||
the key repository in that case. It is also ignored if there are any
|
the key repository in that case. It is also ignored if there are any
|
||||||
pre-existing DNSKEY records at the zone apex, in which case new
|
pre-existing DNSKEY records at the zone apex, in which case new
|
||||||
records' TTL values will be set to match them, or if any of the
|
records' TTL values are set to match them, or if any of the
|
||||||
imported DNSKEY records had a default TTL value. In the event of a a
|
imported DNSKEY records had a default TTL value. In the event of a
|
||||||
conflict between TTL values in imported keys, the shortest one is
|
conflict between TTL values in imported keys, the shortest one is
|
||||||
used.
|
used.
|
||||||
|
|
||||||
**-t**
|
``-t``
|
||||||
Print statistics at completion.
|
This option prints statistics at completion.
|
||||||
|
|
||||||
**-u**
|
``-u``
|
||||||
Update NSEC/NSEC3 chain when re-signing a previously signed zone.
|
This option updates the NSEC/NSEC3 chain when re-signing a previously signed zone.
|
||||||
With this option, a zone signed with NSEC can be switched to NSEC3,
|
With this option, a zone signed with NSEC can be switched to NSEC3,
|
||||||
or a zone signed with NSEC3 can be switch to NSEC or to NSEC3 with
|
or a zone signed with NSEC3 can be switched to NSEC or to NSEC3 with
|
||||||
different parameters. Without this option, ``dnssec-signzone`` will
|
different parameters. Without this option, ``dnssec-signzone``
|
||||||
retain the existing chain when re-signing.
|
retains the existing chain when re-signing.
|
||||||
|
|
||||||
**-v** level
|
``-v level``
|
||||||
Sets the debugging level.
|
This option sets the debugging level.
|
||||||
|
|
||||||
**-x**
|
``-x``
|
||||||
Only sign the DNSKEY, CDNSKEY, and CDS RRsets with key-signing keys,
|
This option indicates that BIND 9 should only sign the DNSKEY, CDNSKEY, and CDS RRsets with key-signing keys,
|
||||||
and omit signatures from zone-signing keys. (This is similar to the
|
and should omit signatures from zone-signing keys. (This is similar to the
|
||||||
``dnssec-dnskey-kskonly yes;`` zone option in ``named``.)
|
``dnssec-dnskey-kskonly yes;`` zone option in ``named``.)
|
||||||
|
|
||||||
**-z**
|
``-z``
|
||||||
Ignore KSK flag on key when determining what to sign. This causes
|
This option indicates that BIND 9 should ignore the KSK flag on keys when determining what to sign. This causes
|
||||||
KSK-flagged keys to sign all records, not just the DNSKEY RRset.
|
KSK-flagged keys to sign all records, not just the DNSKEY RRset.
|
||||||
(This is similar to the ``update-check-ksk no;`` zone option in
|
(This is similar to the ``update-check-ksk no;`` zone option in
|
||||||
``named``.)
|
``named``.)
|
||||||
|
|
||||||
**-3** salt
|
``-3 salt``
|
||||||
Generate an NSEC3 chain with the given hex encoded salt. A dash
|
This option generates an NSEC3 chain with the given hex-encoded salt. A dash
|
||||||
(salt) can be used to indicate that no salt is to be used when
|
(-) can be used to indicate that no salt is to be used when
|
||||||
generating the NSEC3 chain.
|
generating the NSEC3 chain.
|
||||||
|
|
||||||
**-H** iterations
|
``-H iterations``
|
||||||
When generating an NSEC3 chain, use this many iterations. The default
|
This option indicates that, when generating an NSEC3 chain, BIND 9 should use this many iterations. The default
|
||||||
is 10.
|
is 10.
|
||||||
|
|
||||||
**-A**
|
``-A``
|
||||||
When generating an NSEC3 chain set the OPTOUT flag on all NSEC3
|
This option indicates that, when generating an NSEC3 chain, BIND 9 should set the OPTOUT flag on all NSEC3
|
||||||
records and do not generate NSEC3 records for insecure delegations.
|
records and should not generate NSEC3 records for insecure delegations.
|
||||||
|
|
||||||
Using this option twice (i.e., ``-AA``) turns the OPTOUT flag off for
|
Using this option twice (i.e., ``-AA``) turns the OPTOUT flag off for
|
||||||
all records. This is useful when using the ``-u`` option to modify an
|
all records. This is useful when using the ``-u`` option to modify an
|
||||||
NSEC3 chain which previously had OPTOUT set.
|
NSEC3 chain which previously had OPTOUT set.
|
||||||
|
|
||||||
**zonefile**
|
``zonefile``
|
||||||
The file containing the zone to be signed.
|
This option sets the file containing the zone to be signed.
|
||||||
|
|
||||||
**key**
|
``key``
|
||||||
Specify which keys should be used to sign the zone. If no keys are
|
This option specifies which keys should be used to sign the zone. If no keys are
|
||||||
specified, then the zone will be examined for DNSKEY records at the
|
specified, the zone is examined for DNSKEY records at the
|
||||||
zone apex. If these are found and there are matching private keys, in
|
zone apex. If these records are found and there are matching private keys in
|
||||||
the current directory, then these will be used for signing.
|
the current directory, they are used for signing.
|
||||||
|
|
||||||
Example
|
Example
|
||||||
~~~~~~~
|
~~~~~~~
|
||||||
|
|
||||||
The following command signs the ``example.com`` zone with the
|
The following command signs the ``example.com`` zone with the
|
||||||
ECDSAP256SHA256 key generated by key generated by ``dnssec-keygen``
|
ECDSAP256SHA256 key generated by ``dnssec-keygen``
|
||||||
(Kexample.com.+013+17247). Because the ``-S`` option is not being used,
|
(Kexample.com.+013+17247). Because the ``-S`` option is not being used,
|
||||||
the zone's keys must be in the master file (``db.example.com``). This
|
the zone's keys must be in the master file (``db.example.com``). This
|
||||||
invocation looks for ``dsset`` files, in the current directory, so that
|
invocation looks for ``dsset`` files in the current directory, so that
|
||||||
DS records can be imported from them (``-g``).
|
DS records can be imported from them (``-g``).
|
||||||
|
|
||||||
::
|
::
|
||||||
@@ -373,7 +372,7 @@ DS records can be imported from them (``-g``).
|
|||||||
|
|
||||||
In the above example, ``dnssec-signzone`` creates the file
|
In the above example, ``dnssec-signzone`` creates the file
|
||||||
``db.example.com.signed``. This file should be referenced in a zone
|
``db.example.com.signed``. This file should be referenced in a zone
|
||||||
statement in a ``named.conf`` file.
|
statement in the ``named.conf`` file.
|
||||||
|
|
||||||
This example re-signs a previously signed zone with default parameters.
|
This example re-signs a previously signed zone with default parameters.
|
||||||
The private keys are assumed to be in the current directory.
|
The private keys are assumed to be in the current directory.
|
||||||
|
|||||||
@@ -35,72 +35,72 @@ Description
|
|||||||
~~~~~~~~~~~
|
~~~~~~~~~~~
|
||||||
|
|
||||||
``dnssec-verify`` verifies that a zone is fully signed for each
|
``dnssec-verify`` verifies that a zone is fully signed for each
|
||||||
algorithm found in the DNSKEY RRset for the zone, and that the NSEC /
|
algorithm found in the DNSKEY RRset for the zone, and that the
|
||||||
NSEC3 chains are complete.
|
NSEC/NSEC3 chains are complete.
|
||||||
|
|
||||||
Options
|
Options
|
||||||
~~~~~~~
|
~~~~~~~
|
||||||
|
|
||||||
**-c** class
|
``-c class``
|
||||||
Specifies the DNS class of the zone.
|
This option specifies the DNS class of the zone.
|
||||||
|
|
||||||
**-E** engine
|
``-E engine``
|
||||||
Specifies the cryptographic hardware to use, when applicable.
|
This option specifies the cryptographic hardware to use, when applicable.
|
||||||
|
|
||||||
When BIND is built with OpenSSL PKCS#11 support, this defaults to the
|
When BIND is built with OpenSSL PKCS#11 support, this defaults to the
|
||||||
string "pkcs11", which identifies an OpenSSL engine that can drive a
|
string ``pkcs11``, which identifies an OpenSSL engine that can drive a
|
||||||
cryptographic accelerator or hardware service module. When BIND is
|
cryptographic accelerator or hardware service module. When BIND is
|
||||||
built with native PKCS#11 cryptography (--enable-native-pkcs11), it
|
built with native PKCS#11 cryptography (``--enable-native-pkcs11``), it
|
||||||
defaults to the path of the PKCS#11 provider library specified via
|
defaults to the path of the PKCS#11 provider library specified via
|
||||||
"--with-pkcs11".
|
``--with-pkcs11``.
|
||||||
|
|
||||||
**-I** input-format
|
``-I input-format``
|
||||||
The format of the input zone file. Possible formats are ``"text"``
|
This option sets the format of the input zone file. Possible formats are ``text``
|
||||||
(default) and ``"raw"``. This option is primarily intended to be used
|
(the default) and ``raw``. This option is primarily intended to be used
|
||||||
for dynamic signed zones so that the dumped zone file in a non-text
|
for dynamic signed zones, so that the dumped zone file in a non-text
|
||||||
format containing updates can be verified independently. The use of
|
format containing updates can be verified independently.
|
||||||
this option does not make much sense for non-dynamic zones.
|
This option is not useful for non-dynamic zones.
|
||||||
|
|
||||||
**-o** origin
|
``-o origin``
|
||||||
The zone origin. If not specified, the name of the zone file is
|
This option indicates the zone origin. If not specified, the name of the zone file is
|
||||||
assumed to be the origin.
|
assumed to be the origin.
|
||||||
|
|
||||||
**-v** level
|
``-v level``
|
||||||
Sets the debugging level.
|
This option sets the debugging level.
|
||||||
|
|
||||||
**-V**
|
``-V``
|
||||||
Prints version information.
|
This option prints version information.
|
||||||
|
|
||||||
``-q``
|
``-q``
|
||||||
Quiet mode: Suppresses output. Without this option, when ``dnssec-verify``
|
This option sets quiet mode, which suppresses output. Without this option, when ``dnssec-verify``
|
||||||
is run it will print to standard output the number of keys in use, the
|
is run it prints to standard output the number of keys in use, the
|
||||||
algorithms used to verify the zone was signed correctly and other status
|
algorithms used to verify the zone was signed correctly, and other status
|
||||||
information. With it, all non-error output is suppressed, and only the exit
|
information. With this option, all non-error output is suppressed, and only the exit
|
||||||
code will indicate success.
|
code indicates success.
|
||||||
|
|
||||||
**-x**
|
``-x``
|
||||||
Only verify that the DNSKEY RRset is signed with key-signing keys.
|
This option verifies only that the DNSKEY RRset is signed with key-signing keys.
|
||||||
Without this flag, it is assumed that the DNSKEY RRset will be signed
|
Without this flag, it is assumed that the DNSKEY RRset is signed
|
||||||
by all active keys. When this flag is set, it will not be an error if
|
by all active keys. When this flag is set, it is not an error if
|
||||||
the DNSKEY RRset is not signed by zone-signing keys. This corresponds
|
the DNSKEY RRset is not signed by zone-signing keys. This corresponds
|
||||||
to the ``-x`` option in ``dnssec-signzone``.
|
to the ``-x`` option in ``dnssec-signzone``.
|
||||||
|
|
||||||
**-z**
|
``-z``
|
||||||
Ignore the KSK flag on the keys when determining whether the zone if
|
This option indicates that the KSK flag on the keys should be ignored when determining whether the zone is
|
||||||
correctly signed. Without this flag it is assumed that there will be
|
correctly signed. Without this flag, it is assumed that there is
|
||||||
a non-revoked, self-signed DNSKEY with the KSK flag set for each
|
a non-revoked, self-signed DNSKEY with the KSK flag set for each
|
||||||
algorithm and that RRsets other than DNSKEY RRset will be signed with
|
algorithm, and that RRsets other than DNSKEY RRset are signed with
|
||||||
a different DNSKEY without the KSK flag set.
|
a different DNSKEY without the KSK flag set.
|
||||||
|
|
||||||
With this flag set, we only require that for each algorithm, there
|
With this flag set, BIND 9 only requires that for each algorithm, there
|
||||||
will be at least one non-revoked, self-signed DNSKEY, regardless of
|
be at least one non-revoked, self-signed DNSKEY, regardless of
|
||||||
the KSK flag state, and that other RRsets will be signed by a
|
the KSK flag state, and that other RRsets be signed by a
|
||||||
non-revoked key for the same algorithm that includes the self-signed
|
non-revoked key for the same algorithm that includes the self-signed
|
||||||
key; the same key may be used for both purposes. This corresponds to
|
key; the same key may be used for both purposes. This corresponds to
|
||||||
the ``-z`` option in ``dnssec-signzone``.
|
the ``-z`` option in ``dnssec-signzone``.
|
||||||
|
|
||||||
**zonefile**
|
``zonefile``
|
||||||
The file containing the zone to be signed.
|
This option indicates the file containing the zone to be signed.
|
||||||
|
|
||||||
See Also
|
See Also
|
||||||
~~~~~~~~
|
~~~~~~~~
|
||||||
|
|||||||
+34
-20
@@ -302,7 +302,7 @@ view \"_bind\" chaos {\n\
|
|||||||
|
|
||||||
"# END MANAGED KEYS\n\
|
"# END MANAGED KEYS\n\
|
||||||
\n\
|
\n\
|
||||||
masters " DEFAULT_IANA_ROOT_ZONE_MASTERS " {\n\
|
primaries " DEFAULT_IANA_ROOT_ZONE_PRIMARIES " {\n\
|
||||||
2001:500:84::b; # b.root-servers.net\n\
|
2001:500:84::b; # b.root-servers.net\n\
|
||||||
2001:500:2f::f; # f.root-servers.net\n\
|
2001:500:2f::f; # f.root-servers.net\n\
|
||||||
2001:7fd::1; # k.root-servers.net\n\
|
2001:7fd::1; # k.root-servers.net\n\
|
||||||
@@ -566,33 +566,46 @@ named_config_putiplist(isc_mem_t *mctx, isc_sockaddr_t **addrsp,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
isc_result_t
|
static isc_result_t
|
||||||
named_config_getmastersdef(const cfg_obj_t *cctx, const char *name,
|
getprimariesdef(const cfg_obj_t *cctx, const char *list, const char *name,
|
||||||
const cfg_obj_t **ret) {
|
const cfg_obj_t **ret) {
|
||||||
isc_result_t result;
|
isc_result_t result;
|
||||||
const cfg_obj_t *masters = NULL;
|
const cfg_obj_t *obj = NULL;
|
||||||
const cfg_listelt_t *elt;
|
const cfg_listelt_t *elt;
|
||||||
|
|
||||||
result = cfg_map_get(cctx, "masters", &masters);
|
REQUIRE(cctx != NULL);
|
||||||
|
REQUIRE(name != NULL);
|
||||||
|
REQUIRE(ret != NULL && *ret == NULL);
|
||||||
|
|
||||||
|
result = cfg_map_get(cctx, list, &obj);
|
||||||
if (result != ISC_R_SUCCESS) {
|
if (result != ISC_R_SUCCESS) {
|
||||||
return (result);
|
return (result);
|
||||||
}
|
}
|
||||||
for (elt = cfg_list_first(masters); elt != NULL;
|
elt = cfg_list_first(obj);
|
||||||
elt = cfg_list_next(elt)) {
|
while (elt != NULL) {
|
||||||
const cfg_obj_t *list;
|
obj = cfg_listelt_value(elt);
|
||||||
const char *listname;
|
if (strcasecmp(cfg_obj_asstring(cfg_tuple_get(obj, "name")),
|
||||||
|
name) == 0) {
|
||||||
list = cfg_listelt_value(elt);
|
*ret = obj;
|
||||||
listname = cfg_obj_asstring(cfg_tuple_get(list, "name"));
|
|
||||||
|
|
||||||
if (strcasecmp(listname, name) == 0) {
|
|
||||||
*ret = list;
|
|
||||||
return (ISC_R_SUCCESS);
|
return (ISC_R_SUCCESS);
|
||||||
}
|
}
|
||||||
|
elt = cfg_list_next(elt);
|
||||||
}
|
}
|
||||||
return (ISC_R_NOTFOUND);
|
return (ISC_R_NOTFOUND);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
isc_result_t
|
||||||
|
named_config_getprimariesdef(const cfg_obj_t *cctx, const char *name,
|
||||||
|
const cfg_obj_t **ret) {
|
||||||
|
isc_result_t result;
|
||||||
|
|
||||||
|
result = getprimariesdef(cctx, "primaries", name, ret);
|
||||||
|
if (result != ISC_R_SUCCESS) {
|
||||||
|
result = getprimariesdef(cctx, "masters", name, ret);
|
||||||
|
}
|
||||||
|
return (result);
|
||||||
|
}
|
||||||
|
|
||||||
isc_result_t
|
isc_result_t
|
||||||
named_config_getipandkeylist(const cfg_obj_t *config, const cfg_obj_t *list,
|
named_config_getipandkeylist(const cfg_obj_t *config, const cfg_obj_t *list,
|
||||||
isc_mem_t *mctx, dns_ipkeylist_t *ipkl) {
|
isc_mem_t *mctx, dns_ipkeylist_t *ipkl) {
|
||||||
@@ -678,7 +691,7 @@ resume:
|
|||||||
isc_buffer_t b;
|
isc_buffer_t b;
|
||||||
|
|
||||||
addr = cfg_tuple_get(cfg_listelt_value(element),
|
addr = cfg_tuple_get(cfg_listelt_value(element),
|
||||||
"masterselement");
|
"primarieselement");
|
||||||
key = cfg_tuple_get(cfg_listelt_value(element), "key");
|
key = cfg_tuple_get(cfg_listelt_value(element), "key");
|
||||||
|
|
||||||
if (!cfg_obj_issockaddr(addr)) {
|
if (!cfg_obj_issockaddr(addr)) {
|
||||||
@@ -710,11 +723,12 @@ resume:
|
|||||||
if (j < l) {
|
if (j < l) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
tresult = named_config_getmastersdef(config, listname,
|
list = NULL;
|
||||||
&list);
|
tresult = named_config_getprimariesdef(config, listname,
|
||||||
|
&list);
|
||||||
if (tresult == ISC_R_NOTFOUND) {
|
if (tresult == ISC_R_NOTFOUND) {
|
||||||
cfg_obj_log(addr, named_g_lctx, ISC_LOG_ERROR,
|
cfg_obj_log(addr, named_g_lctx, ISC_LOG_ERROR,
|
||||||
"masters \"%s\" not found",
|
"primaries \"%s\" not found",
|
||||||
listname);
|
listname);
|
||||||
|
|
||||||
result = tresult;
|
result = tresult;
|
||||||
|
|||||||
@@ -209,6 +209,8 @@ named_control_docommand(isccc_sexpr_t *message, bool readonly,
|
|||||||
result = named_server_changezone(named_g_server, cmdline, text);
|
result = named_server_changezone(named_g_server, cmdline, text);
|
||||||
} else if (command_compare(command, NAMED_COMMAND_DELZONE)) {
|
} else if (command_compare(command, NAMED_COMMAND_DELZONE)) {
|
||||||
result = named_server_delzone(named_g_server, lex, text);
|
result = named_server_delzone(named_g_server, lex, text);
|
||||||
|
} else if (command_compare(command, NAMED_COMMAND_DNSSEC)) {
|
||||||
|
result = named_server_dnssec(named_g_server, lex, text);
|
||||||
} else if (command_compare(command, NAMED_COMMAND_DNSTAP) ||
|
} else if (command_compare(command, NAMED_COMMAND_DNSTAP) ||
|
||||||
command_compare(command, NAMED_COMMAND_DNSTAPREOPEN))
|
command_compare(command, NAMED_COMMAND_DNSTAPREOPEN))
|
||||||
{
|
{
|
||||||
|
|||||||
+37
-29
@@ -226,6 +226,7 @@ shutdown_listener(controllistener_t *listener) {
|
|||||||
if (listener->listening) {
|
if (listener->listening) {
|
||||||
isc_socket_cancel(listener->sock, listener->task,
|
isc_socket_cancel(listener->sock, listener->task,
|
||||||
ISC_SOCKCANCEL_ACCEPT);
|
ISC_SOCKCANCEL_ACCEPT);
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
maybe_free_listener(listener);
|
maybe_free_listener(listener);
|
||||||
@@ -636,6 +637,8 @@ control_newconn(isc_task_t *task, isc_event_t *event) {
|
|||||||
|
|
||||||
UNUSED(task);
|
UNUSED(task);
|
||||||
|
|
||||||
|
REQUIRE(listener->listening);
|
||||||
|
|
||||||
listener->listening = false;
|
listener->listening = false;
|
||||||
|
|
||||||
if (nevent->result != ISC_R_SUCCESS) {
|
if (nevent->result != ISC_R_SUCCESS) {
|
||||||
@@ -647,6 +650,14 @@ control_newconn(isc_task_t *task, isc_event_t *event) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
sock = nevent->newsocket;
|
sock = nevent->newsocket;
|
||||||
|
|
||||||
|
/* Is the server shutting down? */
|
||||||
|
if (listener->controls->shuttingdown) {
|
||||||
|
isc_socket_detach(&sock);
|
||||||
|
shutdown_listener(listener);
|
||||||
|
goto cleanup;
|
||||||
|
}
|
||||||
|
|
||||||
isc_socket_setname(sock, "control", NULL);
|
isc_socket_setname(sock, "control", NULL);
|
||||||
(void)isc_socket_getpeername(sock, &peeraddr);
|
(void)isc_socket_getpeername(sock, &peeraddr);
|
||||||
if (listener->type == isc_sockettype_tcp &&
|
if (listener->type == isc_sockettype_tcp &&
|
||||||
@@ -1121,36 +1132,33 @@ add_listener(named_controls_t *cp, controllistener_t **listenerp,
|
|||||||
|
|
||||||
listener = isc_mem_get(mctx, sizeof(*listener));
|
listener = isc_mem_get(mctx, sizeof(*listener));
|
||||||
|
|
||||||
if (result == ISC_R_SUCCESS) {
|
listener->mctx = NULL;
|
||||||
listener->mctx = NULL;
|
isc_mem_attach(mctx, &listener->mctx);
|
||||||
isc_mem_attach(mctx, &listener->mctx);
|
listener->controls = cp;
|
||||||
listener->controls = cp;
|
listener->task = cp->server->task;
|
||||||
listener->task = cp->server->task;
|
listener->address = *addr;
|
||||||
listener->address = *addr;
|
listener->sock = NULL;
|
||||||
listener->sock = NULL;
|
listener->listening = false;
|
||||||
listener->listening = false;
|
listener->exiting = false;
|
||||||
listener->exiting = false;
|
listener->acl = NULL;
|
||||||
listener->acl = NULL;
|
listener->type = type;
|
||||||
listener->type = type;
|
listener->perm = 0;
|
||||||
listener->perm = 0;
|
listener->owner = 0;
|
||||||
listener->owner = 0;
|
listener->group = 0;
|
||||||
listener->group = 0;
|
listener->readonly = false;
|
||||||
listener->readonly = false;
|
ISC_LINK_INIT(listener, link);
|
||||||
ISC_LINK_INIT(listener, link);
|
ISC_LIST_INIT(listener->keys);
|
||||||
ISC_LIST_INIT(listener->keys);
|
ISC_LIST_INIT(listener->connections);
|
||||||
ISC_LIST_INIT(listener->connections);
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Make the acl.
|
* Make the acl.
|
||||||
*/
|
*/
|
||||||
if (control != NULL && type == isc_sockettype_tcp) {
|
if (control != NULL && type == isc_sockettype_tcp) {
|
||||||
allow = cfg_tuple_get(control, "allow");
|
allow = cfg_tuple_get(control, "allow");
|
||||||
result = cfg_acl_fromconfig(allow, config, named_g_lctx,
|
result = cfg_acl_fromconfig(allow, config, named_g_lctx,
|
||||||
aclconfctx, mctx, 0,
|
aclconfctx, mctx, 0, &new_acl);
|
||||||
&new_acl);
|
} else {
|
||||||
} else {
|
result = dns_acl_any(mctx, &new_acl);
|
||||||
result = dns_acl_any(mctx, &new_acl);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((result == ISC_R_SUCCESS) && (control != NULL)) {
|
if ((result == ISC_R_SUCCESS) && (control != NULL)) {
|
||||||
|
|||||||
@@ -21,7 +21,7 @@
|
|||||||
|
|
||||||
#include <isccfg/cfg.h>
|
#include <isccfg/cfg.h>
|
||||||
|
|
||||||
#define DEFAULT_IANA_ROOT_ZONE_MASTERS "_default_iana_root_zone_masters"
|
#define DEFAULT_IANA_ROOT_ZONE_PRIMARIES "_default_iana_root_zone_primaries"
|
||||||
|
|
||||||
isc_result_t
|
isc_result_t
|
||||||
named_config_parsedefaults(cfg_parser_t *parser, cfg_obj_t **conf);
|
named_config_parsedefaults(cfg_parser_t *parser, cfg_obj_t **conf);
|
||||||
@@ -59,8 +59,8 @@ named_config_putiplist(isc_mem_t *mctx, isc_sockaddr_t **addrsp,
|
|||||||
isc_dscp_t **dscpsp, uint32_t count);
|
isc_dscp_t **dscpsp, uint32_t count);
|
||||||
|
|
||||||
isc_result_t
|
isc_result_t
|
||||||
named_config_getmastersdef(const cfg_obj_t *cctx, const char *name,
|
named_config_getprimariesdef(const cfg_obj_t *cctx, const char *name,
|
||||||
const cfg_obj_t **ret);
|
const cfg_obj_t **ret);
|
||||||
|
|
||||||
isc_result_t
|
isc_result_t
|
||||||
named_config_getipandkeylist(const cfg_obj_t *config, const cfg_obj_t *list,
|
named_config_getipandkeylist(const cfg_obj_t *config, const cfg_obj_t *list,
|
||||||
|
|||||||
@@ -61,6 +61,7 @@
|
|||||||
#define NAMED_COMMAND_SHOWZONE "showzone"
|
#define NAMED_COMMAND_SHOWZONE "showzone"
|
||||||
#define NAMED_COMMAND_SYNC "sync"
|
#define NAMED_COMMAND_SYNC "sync"
|
||||||
#define NAMED_COMMAND_SIGNING "signing"
|
#define NAMED_COMMAND_SIGNING "signing"
|
||||||
|
#define NAMED_COMMAND_DNSSEC "dnssec"
|
||||||
#define NAMED_COMMAND_ZONESTATUS "zonestatus"
|
#define NAMED_COMMAND_ZONESTATUS "zonestatus"
|
||||||
#define NAMED_COMMAND_NTA "nta"
|
#define NAMED_COMMAND_NTA "nta"
|
||||||
#define NAMED_COMMAND_TESTGEN "testgen"
|
#define NAMED_COMMAND_TESTGEN "testgen"
|
||||||
|
|||||||
@@ -333,6 +333,13 @@ isc_result_t
|
|||||||
named_server_signing(named_server_t *server, isc_lex_t *lex,
|
named_server_signing(named_server_t *server, isc_lex_t *lex,
|
||||||
isc_buffer_t **text);
|
isc_buffer_t **text);
|
||||||
|
|
||||||
|
/*%
|
||||||
|
* Lists the DNSSEC status for a given zone.
|
||||||
|
*/
|
||||||
|
isc_result_t
|
||||||
|
named_server_dnssec(named_server_t *server, isc_lex_t *lex,
|
||||||
|
isc_buffer_t **text);
|
||||||
|
|
||||||
/*%
|
/*%
|
||||||
* Lists status information for a given zone (e.g., name, type, files,
|
* Lists status information for a given zone (e.g., name, type, files,
|
||||||
* load time, expiry, etc).
|
* load time, expiry, etc).
|
||||||
|
|||||||
+35
-17
@@ -134,8 +134,8 @@ MASTERS
|
|||||||
::
|
::
|
||||||
|
|
||||||
masters string [ port integer ] [ dscp
|
masters string [ port integer ] [ dscp
|
||||||
integer ] { ( masters | ipv4_address [
|
integer ] { ( primaries | ipv4_address
|
||||||
port integer ] | ipv6_address [ port
|
[ port integer ] | ipv6_address [ port
|
||||||
integer ] ) [ key string ]; ... };
|
integer ] ) [ key string ]; ... };
|
||||||
|
|
||||||
OPTIONS
|
OPTIONS
|
||||||
@@ -155,7 +155,7 @@ OPTIONS
|
|||||||
allow-transfer { address_match_element; ... };
|
allow-transfer { address_match_element; ... };
|
||||||
allow-update { address_match_element; ... };
|
allow-update { address_match_element; ... };
|
||||||
allow-update-forwarding { address_match_element; ... };
|
allow-update-forwarding { address_match_element; ... };
|
||||||
also-notify [ port integer ] [ dscp integer ] { ( masters |
|
also-notify [ port integer ] [ dscp integer ] { ( primaries |
|
||||||
ipv4_address [ port integer ] | ipv6_address [ port
|
ipv4_address [ port integer ] | ipv6_address [ port
|
||||||
integer ] ) [ key string ]; ... };
|
integer ] ) [ key string ]; ... };
|
||||||
alt-transfer-source ( ipv4_address | * ) [ port ( integer | * )
|
alt-transfer-source ( ipv4_address | * ) [ port ( integer | * )
|
||||||
@@ -173,7 +173,7 @@ OPTIONS
|
|||||||
blackhole { address_match_element; ... };
|
blackhole { address_match_element; ... };
|
||||||
cache-file quoted_string;
|
cache-file quoted_string;
|
||||||
catalog-zones { zone string [ default-masters [ port integer ]
|
catalog-zones { zone string [ default-masters [ port integer ]
|
||||||
[ dscp integer ] { ( masters | ipv4_address [ port
|
[ dscp integer ] { ( primaries | ipv4_address [ port
|
||||||
integer ] | ipv6_address [ port integer ] ) [ key
|
integer ] | ipv6_address [ port integer ] ) [ key
|
||||||
string ]; ... } ] [ zone-directory quoted_string ] [
|
string ]; ... } ] [ zone-directory quoted_string ] [
|
||||||
in-memory boolean ] [ min-update-interval duration ]; ... };
|
in-memory boolean ] [ min-update-interval duration ]; ... };
|
||||||
@@ -312,7 +312,7 @@ OPTIONS
|
|||||||
new-zones-directory quoted_string;
|
new-zones-directory quoted_string;
|
||||||
no-case-compress { address_match_element; ... };
|
no-case-compress { address_match_element; ... };
|
||||||
nocookie-udp-size integer;
|
nocookie-udp-size integer;
|
||||||
notify ( explicit | master-only | boolean );
|
notify ( explicit | master-only | primary-only | boolean );
|
||||||
notify-delay integer;
|
notify-delay integer;
|
||||||
notify-rate integer;
|
notify-rate integer;
|
||||||
notify-source ( ipv4_address | * ) [ port ( integer | * ) ] [
|
notify-source ( ipv4_address | * ) [ port ( integer | * ) ] [
|
||||||
@@ -445,6 +445,16 @@ PLUGIN
|
|||||||
plugin ( query ) string [ { unspecified-text
|
plugin ( query ) string [ { unspecified-text
|
||||||
} ];
|
} ];
|
||||||
|
|
||||||
|
PRIMARIES
|
||||||
|
^^^^^^^^^
|
||||||
|
|
||||||
|
::
|
||||||
|
|
||||||
|
primaries string [ port integer ] [ dscp
|
||||||
|
integer ] { ( primaries | ipv4_address
|
||||||
|
[ port integer ] | ipv6_address [ port
|
||||||
|
integer ] ) [ key string ]; ... };
|
||||||
|
|
||||||
SERVER
|
SERVER
|
||||||
^^^^^^
|
^^^^^^
|
||||||
|
|
||||||
@@ -533,7 +543,7 @@ VIEW
|
|||||||
allow-transfer { address_match_element; ... };
|
allow-transfer { address_match_element; ... };
|
||||||
allow-update { address_match_element; ... };
|
allow-update { address_match_element; ... };
|
||||||
allow-update-forwarding { address_match_element; ... };
|
allow-update-forwarding { address_match_element; ... };
|
||||||
also-notify [ port integer ] [ dscp integer ] { ( masters |
|
also-notify [ port integer ] [ dscp integer ] { ( primaries |
|
||||||
ipv4_address [ port integer ] | ipv6_address [ port
|
ipv4_address [ port integer ] | ipv6_address [ port
|
||||||
integer ] ) [ key string ]; ... };
|
integer ] ) [ key string ]; ... };
|
||||||
alt-transfer-source ( ipv4_address | * ) [ port ( integer | * )
|
alt-transfer-source ( ipv4_address | * ) [ port ( integer | * )
|
||||||
@@ -545,7 +555,7 @@ VIEW
|
|||||||
auto-dnssec ( allow | maintain | off );
|
auto-dnssec ( allow | maintain | off );
|
||||||
cache-file quoted_string;
|
cache-file quoted_string;
|
||||||
catalog-zones { zone string [ default-masters [ port integer ]
|
catalog-zones { zone string [ default-masters [ port integer ]
|
||||||
[ dscp integer ] { ( masters | ipv4_address [ port
|
[ dscp integer ] { ( primaries | ipv4_address [ port
|
||||||
integer ] | ipv6_address [ port integer ] ) [ key
|
integer ] | ipv6_address [ port integer ] ) [ key
|
||||||
string ]; ... } ] [ zone-directory quoted_string ] [
|
string ]; ... } ] [ zone-directory quoted_string ] [
|
||||||
in-memory boolean ] [ min-update-interval duration ]; ... };
|
in-memory boolean ] [ min-update-interval duration ]; ... };
|
||||||
@@ -665,7 +675,7 @@ VIEW
|
|||||||
new-zones-directory quoted_string;
|
new-zones-directory quoted_string;
|
||||||
no-case-compress { address_match_element; ... };
|
no-case-compress { address_match_element; ... };
|
||||||
nocookie-udp-size integer;
|
nocookie-udp-size integer;
|
||||||
notify ( explicit | master-only | boolean );
|
notify ( explicit | master-only | primary-only | boolean );
|
||||||
notify-delay integer;
|
notify-delay integer;
|
||||||
notify-source ( ipv4_address | * ) [ port ( integer | * ) ] [
|
notify-source ( ipv4_address | * ) [ port ( integer | * ) ] [
|
||||||
dscp integer ];
|
dscp integer ];
|
||||||
@@ -805,7 +815,7 @@ VIEW
|
|||||||
allow-update { address_match_element; ... };
|
allow-update { address_match_element; ... };
|
||||||
allow-update-forwarding { address_match_element; ... };
|
allow-update-forwarding { address_match_element; ... };
|
||||||
also-notify [ port integer ] [ dscp integer ] { (
|
also-notify [ port integer ] [ dscp integer ] { (
|
||||||
masters | ipv4_address [ port integer ] |
|
primaries | ipv4_address [ port integer ] |
|
||||||
ipv6_address [ port integer ] ) [ key string ];
|
ipv6_address [ port integer ] ) [ key string ];
|
||||||
... };
|
... };
|
||||||
alt-transfer-source ( ipv4_address | * ) [ port (
|
alt-transfer-source ( ipv4_address | * ) [ port (
|
||||||
@@ -845,9 +855,10 @@ VIEW
|
|||||||
key-directory quoted_string;
|
key-directory quoted_string;
|
||||||
masterfile-format ( map | raw | text );
|
masterfile-format ( map | raw | text );
|
||||||
masterfile-style ( full | relative );
|
masterfile-style ( full | relative );
|
||||||
masters [ port integer ] [ dscp integer ] { ( masters
|
masters [ port integer ] [ dscp integer ] { (
|
||||||
| ipv4_address [ port integer ] | ipv6_address [
|
primaries | ipv4_address [ port integer ] |
|
||||||
port integer ] ) [ key string ]; ... };
|
ipv6_address [ port integer ] ) [ key string ];
|
||||||
|
... };
|
||||||
max-ixfr-ratio ( unlimited | percentage );
|
max-ixfr-ratio ( unlimited | percentage );
|
||||||
max-journal-size ( default | unlimited | sizeval );
|
max-journal-size ( default | unlimited | sizeval );
|
||||||
max-records integer;
|
max-records integer;
|
||||||
@@ -861,13 +872,17 @@ VIEW
|
|||||||
min-refresh-time integer;
|
min-refresh-time integer;
|
||||||
min-retry-time integer;
|
min-retry-time integer;
|
||||||
multi-master boolean;
|
multi-master boolean;
|
||||||
notify ( explicit | master-only | boolean );
|
notify ( explicit | master-only | primary-only | boolean );
|
||||||
notify-delay integer;
|
notify-delay integer;
|
||||||
notify-source ( ipv4_address | * ) [ port ( integer | *
|
notify-source ( ipv4_address | * ) [ port ( integer | *
|
||||||
) ] [ dscp integer ];
|
) ] [ dscp integer ];
|
||||||
notify-source-v6 ( ipv6_address | * ) [ port ( integer
|
notify-source-v6 ( ipv6_address | * ) [ port ( integer
|
||||||
| * ) ] [ dscp integer ];
|
| * ) ] [ dscp integer ];
|
||||||
notify-to-soa boolean;
|
notify-to-soa boolean;
|
||||||
|
primaries [ port integer ] [ dscp integer ] { (
|
||||||
|
primaries | ipv4_address [ port integer ] |
|
||||||
|
ipv6_address [ port integer ] ) [ key string ];
|
||||||
|
... };
|
||||||
request-expire boolean;
|
request-expire boolean;
|
||||||
request-ixfr boolean;
|
request-ixfr boolean;
|
||||||
serial-update-method ( date | increment | unixtime );
|
serial-update-method ( date | increment | unixtime );
|
||||||
@@ -910,7 +925,7 @@ ZONE
|
|||||||
allow-transfer { address_match_element; ... };
|
allow-transfer { address_match_element; ... };
|
||||||
allow-update { address_match_element; ... };
|
allow-update { address_match_element; ... };
|
||||||
allow-update-forwarding { address_match_element; ... };
|
allow-update-forwarding { address_match_element; ... };
|
||||||
also-notify [ port integer ] [ dscp integer ] { ( masters |
|
also-notify [ port integer ] [ dscp integer ] { ( primaries |
|
||||||
ipv4_address [ port integer ] | ipv6_address [ port
|
ipv4_address [ port integer ] | ipv6_address [ port
|
||||||
integer ] ) [ key string ]; ... };
|
integer ] ) [ key string ]; ... };
|
||||||
alt-transfer-source ( ipv4_address | * ) [ port ( integer | * )
|
alt-transfer-source ( ipv4_address | * ) [ port ( integer | * )
|
||||||
@@ -948,7 +963,7 @@ ZONE
|
|||||||
key-directory quoted_string;
|
key-directory quoted_string;
|
||||||
masterfile-format ( map | raw | text );
|
masterfile-format ( map | raw | text );
|
||||||
masterfile-style ( full | relative );
|
masterfile-style ( full | relative );
|
||||||
masters [ port integer ] [ dscp integer ] { ( masters |
|
masters [ port integer ] [ dscp integer ] { ( primaries |
|
||||||
ipv4_address [ port integer ] | ipv6_address [ port
|
ipv4_address [ port integer ] | ipv6_address [ port
|
||||||
integer ] ) [ key string ]; ... };
|
integer ] ) [ key string ]; ... };
|
||||||
max-ixfr-ratio ( unlimited | percentage );
|
max-ixfr-ratio ( unlimited | percentage );
|
||||||
@@ -964,13 +979,16 @@ ZONE
|
|||||||
min-refresh-time integer;
|
min-refresh-time integer;
|
||||||
min-retry-time integer;
|
min-retry-time integer;
|
||||||
multi-master boolean;
|
multi-master boolean;
|
||||||
notify ( explicit | master-only | boolean );
|
notify ( explicit | master-only | primary-only | boolean );
|
||||||
notify-delay integer;
|
notify-delay integer;
|
||||||
notify-source ( ipv4_address | * ) [ port ( integer | * ) ] [
|
notify-source ( ipv4_address | * ) [ port ( integer | * ) ] [
|
||||||
dscp integer ];
|
dscp integer ];
|
||||||
notify-source-v6 ( ipv6_address | * ) [ port ( integer | * ) ]
|
notify-source-v6 ( ipv6_address | * ) [ port ( integer | * ) ]
|
||||||
[ dscp integer ];
|
[ dscp integer ];
|
||||||
notify-to-soa boolean;
|
notify-to-soa boolean;
|
||||||
|
primaries [ port integer ] [ dscp integer ] { ( primaries |
|
||||||
|
ipv4_address [ port integer ] | ipv6_address [ port
|
||||||
|
integer ] ) [ key string ]; ... };
|
||||||
request-expire boolean;
|
request-expire boolean;
|
||||||
request-ixfr boolean;
|
request-ixfr boolean;
|
||||||
serial-update-method ( date | increment | unixtime );
|
serial-update-method ( date | increment | unixtime );
|
||||||
@@ -1007,5 +1025,5 @@ Files
|
|||||||
See Also
|
See Also
|
||||||
~~~~~~~~
|
~~~~~~~~
|
||||||
|
|
||||||
:manpage:`ddns-confgen(8)`, :manpage:`named(8)`, :manpage:`named-checkconf(8)`, :manpage:`rndc(8)`, :manpage:`rndc-confgen(8)`, BIND 9 Administrator Reference Manual.
|
:manpage:`named(8)`, :manpage:`named-checkconf(8)`, :manpage:`rndc(8)`, :manpage:`rndc-confgen(8)`, :manpage:`tsig-keygen(8)`, BIND 9 Administrator Reference Manual.
|
||||||
|
|
||||||
|
|||||||
+75
-75
@@ -38,119 +38,119 @@ Description
|
|||||||
distribution from ISC. For more information on the DNS, see :rfc:`1033`,
|
distribution from ISC. For more information on the DNS, see :rfc:`1033`,
|
||||||
:rfc:`1034`, and :rfc:`1035`.
|
:rfc:`1034`, and :rfc:`1035`.
|
||||||
|
|
||||||
When invoked without arguments, ``named`` will read the default
|
When invoked without arguments, ``named`` reads the default
|
||||||
configuration file ``/etc/named.conf``, read any initial data, and
|
configuration file ``/etc/named.conf``, reads any initial data, and
|
||||||
listen for queries.
|
listens for queries.
|
||||||
|
|
||||||
Options
|
Options
|
||||||
~~~~~~~
|
~~~~~~~
|
||||||
|
|
||||||
**-4**
|
``-4``
|
||||||
Use IPv4 only even if the host machine is capable of IPv6. ``-4`` and
|
This option tells ``named`` to use only IPv4, even if the host machine is capable of IPv6. ``-4`` and
|
||||||
``-6`` are mutually exclusive.
|
``-6`` are mutually exclusive.
|
||||||
|
|
||||||
**-6**
|
``-6``
|
||||||
Use IPv6 only even if the host machine is capable of IPv4. ``-4`` and
|
This option tells ``named`` to use only IPv6, even if the host machine is capable of IPv4. ``-4`` and
|
||||||
``-6`` are mutually exclusive.
|
``-6`` are mutually exclusive.
|
||||||
|
|
||||||
**-c** config-file
|
``-c config-file``
|
||||||
Use config-file as the configuration file instead of the default,
|
This option tells ``named`` to use ``config-file`` as its configuration file instead of the default,
|
||||||
``/etc/named.conf``. To ensure that reloading the configuration file
|
``/etc/named.conf``. To ensure that the configuration file
|
||||||
continues to work after the server has changed its working directory
|
can be reloaded after the server has changed its working directory
|
||||||
due to to a possible ``directory`` option in the configuration file,
|
due to to a possible ``directory`` option in the configuration file,
|
||||||
config-file should be an absolute pathname.
|
``config-file`` should be an absolute pathname.
|
||||||
|
|
||||||
**-d** debug-level
|
``-d debug-level``
|
||||||
Set the daemon's debug level to debug-level. Debugging traces from
|
This option sets the daemon's debug level to ``debug-level``. Debugging traces from
|
||||||
``named`` become more verbose as the debug level increases.
|
``named`` become more verbose as the debug level increases.
|
||||||
|
|
||||||
**-D** string
|
``-D string``
|
||||||
Specifies a string that is used to identify a instance of ``named``
|
This option specifies a string that is used to identify a instance of ``named``
|
||||||
in a process listing. The contents of string are not examined.
|
in a process listing. The contents of ``string`` are not examined.
|
||||||
|
|
||||||
**-E** engine-name
|
``-E engine-name``
|
||||||
When applicable, specifies the hardware to use for cryptographic
|
When applicable, this option specifies the hardware to use for cryptographic
|
||||||
operations, such as a secure key store used for signing.
|
operations, such as a secure key store used for signing.
|
||||||
|
|
||||||
When BIND is built with OpenSSL PKCS#11 support, this defaults to the
|
When BIND is built with OpenSSL PKCS#11 support, this defaults to the
|
||||||
string "pkcs11", which identifies an OpenSSL engine that can drive a
|
string ``pkcs11``, which identifies an OpenSSL engine that can drive a
|
||||||
cryptographic accelerator or hardware service module. When BIND is
|
cryptographic accelerator or hardware service module. When BIND is
|
||||||
built with native PKCS#11 cryptography (--enable-native-pkcs11), it
|
built with native PKCS#11 cryptography (``--enable-native-pkcs11``), it
|
||||||
defaults to the path of the PKCS#11 provider library specified via
|
defaults to the path of the PKCS#11 provider library specified via
|
||||||
"--with-pkcs11".
|
``--with-pkcs11``.
|
||||||
|
|
||||||
**-f**
|
``-f``
|
||||||
Run the server in the foreground (i.e. do not daemonize).
|
This option runs the server in the foreground (i.e., do not daemonize).
|
||||||
|
|
||||||
**-g**
|
``-g``
|
||||||
Run the server in the foreground and force all logging to ``stderr``.
|
This option runs the server in the foreground and forces all logging to ``stderr``.
|
||||||
|
|
||||||
**-L** logfile
|
``-L logfile``
|
||||||
Log to the file ``logfile`` by default instead of the system log.
|
This option sets the log to the file ``logfile`` by default, instead of the system log.
|
||||||
|
|
||||||
**-M** option
|
``-M option``
|
||||||
Sets the default memory context options. If set to external, this
|
This option sets the default memory context options. If set to ``external``,
|
||||||
causes the internal memory manager to be bypassed in favor of
|
the internal memory manager is bypassed in favor of
|
||||||
system-provided memory allocation functions. If set to fill, blocks
|
system-provided memory allocation functions. If set to ``fill``, blocks
|
||||||
of memory will be filled with tag values when allocated or freed, to
|
of memory are filled with tag values when allocated or freed, to
|
||||||
assist debugging of memory problems. (nofill disables this behavior,
|
assist debugging of memory problems. ``nofill`` disables this behavior,
|
||||||
and is the default unless ``named`` has been compiled with developer
|
and is the default unless ``named`` has been compiled with developer
|
||||||
options.)
|
options.
|
||||||
|
|
||||||
**-m** flag
|
``-m flag``
|
||||||
Turn on memory usage debugging flags. Possible flags are usage,
|
This option turns on memory usage debugging flags. Possible flags are ``usage``,
|
||||||
trace, record, size, and mctx. These correspond to the
|
``trace``, ``record``, ``size``, and ``mctx``. These correspond to the
|
||||||
ISC_MEM_DEBUGXXXX flags described in ``<isc/mem.h>``.
|
``ISC_MEM_DEBUGXXXX`` flags described in ``<isc/mem.h>``.
|
||||||
|
|
||||||
**-n** #cpus
|
``-n #cpus``
|
||||||
Create #cpus worker threads to take advantage of multiple CPUs. If
|
This option creates ``#cpus`` worker threads to take advantage of multiple CPUs. If
|
||||||
not specified, ``named`` will try to determine the number of CPUs
|
not specified, ``named`` tries to determine the number of CPUs
|
||||||
present and create one thread per CPU. If it is unable to determine
|
present and creates one thread per CPU. If it is unable to determine
|
||||||
the number of CPUs, a single worker thread will be created.
|
the number of CPUs, a single worker thread is created.
|
||||||
|
|
||||||
**-p** port
|
``-p port``
|
||||||
Listen for queries on port port. If not specified, the default is
|
This option listens for queries on ``port``. If not specified, the default is
|
||||||
port 53.
|
port 53.
|
||||||
|
|
||||||
**-s**
|
``-s``
|
||||||
Write memory usage statistics to ``stdout`` on exit.
|
This option writes memory usage statistics to ``stdout`` on exit.
|
||||||
|
|
||||||
.. note::
|
.. note::
|
||||||
|
|
||||||
This option is mainly of interest to BIND 9 developers and may be
|
This option is mainly of interest to BIND 9 developers and may be
|
||||||
removed or changed in a future release.
|
removed or changed in a future release.
|
||||||
|
|
||||||
**-S** #max-socks
|
``-S #max-socks``
|
||||||
Allow ``named`` to use up to #max-socks sockets. The default value is
|
This option allows ``named`` to use up to ``#max-socks`` sockets. The default value is
|
||||||
21000 on systems built with default configuration options, and 4096
|
21000 on systems built with default configuration options, and 4096
|
||||||
on systems built with "configure --with-tuning=small".
|
on systems built with ``configure --with-tuning=small``.
|
||||||
|
|
||||||
.. warning::
|
.. warning::
|
||||||
|
|
||||||
This option should be unnecessary for the vast majority of users.
|
This option should be unnecessary for the vast majority of users.
|
||||||
The use of this option could even be harmful because the specified
|
The use of this option could even be harmful, because the specified
|
||||||
value may exceed the limitation of the underlying system API. It
|
value may exceed the limitation of the underlying system API. It
|
||||||
is therefore set only when the default configuration causes
|
is therefore set only when the default configuration causes
|
||||||
exhaustion of file descriptors and the operational environment is
|
exhaustion of file descriptors and the operational environment is
|
||||||
known to support the specified number of sockets. Note also that
|
known to support the specified number of sockets. Note also that
|
||||||
the actual maximum number is normally a little fewer than the
|
the actual maximum number is normally slightly fewer than the
|
||||||
specified value because ``named`` reserves some file descriptors
|
specified value, because ``named`` reserves some file descriptors
|
||||||
for its internal use.
|
for its internal use.
|
||||||
|
|
||||||
**-t** directory
|
``-t directory``
|
||||||
Chroot to directory after processing the command line arguments, but
|
This option tells ``named`` to chroot to ``directory`` after processing the command-line arguments, but
|
||||||
before reading the configuration file.
|
before reading the configuration file.
|
||||||
|
|
||||||
.. warning::
|
.. warning::
|
||||||
|
|
||||||
This option should be used in conjunction with the ``-u`` option,
|
This option should be used in conjunction with the ``-u`` option,
|
||||||
as chrooting a process running as root doesn't enhance security on
|
as chrooting a process running as root doesn't enhance security on
|
||||||
most systems; the way ``chroot(2)`` is defined allows a process
|
most systems; the way ``chroot`` is defined allows a process
|
||||||
with root privileges to escape a chroot jail.
|
with root privileges to escape a chroot jail.
|
||||||
|
|
||||||
**-U** #listeners
|
``-U #listeners``
|
||||||
Use #listeners worker threads to listen for incoming UDP packets on
|
This option tells ``named`` the number of ``#listeners`` worker threads to listen on, for incoming UDP packets on
|
||||||
each address. If not specified, ``named`` will calculate a default
|
each address. If not specified, ``named`` calculates a default
|
||||||
value based on the number of detected CPUs: 1 for 1 CPU, and the
|
value based on the number of detected CPUs: 1 for 1 CPU, and the
|
||||||
number of detected CPUs minus one for machines with more than 1 CPU.
|
number of detected CPUs minus one for machines with more than 1 CPU.
|
||||||
This cannot be increased to a value higher than the number of CPUs.
|
This cannot be increased to a value higher than the number of CPUs.
|
||||||
@@ -159,38 +159,38 @@ Options
|
|||||||
higher. On Windows, the number of UDP listeners is hardwired to 1 and
|
higher. On Windows, the number of UDP listeners is hardwired to 1 and
|
||||||
this option has no effect.
|
this option has no effect.
|
||||||
|
|
||||||
**-u** user
|
``-u user``
|
||||||
Setuid to user after completing privileged operations, such as
|
This option sets the setuid to ``user`` after completing privileged operations, such as
|
||||||
creating sockets that listen on privileged ports.
|
creating sockets that listen on privileged ports.
|
||||||
|
|
||||||
.. note::
|
.. note::
|
||||||
|
|
||||||
On Linux, ``named`` uses the kernel's capability mechanism to drop
|
On Linux, ``named`` uses the kernel's capability mechanism to drop
|
||||||
all root privileges except the ability to ``bind(2)`` to a
|
all root privileges except the ability to ``bind`` to a
|
||||||
privileged port and set process resource limits. Unfortunately,
|
privileged port and set process resource limits. Unfortunately,
|
||||||
this means that the ``-u`` option only works when ``named`` is run
|
this means that the ``-u`` option only works when ``named`` is run
|
||||||
on kernel 2.2.18 or later, or kernel 2.3.99-pre3 or later, since
|
on kernel 2.2.18 or later, or kernel 2.3.99-pre3 or later, since
|
||||||
previous kernels did not allow privileges to be retained after
|
previous kernels did not allow privileges to be retained after
|
||||||
``setuid(2)``.
|
``setuid``.
|
||||||
|
|
||||||
**-v**
|
``-v``
|
||||||
Report the version number and exit.
|
This option reports the version number and exits.
|
||||||
|
|
||||||
**-V**
|
``-V``
|
||||||
Report the version number and build options, and exit.
|
This option reports the version number and build options, and exits.
|
||||||
|
|
||||||
**-X** lock-file
|
``-X lock-file``
|
||||||
Acquire a lock on the specified file at runtime; this helps to
|
This option acquires a lock on the specified file at runtime; this helps to
|
||||||
prevent duplicate ``named`` instances from running simultaneously.
|
prevent duplicate ``named`` instances from running simultaneously.
|
||||||
Use of this option overrides the ``lock-file`` option in
|
Use of this option overrides the ``lock-file`` option in
|
||||||
``named.conf``. If set to ``none``, the lock file check is disabled.
|
``named.conf``. If set to ``none``, the lock file check is disabled.
|
||||||
|
|
||||||
**-x** cache-file
|
``-x cache-file``
|
||||||
Load data from cache-file into the cache of the default view.
|
This option loads data from ``cache-file`` into the cache of the default view.
|
||||||
|
|
||||||
.. warning::
|
.. warning::
|
||||||
|
|
||||||
This option must not be used. It is only of interest to BIND 9
|
This option must not be used in normal operations. It is only of interest to BIND 9
|
||||||
developers and may be removed or changed in a future release.
|
developers and may be removed or changed in a future release.
|
||||||
|
|
||||||
Signals
|
Signals
|
||||||
@@ -200,10 +200,10 @@ In routine operation, signals should not be used to control the
|
|||||||
nameserver; ``rndc`` should be used instead.
|
nameserver; ``rndc`` should be used instead.
|
||||||
|
|
||||||
SIGHUP
|
SIGHUP
|
||||||
Force a reload of the server.
|
This signal forces a reload of the server.
|
||||||
|
|
||||||
SIGINT, SIGTERM
|
SIGINT, SIGTERM
|
||||||
Shut down the server.
|
These signals shut down the server.
|
||||||
|
|
||||||
The result of sending any other signals to the server is undefined.
|
The result of sending any other signals to the server is undefined.
|
||||||
|
|
||||||
|
|||||||
+83
-4
@@ -59,6 +59,7 @@
|
|||||||
#include <dns/dlz.h>
|
#include <dns/dlz.h>
|
||||||
#include <dns/dns64.h>
|
#include <dns/dns64.h>
|
||||||
#include <dns/dnsrps.h>
|
#include <dns/dnsrps.h>
|
||||||
|
#include <dns/dnssec.h>
|
||||||
#include <dns/dyndb.h>
|
#include <dns/dyndb.h>
|
||||||
#include <dns/events.h>
|
#include <dns/events.h>
|
||||||
#include <dns/fixedname.h>
|
#include <dns/fixedname.h>
|
||||||
@@ -66,6 +67,7 @@
|
|||||||
#include <dns/geoip.h>
|
#include <dns/geoip.h>
|
||||||
#include <dns/journal.h>
|
#include <dns/journal.h>
|
||||||
#include <dns/kasp.h>
|
#include <dns/kasp.h>
|
||||||
|
#include <dns/keymgr.h>
|
||||||
#include <dns/keytable.h>
|
#include <dns/keytable.h>
|
||||||
#include <dns/keyvalues.h>
|
#include <dns/keyvalues.h>
|
||||||
#include <dns/lib.h>
|
#include <dns/lib.h>
|
||||||
@@ -7267,10 +7269,10 @@ removed(dns_zone_t *zone, void *uap) {
|
|||||||
|
|
||||||
switch (dns_zone_gettype(zone)) {
|
switch (dns_zone_gettype(zone)) {
|
||||||
case dns_zone_master:
|
case dns_zone_master:
|
||||||
type = "master";
|
type = "primary";
|
||||||
break;
|
break;
|
||||||
case dns_zone_slave:
|
case dns_zone_slave:
|
||||||
type = "slave";
|
type = "secondary";
|
||||||
break;
|
break;
|
||||||
case dns_zone_mirror:
|
case dns_zone_mirror:
|
||||||
type = "mirror";
|
type = "mirror";
|
||||||
@@ -14463,6 +14465,83 @@ cleanup:
|
|||||||
return (result);
|
return (result);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
isc_result_t
|
||||||
|
named_server_dnssec(named_server_t *server, isc_lex_t *lex,
|
||||||
|
isc_buffer_t **text) {
|
||||||
|
isc_result_t result = ISC_R_SUCCESS;
|
||||||
|
dns_zone_t *zone = NULL;
|
||||||
|
dns_kasp_t *kasp = NULL;
|
||||||
|
dns_dnsseckeylist_t keys;
|
||||||
|
dns_dnsseckey_t *key;
|
||||||
|
const char *ptr;
|
||||||
|
/* variables for -status */
|
||||||
|
char output[4096];
|
||||||
|
isc_stdtime_t now;
|
||||||
|
isc_time_t timenow;
|
||||||
|
const char *dir;
|
||||||
|
|
||||||
|
/* Skip the command name. */
|
||||||
|
ptr = next_token(lex, text);
|
||||||
|
if (ptr == NULL) {
|
||||||
|
return (ISC_R_UNEXPECTEDEND);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Find out what we are to do. */
|
||||||
|
ptr = next_token(lex, text);
|
||||||
|
if (ptr == NULL) {
|
||||||
|
return (ISC_R_UNEXPECTEDEND);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (strcasecmp(ptr, "-status") != 0) {
|
||||||
|
return (DNS_R_SYNTAX);
|
||||||
|
}
|
||||||
|
|
||||||
|
ISC_LIST_INIT(keys);
|
||||||
|
|
||||||
|
CHECK(zone_from_args(server, lex, NULL, &zone, NULL, text, false));
|
||||||
|
if (zone == NULL) {
|
||||||
|
CHECK(ISC_R_UNEXPECTEDEND);
|
||||||
|
}
|
||||||
|
|
||||||
|
kasp = dns_zone_getkasp(zone);
|
||||||
|
if (kasp == NULL) {
|
||||||
|
CHECK(putstr(text, "zone does not have dnssec-policy"));
|
||||||
|
CHECK(putnull(text));
|
||||||
|
goto cleanup;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* -status */
|
||||||
|
TIME_NOW(&timenow);
|
||||||
|
now = isc_time_seconds(&timenow);
|
||||||
|
dir = dns_zone_getkeydirectory(zone);
|
||||||
|
LOCK(&kasp->lock);
|
||||||
|
result = dns_dnssec_findmatchingkeys(dns_zone_getorigin(zone), dir, now,
|
||||||
|
dns_zone_getmctx(zone), &keys);
|
||||||
|
UNLOCK(&kasp->lock);
|
||||||
|
|
||||||
|
if (result != ISC_R_SUCCESS && result != ISC_R_NOTFOUND) {
|
||||||
|
goto cleanup;
|
||||||
|
}
|
||||||
|
LOCK(&kasp->lock);
|
||||||
|
dns_keymgr_status(kasp, &keys, now, &output[0], sizeof(output));
|
||||||
|
UNLOCK(&kasp->lock);
|
||||||
|
CHECK(putstr(text, output));
|
||||||
|
CHECK(putnull(text));
|
||||||
|
|
||||||
|
cleanup:
|
||||||
|
while (!ISC_LIST_EMPTY(keys)) {
|
||||||
|
key = ISC_LIST_HEAD(keys);
|
||||||
|
ISC_LIST_UNLINK(keys, key, link);
|
||||||
|
dns_dnsseckey_destroy(dns_zone_getmctx(zone), &key);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (zone != NULL) {
|
||||||
|
dns_zone_detach(&zone);
|
||||||
|
}
|
||||||
|
|
||||||
|
return (result);
|
||||||
|
}
|
||||||
|
|
||||||
static isc_result_t
|
static isc_result_t
|
||||||
putmem(isc_buffer_t **b, const char *str, size_t len) {
|
putmem(isc_buffer_t **b, const char *str, size_t len) {
|
||||||
isc_result_t result;
|
isc_result_t result;
|
||||||
@@ -14551,10 +14630,10 @@ named_server_zonestatus(named_server_t *server, isc_lex_t *lex,
|
|||||||
|
|
||||||
switch (zonetype) {
|
switch (zonetype) {
|
||||||
case dns_zone_master:
|
case dns_zone_master:
|
||||||
type = "master";
|
type = "primary";
|
||||||
break;
|
break;
|
||||||
case dns_zone_slave:
|
case dns_zone_slave:
|
||||||
type = "slave";
|
type = "secondary";
|
||||||
break;
|
break;
|
||||||
case dns_zone_mirror:
|
case dns_zone_mirror:
|
||||||
type = "mirror";
|
type = "mirror";
|
||||||
|
|||||||
@@ -73,7 +73,7 @@ named_os_tzset(void);
|
|||||||
void
|
void
|
||||||
named_os_started(void);
|
named_os_started(void);
|
||||||
|
|
||||||
char *
|
const char *
|
||||||
named_os_uname(void);
|
named_os_uname(void);
|
||||||
|
|
||||||
#endif /* NAMED_OS_H */
|
#endif /* NAMED_OS_H */
|
||||||
|
|||||||
+7
-5
@@ -903,8 +903,12 @@ named_os_tzset(void) {
|
|||||||
#endif /* ifdef HAVE_TZSET */
|
#endif /* ifdef HAVE_TZSET */
|
||||||
}
|
}
|
||||||
|
|
||||||
static char unamebuf[BUFSIZ];
|
#ifdef HAVE_UNAME
|
||||||
static char *unamep = NULL;
|
static char unamebuf[sizeof(struct utsname)];
|
||||||
|
#else
|
||||||
|
static const char unamebuf[] = { "unknown architecture" };
|
||||||
|
#endif
|
||||||
|
static const char *unamep = NULL;
|
||||||
|
|
||||||
static void
|
static void
|
||||||
getuname(void) {
|
getuname(void) {
|
||||||
@@ -919,13 +923,11 @@ getuname(void) {
|
|||||||
|
|
||||||
snprintf(unamebuf, sizeof(unamebuf), "%s %s %s %s", uts.sysname,
|
snprintf(unamebuf, sizeof(unamebuf), "%s %s %s %s", uts.sysname,
|
||||||
uts.machine, uts.release, uts.version);
|
uts.machine, uts.release, uts.version);
|
||||||
#else /* ifdef HAVE_UNAME */
|
|
||||||
snprintf(unamebuf, sizeof(unamebuf), "unknown architecture");
|
|
||||||
#endif /* ifdef HAVE_UNAME */
|
#endif /* ifdef HAVE_UNAME */
|
||||||
unamep = unamebuf;
|
unamep = unamebuf;
|
||||||
}
|
}
|
||||||
|
|
||||||
char *
|
const char *
|
||||||
named_os_uname(void) {
|
named_os_uname(void) {
|
||||||
if (unamep == NULL) {
|
if (unamep == NULL) {
|
||||||
getuname();
|
getuname();
|
||||||
|
|||||||
@@ -70,7 +70,7 @@ named_os_tzset(void);
|
|||||||
void
|
void
|
||||||
named_os_started(void);
|
named_os_started(void);
|
||||||
|
|
||||||
char *
|
const char *
|
||||||
named_os_uname(void);
|
named_os_uname(void);
|
||||||
|
|
||||||
#endif /* NAMED_OS_H */
|
#endif /* NAMED_OS_H */
|
||||||
|
|||||||
@@ -393,7 +393,7 @@ named_os_started(void) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
static char unamebuf[BUFSIZ];
|
static char unamebuf[BUFSIZ];
|
||||||
static char *unamep = NULL;
|
static const char *unamep = NULL;
|
||||||
|
|
||||||
static void
|
static void
|
||||||
getuname(void) {
|
getuname(void) {
|
||||||
@@ -462,7 +462,7 @@ err:
|
|||||||
* GetVersionEx() returns 6.2 (aka Windows 8.1) since it was obsoleted
|
* GetVersionEx() returns 6.2 (aka Windows 8.1) since it was obsoleted
|
||||||
* so we had to switch to the recommended way to get the Windows version.
|
* so we had to switch to the recommended way to get the Windows version.
|
||||||
*/
|
*/
|
||||||
char *
|
const char *
|
||||||
named_os_uname(void) {
|
named_os_uname(void) {
|
||||||
if (unamep == NULL) {
|
if (unamep == NULL) {
|
||||||
getuname();
|
getuname();
|
||||||
|
|||||||
+20
-14
@@ -334,7 +334,7 @@ configure_zone_ssutable(const cfg_obj_t *zconfig, dns_zone_t *zone,
|
|||||||
ISC_LOG_ERROR,
|
ISC_LOG_ERROR,
|
||||||
"'%.*s' is not a valid type",
|
"'%.*s' is not a valid type",
|
||||||
(int)r.length, str);
|
(int)r.length, str);
|
||||||
isc_mem_put(mctx, types, n * sizeof(types));
|
isc_mem_put(mctx, types, n * sizeof(*types));
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1236,8 +1236,8 @@ named_zone_configure(const cfg_obj_t *config, const cfg_obj_t *vconfig,
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
* Configure master functionality. This applies
|
* Configure master functionality. This applies
|
||||||
* to primary masters (type "master") and slaves
|
* to primary servers (type "primary") and secondaries
|
||||||
* acting as masters (type "slave"), but not to stubs.
|
* acting as primaries (type "secondary"), but not to stubs.
|
||||||
*/
|
*/
|
||||||
if (ztype != dns_zone_stub && ztype != dns_zone_staticstub &&
|
if (ztype != dns_zone_stub && ztype != dns_zone_staticstub &&
|
||||||
ztype != dns_zone_redirect)
|
ztype != dns_zone_redirect)
|
||||||
@@ -1271,10 +1271,12 @@ named_zone_configure(const cfg_obj_t *config, const cfg_obj_t *vconfig,
|
|||||||
notifytype = dns_notifytype_no;
|
notifytype = dns_notifytype_no;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
const char *notifystr = cfg_obj_asstring(obj);
|
const char *str = cfg_obj_asstring(obj);
|
||||||
if (strcasecmp(notifystr, "explicit") == 0) {
|
if (strcasecmp(str, "explicit") == 0) {
|
||||||
notifytype = dns_notifytype_explicit;
|
notifytype = dns_notifytype_explicit;
|
||||||
} else if (strcasecmp(notifystr, "master-only") == 0) {
|
} else if (strcasecmp(str, "master-only") == 0 ||
|
||||||
|
strcasecmp(str, "primary-only") == 0)
|
||||||
|
{
|
||||||
notifytype = dns_notifytype_masteronly;
|
notifytype = dns_notifytype_masteronly;
|
||||||
} else {
|
} else {
|
||||||
INSIST(0);
|
INSIST(0);
|
||||||
@@ -1531,7 +1533,7 @@ named_zone_configure(const cfg_obj_t *config, const cfg_obj_t *vconfig,
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
* Configure update-related options. These apply to
|
* Configure update-related options. These apply to
|
||||||
* primary masters only.
|
* primary servers only.
|
||||||
*/
|
*/
|
||||||
if (ztype == dns_zone_master) {
|
if (ztype == dns_zone_master) {
|
||||||
dns_acl_t *updateacl;
|
dns_acl_t *updateacl;
|
||||||
@@ -1866,17 +1868,21 @@ named_zone_configure(const cfg_obj_t *config, const cfg_obj_t *vconfig,
|
|||||||
case dns_zone_redirect:
|
case dns_zone_redirect:
|
||||||
count = 0;
|
count = 0;
|
||||||
obj = NULL;
|
obj = NULL;
|
||||||
(void)cfg_map_get(zoptions, "masters", &obj);
|
(void)cfg_map_get(zoptions, "primaries", &obj);
|
||||||
|
if (obj == NULL) {
|
||||||
|
(void)cfg_map_get(zoptions, "masters", &obj);
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Use the built-in master server list if one was not
|
* Use the built-in primary server list if one was not
|
||||||
* explicitly specified and this is a root zone mirror.
|
* explicitly specified and this is a root zone mirror.
|
||||||
*/
|
*/
|
||||||
if (obj == NULL && ztype == dns_zone_mirror &&
|
if (obj == NULL && ztype == dns_zone_mirror &&
|
||||||
dns_name_equal(dns_zone_getorigin(zone), dns_rootname))
|
dns_name_equal(dns_zone_getorigin(zone), dns_rootname))
|
||||||
{
|
{
|
||||||
result = named_config_getmastersdef(
|
result = named_config_getprimariesdef(
|
||||||
named_g_config, DEFAULT_IANA_ROOT_ZONE_MASTERS,
|
named_g_config,
|
||||||
&obj);
|
DEFAULT_IANA_ROOT_ZONE_PRIMARIES, &obj);
|
||||||
RETERR(result);
|
RETERR(result);
|
||||||
}
|
}
|
||||||
if (obj != NULL) {
|
if (obj != NULL) {
|
||||||
@@ -1885,13 +1891,13 @@ named_zone_configure(const cfg_obj_t *config, const cfg_obj_t *vconfig,
|
|||||||
|
|
||||||
RETERR(named_config_getipandkeylist(config, obj, mctx,
|
RETERR(named_config_getipandkeylist(config, obj, mctx,
|
||||||
&ipkl));
|
&ipkl));
|
||||||
result = dns_zone_setmasterswithkeys(
|
result = dns_zone_setprimarieswithkeys(
|
||||||
mayberaw, ipkl.addrs, ipkl.keys, ipkl.count);
|
mayberaw, ipkl.addrs, ipkl.keys, ipkl.count);
|
||||||
count = ipkl.count;
|
count = ipkl.count;
|
||||||
dns_ipkeylist_clear(mctx, &ipkl);
|
dns_ipkeylist_clear(mctx, &ipkl);
|
||||||
RETERR(result);
|
RETERR(result);
|
||||||
} else {
|
} else {
|
||||||
result = dns_zone_setmasters(mayberaw, NULL, 0);
|
result = dns_zone_setprimaries(mayberaw, NULL, 0);
|
||||||
}
|
}
|
||||||
RETERR(result);
|
RETERR(result);
|
||||||
|
|
||||||
|
|||||||
+132
-132
@@ -34,8 +34,8 @@ Synopsis
|
|||||||
Description
|
Description
|
||||||
~~~~~~~~~~~
|
~~~~~~~~~~~
|
||||||
|
|
||||||
``nsupdate`` is used to submit Dynamic DNS Update requests as defined in
|
``nsupdate`` is used to submit Dynamic DNS Update requests, as defined in
|
||||||
:rfc:`2136` to a name server. This allows resource records to be added or
|
:rfc:`2136`, to a name server. This allows resource records to be added or
|
||||||
removed from a zone without manually editing the zone file. A single
|
removed from a zone without manually editing the zone file. A single
|
||||||
update request can contain requests to add or remove more than one
|
update request can contain requests to add or remove more than one
|
||||||
resource record.
|
resource record.
|
||||||
@@ -45,23 +45,23 @@ should not be edited by hand. Manual edits could conflict with dynamic
|
|||||||
updates and cause data to be lost.
|
updates and cause data to be lost.
|
||||||
|
|
||||||
The resource records that are dynamically added or removed with
|
The resource records that are dynamically added or removed with
|
||||||
``nsupdate`` have to be in the same zone. Requests are sent to the
|
``nsupdate`` must be in the same zone. Requests are sent to the
|
||||||
zone's master server. This is identified by the MNAME field of the
|
zone's primary server, which is identified by the MNAME field of the
|
||||||
zone's SOA record.
|
zone's SOA record.
|
||||||
|
|
||||||
Transaction signatures can be used to authenticate the Dynamic DNS
|
Transaction signatures can be used to authenticate the Dynamic DNS
|
||||||
updates. These use the TSIG resource record type described in :rfc:`2845`
|
updates. These use the TSIG resource record type described in :rfc:`2845`,
|
||||||
or the SIG(0) record described in :rfc:`2535` and :rfc:`2931` or GSS-TSIG as
|
the SIG(0) record described in :rfc:`2535` and :rfc:`2931`, or GSS-TSIG as
|
||||||
described in :rfc:`3645`.
|
described in :rfc:`3645`.
|
||||||
|
|
||||||
TSIG relies on a shared secret that should only be known to ``nsupdate``
|
TSIG relies on a shared secret that should only be known to ``nsupdate``
|
||||||
and the name server. For instance, suitable ``key`` and ``server``
|
and the name server. For instance, suitable ``key`` and ``server``
|
||||||
statements would be added to ``/etc/named.conf`` so that the name server
|
statements are added to ``/etc/named.conf`` so that the name server
|
||||||
can associate the appropriate secret key and algorithm with the IP
|
can associate the appropriate secret key and algorithm with the IP
|
||||||
address of the client application that will be using TSIG
|
address of the client application that is using TSIG
|
||||||
authentication. You can use ``ddns-confgen`` to generate suitable
|
authentication. ``ddns-confgen`` can generate suitable
|
||||||
configuration fragments. ``nsupdate`` uses the ``-y`` or ``-k`` options
|
configuration fragments. ``nsupdate`` uses the ``-y`` or ``-k`` options
|
||||||
to provide the TSIG shared secret. These options are mutually exclusive.
|
to provide the TSIG shared secret; these options are mutually exclusive.
|
||||||
|
|
||||||
SIG(0) uses public key cryptography. To use a SIG(0) key, the public key
|
SIG(0) uses public key cryptography. To use a SIG(0) key, the public key
|
||||||
must be stored in a KEY record in a zone served by the name server.
|
must be stored in a KEY record in a zone served by the name server.
|
||||||
@@ -73,96 +73,96 @@ used by Windows 2000 can be switched on with the ``-o`` flag.
|
|||||||
Options
|
Options
|
||||||
~~~~~~~
|
~~~~~~~
|
||||||
|
|
||||||
**-4**
|
``-4``
|
||||||
Use IPv4 only.
|
This option sets use of IPv4 only.
|
||||||
|
|
||||||
**-6**
|
``-6``
|
||||||
Use IPv6 only.
|
This option sets use of IPv6 only.
|
||||||
|
|
||||||
**-d**
|
``-d``
|
||||||
Debug mode. This provides tracing information about the update
|
This option sets debug mode, which provides tracing information about the update
|
||||||
requests that are made and the replies received from the name server.
|
requests that are made and the replies received from the name server.
|
||||||
|
|
||||||
**-D**
|
``-D``
|
||||||
Extra debug mode.
|
This option sets extra debug mode.
|
||||||
|
|
||||||
**-i**
|
``-i``
|
||||||
Force interactive mode, even when standard input is not a terminal.
|
This option forces interactive mode, even when standard input is not a terminal.
|
||||||
|
|
||||||
**-k** keyfile
|
``-k keyfile``
|
||||||
The file containing the TSIG authentication key. Keyfiles may be in
|
This option indicates the file containing the TSIG authentication key. Keyfiles may be in
|
||||||
two formats: a single file containing a ``named.conf``-format ``key``
|
two formats: a single file containing a ``named.conf``-format ``key``
|
||||||
statement, which may be generated automatically by ``ddns-confgen``,
|
statement, which may be generated automatically by ``ddns-confgen``;
|
||||||
or a pair of files whose names are of the format
|
or a pair of files whose names are of the format
|
||||||
``K{name}.+157.+{random}.key`` and
|
``K{name}.+157.+{random}.key`` and
|
||||||
``K{name}.+157.+{random}.private``, which can be generated by
|
``K{name}.+157.+{random}.private``, which can be generated by
|
||||||
``dnssec-keygen``. The ``-k`` may also be used to specify a SIG(0)
|
``dnssec-keygen``. The ``-k`` option can also be used to specify a SIG(0)
|
||||||
key used to authenticate Dynamic DNS update requests. In this case,
|
key used to authenticate Dynamic DNS update requests. In this case,
|
||||||
the key specified is not an HMAC-MD5 key.
|
the key specified is not an HMAC-MD5 key.
|
||||||
|
|
||||||
**-l**
|
``-l``
|
||||||
Local-host only mode. This sets the server address to localhost
|
This option sets local-host only mode, which sets the server address to localhost
|
||||||
(disabling the ``server`` so that the server address cannot be
|
(disabling the ``server`` so that the server address cannot be
|
||||||
overridden). Connections to the local server will use a TSIG key
|
overridden). Connections to the local server use a TSIG key
|
||||||
found in ``/var/run/named/session.key``, which is automatically
|
found in ``/var/run/named/session.key``, which is automatically
|
||||||
generated by ``named`` if any local master zone has set
|
generated by ``named`` if any local ``primary`` zone has set
|
||||||
``update-policy`` to ``local``. The location of this key file can be
|
``update-policy`` to ``local``. The location of this key file can be
|
||||||
overridden with the ``-k`` option.
|
overridden with the ``-k`` option.
|
||||||
|
|
||||||
**-L** level
|
``-L level``
|
||||||
Set the logging debug level. If zero, logging is disabled.
|
This option sets the logging debug level. If zero, logging is disabled.
|
||||||
|
|
||||||
**-p** port
|
``-p port``
|
||||||
Set the port to use for connections to a name server. The default is
|
This option sets the port to use for connections to a name server. The default is
|
||||||
53.
|
53.
|
||||||
|
|
||||||
**-P**
|
``-P``
|
||||||
Print the list of private BIND-specific resource record types whose
|
This option prints the list of private BIND-specific resource record types whose
|
||||||
format is understood by ``nsupdate``. See also the ``-T`` option.
|
format is understood by ``nsupdate``. See also the ``-T`` option.
|
||||||
|
|
||||||
**-r** udpretries
|
``-r udpretries``
|
||||||
The number of UDP retries. The default is 3. If zero, only one update
|
This option sets the number of UDP retries. The default is 3. If zero, only one update
|
||||||
request will be made.
|
request is made.
|
||||||
|
|
||||||
**-t** timeout
|
``-t timeout``
|
||||||
The maximum time an update request can take before it is aborted. The
|
This option sets the maximum time an update request can take before it is aborted. The
|
||||||
default is 300 seconds. Zero can be used to disable the timeout.
|
default is 300 seconds. If zero, the timeout is disabled.
|
||||||
|
|
||||||
**-T**
|
``-T``
|
||||||
Print the list of IANA standard resource record types whose format is
|
This option prints the list of IANA standard resource record types whose format is
|
||||||
understood by ``nsupdate``. ``nsupdate`` will exit after the lists
|
understood by ``nsupdate``. ``nsupdate`` exits after the lists
|
||||||
are printed. The ``-T`` option can be combined with the ``-P``
|
are printed. The ``-T`` option can be combined with the ``-P``
|
||||||
option.
|
option.
|
||||||
|
|
||||||
Other types can be entered using "TYPEXXXXX" where "XXXXX" is the
|
Other types can be entered using ``TYPEXXXXX`` where ``XXXXX`` is the
|
||||||
decimal value of the type with no leading zeros. The rdata, if
|
decimal value of the type with no leading zeros. The rdata, if
|
||||||
present, will be parsed using the UNKNOWN rdata format, (<backslash>
|
present, is parsed using the UNKNOWN rdata format, (<backslash>
|
||||||
<hash> <space> <length> <space> <hexstring>).
|
<hash> <space> <length> <space> <hexstring>).
|
||||||
|
|
||||||
**-u** udptimeout
|
``-u udptimeout``
|
||||||
The UDP retry interval. The default is 3 seconds. If zero, the
|
This option sets the UDP retry interval. The default is 3 seconds. If zero, the
|
||||||
interval will be computed from the timeout interval and number of UDP
|
interval is computed from the timeout interval and number of UDP
|
||||||
retries.
|
retries.
|
||||||
|
|
||||||
**-v**
|
``-v``
|
||||||
Use TCP even for small update requests. By default, ``nsupdate`` uses
|
This option specifies that TCP should be used even for small update requests. By default, ``nsupdate`` uses
|
||||||
UDP to send update requests to the name server unless they are too
|
UDP to send update requests to the name server unless they are too
|
||||||
large to fit in a UDP request in which case TCP will be used. TCP may
|
large to fit in a UDP request, in which case TCP is used. TCP may
|
||||||
be preferable when a batch of update requests is made.
|
be preferable when a batch of update requests is made.
|
||||||
|
|
||||||
**-V**
|
``-V``
|
||||||
Print the version number and exit.
|
This option prints the version number and exits.
|
||||||
|
|
||||||
**-y** [hmac:]keyname:secret
|
``-y [hmac:]keyname:secret``
|
||||||
Literal TSIG authentication key. ``keyname`` is the name of the key,
|
This option sets the literal TSIG authentication key. ``keyname`` is the name of the key,
|
||||||
and ``secret`` is the base64 encoded shared secret. ``hmac`` is the
|
and ``secret`` is the base64 encoded shared secret. ``hmac`` is the
|
||||||
name of the key algorithm; valid choices are ``hmac-md5``,
|
name of the key algorithm; valid choices are ``hmac-md5``,
|
||||||
``hmac-sha1``, ``hmac-sha224``, ``hmac-sha256``, ``hmac-sha384``, or
|
``hmac-sha1``, ``hmac-sha224``, ``hmac-sha256``, ``hmac-sha384``, or
|
||||||
``hmac-sha512``. If ``hmac`` is not specified, the default is
|
``hmac-sha512``. If ``hmac`` is not specified, the default is
|
||||||
``hmac-md5`` or if MD5 was disabled ``hmac-sha256``.
|
``hmac-md5``, or if MD5 was disabled, ``hmac-sha256``.
|
||||||
|
|
||||||
NOTE: Use of the ``-y`` option is discouraged because the shared
|
NOTE: Use of the ``-y`` option is discouraged because the shared
|
||||||
secret is supplied as a command line argument in clear text. This may
|
secret is supplied as a command-line argument in clear text. This may
|
||||||
be visible in the output from ps1 or in a history file maintained by
|
be visible in the output from ps1 or in a history file maintained by
|
||||||
the user's shell.
|
the user's shell.
|
||||||
|
|
||||||
@@ -171,142 +171,142 @@ Input Format
|
|||||||
|
|
||||||
``nsupdate`` reads input from ``filename`` or standard input. Each
|
``nsupdate`` reads input from ``filename`` or standard input. Each
|
||||||
command is supplied on exactly one line of input. Some commands are for
|
command is supplied on exactly one line of input. Some commands are for
|
||||||
administrative purposes. The others are either update instructions or
|
administrative purposes; others are either update instructions or
|
||||||
prerequisite checks on the contents of the zone. These checks set
|
prerequisite checks on the contents of the zone. These checks set
|
||||||
conditions that some name or set of resource records (RRset) either
|
conditions that some name or set of resource records (RRset) either
|
||||||
exists or is absent from the zone. These conditions must be met if the
|
exists or is absent from the zone. These conditions must be met if the
|
||||||
entire update request is to succeed. Updates will be rejected if the
|
entire update request is to succeed. Updates are rejected if the
|
||||||
tests for the prerequisite conditions fail.
|
tests for the prerequisite conditions fail.
|
||||||
|
|
||||||
Every update request consists of zero or more prerequisites and zero or
|
Every update request consists of zero or more prerequisites and zero or
|
||||||
more updates. This allows a suitably authenticated update request to
|
more updates. This allows a suitably authenticated update request to
|
||||||
proceed if some specified resource records are present or missing from
|
proceed if some specified resource records are either present or missing from
|
||||||
the zone. A blank input line (or the ``send`` command) causes the
|
the zone. A blank input line (or the ``send`` command) causes the
|
||||||
accumulated commands to be sent as one Dynamic DNS update request to the
|
accumulated commands to be sent as one Dynamic DNS update request to the
|
||||||
name server.
|
name server.
|
||||||
|
|
||||||
The command formats and their meaning are as follows:
|
The command formats and their meanings are as follows:
|
||||||
|
|
||||||
``server`` servername port
|
``server servername port``
|
||||||
Sends all dynamic update requests to the name server ``servername``.
|
This command sends all dynamic update requests to the name server ``servername``.
|
||||||
When no server statement is provided, ``nsupdate`` will send updates
|
When no server statement is provided, ``nsupdate`` sends updates
|
||||||
to the master server of the correct zone. The MNAME field of that
|
to the primary server of the correct zone. The MNAME field of that
|
||||||
zone's SOA record will identify the master server for that zone.
|
zone's SOA record identify the primary server for that zone.
|
||||||
``port`` is the port number on ``servername`` where the dynamic
|
``port`` is the port number on ``servername`` where the dynamic
|
||||||
update requests get sent. If no port number is specified, the default
|
update requests are sent. If no port number is specified, the default
|
||||||
DNS port number of 53 is used.
|
DNS port number of 53 is used.
|
||||||
|
|
||||||
``local`` address port
|
``local address port``
|
||||||
Sends all dynamic update requests using the local ``address``. When
|
This command sends all dynamic update requests using the local ``address``. When
|
||||||
no local statement is provided, ``nsupdate`` will send updates using
|
no local statement is provided, ``nsupdate`` sends updates using
|
||||||
an address and port chosen by the system. ``port`` can additionally
|
an address and port chosen by the system. ``port`` can also
|
||||||
be used to make requests come from a specific port. If no port number
|
be used to force requests to come from a specific port. If no port number
|
||||||
is specified, the system will assign one.
|
is specified, the system assigns one.
|
||||||
|
|
||||||
``zone`` zonename
|
``zone zonename``
|
||||||
Specifies that all updates are to be made to the zone ``zonename``.
|
This command specifies that all updates are to be made to the zone ``zonename``.
|
||||||
If no ``zone`` statement is provided, ``nsupdate`` will attempt
|
If no ``zone`` statement is provided, ``nsupdate`` attempts to
|
||||||
determine the correct zone to update based on the rest of the input.
|
determine the correct zone to update based on the rest of the input.
|
||||||
|
|
||||||
``class`` classname
|
``class classname``
|
||||||
Specify the default class. If no ``class`` is specified, the default
|
This command specifies the default class. If no ``class`` is specified, the default
|
||||||
class is ``IN``.
|
class is ``IN``.
|
||||||
|
|
||||||
``ttl`` seconds
|
``ttl seconds``
|
||||||
Specify the default time to live for records to be added. The value
|
This command specifies the default time-to-live, in seconds, for records to be added. The value
|
||||||
``none`` will clear the default ttl.
|
``none`` clears the default TTL.
|
||||||
|
|
||||||
``key`` hmac:keyname secret
|
``key hmac:keyname secret``
|
||||||
Specifies that all updates are to be TSIG-signed using the
|
This command specifies that all updates are to be TSIG-signed using the
|
||||||
``keyname`` ``secret`` pair. If ``hmac`` is specified, then it sets
|
``keyname``-``secret`` pair. If ``hmac`` is specified, it sets
|
||||||
the signing algorithm in use; the default is ``hmac-md5`` or if MD5
|
the signing algorithm in use. The default is ``hmac-md5``; if MD5
|
||||||
was disabled ``hmac-sha256``. The ``key`` command overrides any key
|
was disabled, the default is ``hmac-sha256``. The ``key`` command overrides any key
|
||||||
specified on the command line via ``-y`` or ``-k``.
|
specified on the command line via ``-y`` or ``-k``.
|
||||||
|
|
||||||
``gsstsig``
|
``gsstsig``
|
||||||
Use GSS-TSIG to sign the updated. This is equivalent to specifying
|
This command uses GSS-TSIG to sign the updates. This is equivalent to specifying
|
||||||
``-g`` on the command line.
|
``-g`` on the command line.
|
||||||
|
|
||||||
``oldgsstsig``
|
``oldgsstsig``
|
||||||
Use the Windows 2000 version of GSS-TSIG to sign the updated. This is
|
This command uses the Windows 2000 version of GSS-TSIG to sign the updates. This is
|
||||||
equivalent to specifying ``-o`` on the command line.
|
equivalent to specifying ``-o`` on the command line.
|
||||||
|
|
||||||
``realm`` [realm_name]
|
``realm [realm_name]``
|
||||||
When using GSS-TSIG use ``realm_name`` rather than the default realm
|
When using GSS-TSIG, this command specifies the use of ``realm_name`` rather than the default realm
|
||||||
in ``krb5.conf``. If no realm is specified the saved realm is
|
in ``krb5.conf``. If no realm is specified, the saved realm is
|
||||||
cleared.
|
cleared.
|
||||||
|
|
||||||
``check-names`` [yes_or_no]
|
``check-names [yes_or_no]``
|
||||||
Turn on or off check-names processing on records to be added.
|
This command turns on or off check-names processing on records to be added.
|
||||||
Check-names has no effect on prerequisites or records to be deleted.
|
Check-names has no effect on prerequisites or records to be deleted.
|
||||||
By default check-names processing is on. If check-names processing
|
By default check-names processing is on. If check-names processing
|
||||||
fails the record will not be added to the UPDATE message.
|
fails, the record is not added to the UPDATE message.
|
||||||
|
|
||||||
``prereq nxdomain`` domain-name
|
``prereq nxdomain domain-name``
|
||||||
Requires that no resource record of any type exists with name
|
This command requires that no resource record of any type exist with the name
|
||||||
``domain-name``.
|
``domain-name``.
|
||||||
|
|
||||||
``prereq yxdomain`` domain-name
|
``prereq yxdomain domain-name``
|
||||||
Requires that ``domain-name`` exists (has as at least one resource
|
This command requires that ``domain-name`` exist (as at least one resource
|
||||||
record, of any type).
|
record, of any type).
|
||||||
|
|
||||||
``prereq nxrrset`` domain-name class type
|
``prereq nxrrset domain-name class type``
|
||||||
Requires that no resource record exists of the specified ``type``,
|
This command requires that no resource record exist of the specified ``type``,
|
||||||
``class`` and ``domain-name``. If ``class`` is omitted, IN (internet)
|
``class``, and ``domain-name``. If ``class`` is omitted, IN (Internet)
|
||||||
is assumed.
|
is assumed.
|
||||||
|
|
||||||
``prereq yxrrset`` domain-name class type
|
``prereq yxrrset domain-name class type``
|
||||||
This requires that a resource record of the specified ``type``,
|
This command requires that a resource record of the specified ``type``,
|
||||||
``class`` and ``domain-name`` must exist. If ``class`` is omitted, IN
|
``class`` and ``domain-name`` exist. If ``class`` is omitted, IN
|
||||||
(internet) is assumed.
|
(internet) is assumed.
|
||||||
|
|
||||||
``prereq yxrrset`` domain-name class type data
|
``prereq yxrrset domain-name class type data``
|
||||||
The ``data`` from each set of prerequisites of this form sharing a
|
With this command, the ``data`` from each set of prerequisites of this form sharing a
|
||||||
common ``type``, ``class``, and ``domain-name`` are combined to form
|
common ``type``, ``class``, and ``domain-name`` are combined to form
|
||||||
a set of RRs. This set of RRs must exactly match the set of RRs
|
a set of RRs. This set of RRs must exactly match the set of RRs
|
||||||
existing in the zone at the given ``type``, ``class``, and
|
existing in the zone at the given ``type``, ``class``, and
|
||||||
``domain-name``. The ``data`` are written in the standard text
|
``domain-name``. The ``data`` are written in the standard text
|
||||||
representation of the resource record's RDATA.
|
representation of the resource record's RDATA.
|
||||||
|
|
||||||
``update delete`` domain-name ttl class type data
|
``update delete domain-name ttl class type data``
|
||||||
Deletes any resource records named ``domain-name``. If ``type`` and
|
This command deletes any resource records named ``domain-name``. If ``type`` and
|
||||||
``data`` is provided, only matching resource records will be removed.
|
``data`` are provided, only matching resource records are removed.
|
||||||
The internet class is assumed if ``class`` is not supplied. The
|
The Internet class is assumed if ``class`` is not supplied. The
|
||||||
``ttl`` is ignored, and is only allowed for compatibility.
|
``ttl`` is ignored, and is only allowed for compatibility.
|
||||||
|
|
||||||
``update add`` domain-name ttl class type data
|
``update add domain-name ttl class type data``
|
||||||
Adds a new resource record with the specified ``ttl``, ``class`` and
|
This command adds a new resource record with the specified ``ttl``, ``class``, and
|
||||||
``data``.
|
``data``.
|
||||||
|
|
||||||
``show``
|
``show``
|
||||||
Displays the current message, containing all of the prerequisites and
|
This command displays the current message, containing all of the prerequisites and
|
||||||
updates specified since the last send.
|
updates specified since the last send.
|
||||||
|
|
||||||
``send``
|
``send``
|
||||||
Sends the current message. This is equivalent to entering a blank
|
This command sends the current message. This is equivalent to entering a blank
|
||||||
line.
|
line.
|
||||||
|
|
||||||
``answer``
|
``answer``
|
||||||
Displays the answer.
|
This command displays the answer.
|
||||||
|
|
||||||
``debug``
|
``debug``
|
||||||
Turn on debugging.
|
This command turns on debugging.
|
||||||
|
|
||||||
``version``
|
``version``
|
||||||
Print version number.
|
This command prints the version number.
|
||||||
|
|
||||||
``help``
|
``help``
|
||||||
Print a list of commands.
|
This command prints a list of commands.
|
||||||
|
|
||||||
Lines beginning with a semicolon are comments and are ignored.
|
Lines beginning with a semicolon (;) are comments and are ignored.
|
||||||
|
|
||||||
Examples
|
Examples
|
||||||
~~~~~~~~
|
~~~~~~~~
|
||||||
|
|
||||||
The examples below show how ``nsupdate`` could be used to insert and
|
The examples below show how ``nsupdate`` can be used to insert and
|
||||||
delete resource records from the ``example.com`` zone. Notice that the
|
delete resource records from the ``example.com`` zone. Notice that the
|
||||||
input in each example contains a trailing blank line so that a group of
|
input in each example contains a trailing blank line, so that a group of
|
||||||
commands are sent as one dynamic update request to the master name
|
commands is sent as one dynamic update request to the primary name
|
||||||
server for ``example.com``.
|
server for ``example.com``.
|
||||||
|
|
||||||
::
|
::
|
||||||
@@ -316,9 +316,9 @@ server for ``example.com``.
|
|||||||
> update add newhost.example.com 86400 A 172.16.1.1
|
> update add newhost.example.com 86400 A 172.16.1.1
|
||||||
> send
|
> send
|
||||||
|
|
||||||
Any A records for ``oldhost.example.com`` are deleted. And an A record
|
Any A records for ``oldhost.example.com`` are deleted, and an A record
|
||||||
for ``newhost.example.com`` with IP address 172.16.1.1 is added. The
|
for ``newhost.example.com`` with IP address 172.16.1.1 is added. The
|
||||||
newly-added record has a 1 day TTL (86400 seconds).
|
newly added record has a TTL of 1 day (86400 seconds).
|
||||||
|
|
||||||
::
|
::
|
||||||
|
|
||||||
@@ -327,39 +327,39 @@ newly-added record has a 1 day TTL (86400 seconds).
|
|||||||
> update add nickname.example.com 86400 CNAME somehost.example.com
|
> update add nickname.example.com 86400 CNAME somehost.example.com
|
||||||
> send
|
> send
|
||||||
|
|
||||||
The prerequisite condition gets the name server to check that there are
|
The prerequisite condition tells the name server to verify that there are
|
||||||
no resource records of any type for ``nickname.example.com``. If there
|
no resource records of any type for ``nickname.example.com``. If there
|
||||||
are, the update request fails. If this name does not exist, a CNAME for
|
are, the update request fails. If this name does not exist, a CNAME for
|
||||||
it is added. This ensures that when the CNAME is added, it cannot
|
it is added. This ensures that when the CNAME is added, it cannot
|
||||||
conflict with the long-standing rule in :rfc:`1034` that a name must not
|
conflict with the long-standing rule in :rfc:`1034` that a name must not
|
||||||
exist as any other record type if it exists as a CNAME. (The rule has
|
exist as any other record type if it exists as a CNAME. (The rule has
|
||||||
been updated for DNSSEC in :rfc:`2535` to allow CNAMEs to have RRSIG,
|
been updated for DNSSEC in :rfc:`2535` to allow CNAMEs to have RRSIG,
|
||||||
DNSKEY and NSEC records.)
|
DNSKEY, and NSEC records.)
|
||||||
|
|
||||||
Files
|
Files
|
||||||
~~~~~
|
~~~~~
|
||||||
|
|
||||||
``/etc/resolv.conf``
|
``/etc/resolv.conf``
|
||||||
used to identify default name server
|
Used to identify the default name server
|
||||||
|
|
||||||
``/var/run/named/session.key``
|
``/var/run/named/session.key``
|
||||||
sets the default TSIG key for use in local-only mode
|
Sets the default TSIG key for use in local-only mode
|
||||||
|
|
||||||
``K{name}.+157.+{random}.key``
|
``K{name}.+157.+{random}.key``
|
||||||
base-64 encoding of HMAC-MD5 key created by dnssec-keygen8.
|
Base-64 encoding of the HMAC-MD5 key created by ``dnssec-keygen``.
|
||||||
|
|
||||||
``K{name}.+157.+{random}.private``
|
``K{name}.+157.+{random}.private``
|
||||||
base-64 encoding of HMAC-MD5 key created by dnssec-keygen8.
|
Base-64 encoding of the HMAC-MD5 key created by ``dnssec-keygen``.
|
||||||
|
|
||||||
See Also
|
See Also
|
||||||
~~~~~~~~
|
~~~~~~~~
|
||||||
|
|
||||||
:rfc:`2136`, :rfc:`3007`, :rfc:`2104`, :rfc:`2845`, :rfc:`1034`, :rfc:`2535`, :rfc:`2931`,
|
:rfc:`2136`, :rfc:`3007`, :rfc:`2104`, :rfc:`2845`, :rfc:`1034`, :rfc:`2535`, :rfc:`2931`,
|
||||||
:manpage:`named(8)`, :manpage:`ddns-confgen(8)`, :manpage:`dnssec-keygen(8)`.
|
:manpage:`named(8)`, :manpage:`dnssec-keygen(8)`, :manpage:`tsig-keygen(8)`.
|
||||||
|
|
||||||
Bugs
|
Bugs
|
||||||
~~~~
|
~~~~
|
||||||
|
|
||||||
The TSIG key is redundantly stored in two separate files. This is a
|
The TSIG key is redundantly stored in two separate files. This is a
|
||||||
consequence of nsupdate using the DST library for its cryptographic
|
consequence of ``nsupdate`` using the DST library for its cryptographic
|
||||||
operations, and may change in future releases.
|
operations, and may change in future releases.
|
||||||
|
|||||||
@@ -37,32 +37,32 @@ Description
|
|||||||
by their ``ID`` or ``label``.
|
by their ``ID`` or ``label``.
|
||||||
|
|
||||||
Matching keys are displayed before being destroyed. By default, there is
|
Matching keys are displayed before being destroyed. By default, there is
|
||||||
a five second delay to allow the user to interrupt the process before
|
a five-second delay to allow the user to interrupt the process before
|
||||||
the destruction takes place.
|
the destruction takes place.
|
||||||
|
|
||||||
Arguments
|
Options
|
||||||
~~~~~~~~~
|
~~~~~~~
|
||||||
|
|
||||||
**-m** module
|
``-m module``
|
||||||
Specify the PKCS#11 provider module. This must be the full path to a
|
This option specifies the PKCS#11 provider module. This must be the full path to a
|
||||||
shared library object implementing the PKCS#11 API for the device.
|
shared library object implementing the PKCS#11 API for the device.
|
||||||
|
|
||||||
**-s** slot
|
``-s slot``
|
||||||
Open the session with the given PKCS#11 slot. The default is slot 0.
|
This option opens the session with the given PKCS#11 slot. The default is slot 0.
|
||||||
|
|
||||||
**-i** ID
|
``-i ID``
|
||||||
Destroy keys with the given object ID.
|
This option destroys keys with the given object ID.
|
||||||
|
|
||||||
**-l** label
|
``-l label``
|
||||||
Destroy keys with the given label.
|
This option destroys keys with the given label.
|
||||||
|
|
||||||
**-p** PIN
|
``-p PIN``
|
||||||
Specify the PIN for the device. If no PIN is provided on the command
|
This option specifies the ``PIN`` for the device. If no ``PIN`` is provided on the command
|
||||||
line, ``pkcs11-destroy`` will prompt for it.
|
line, ``pkcs11-destroy`` prompts for it.
|
||||||
|
|
||||||
**-w** seconds
|
``-w seconds``
|
||||||
Specify how long to pause before carrying out key destruction. The
|
This option specifies how long, in seconds, to pause before carrying out key destruction. The
|
||||||
default is five seconds. If set to ``0``, destruction will be
|
default is 5 seconds. If set to ``0``, destruction is
|
||||||
immediate.
|
immediate.
|
||||||
|
|
||||||
See Also
|
See Also
|
||||||
|
|||||||
@@ -38,51 +38,51 @@ Description
|
|||||||
with the given ``label`` (which must be unique) and with ``keysize``
|
with the given ``label`` (which must be unique) and with ``keysize``
|
||||||
bits of prime.
|
bits of prime.
|
||||||
|
|
||||||
Arguments
|
Options
|
||||||
~~~~~~~~~
|
~~~~~~~
|
||||||
|
|
||||||
**-a** algorithm
|
``-a algorithm``
|
||||||
Specify the key algorithm class: Supported classes are RSA, DSA, DH,
|
This option specifies the key algorithm class: supported classes are RSA, DSA, DH,
|
||||||
ECC and ECX. In addition to these strings, the ``algorithm`` can be
|
ECC, and ECX. In addition to these strings, the ``algorithm`` can be
|
||||||
specified as a DNSSEC signing algorithm that will be used with this
|
specified as a DNSSEC signing algorithm to be used with this
|
||||||
key; for example, NSEC3RSASHA1 maps to RSA, ECDSAP256SHA256 maps to
|
key; for example, NSEC3RSASHA1 maps to RSA, ECDSAP256SHA256 maps to
|
||||||
ECC, and ED25519 to ECX. The default class is "RSA".
|
ECC, and ED25519 to ECX. The default class is ``RSA``.
|
||||||
|
|
||||||
**-b** keysize
|
``-b keysize``
|
||||||
Create the key pair with ``keysize`` bits of prime. For ECC keys, the
|
This option creates the key pair with ``keysize`` bits of prime. For ECC keys, the
|
||||||
only valid values are 256 and 384, and the default is 256. For ECX
|
only valid values are 256 and 384, and the default is 256. For ECX
|
||||||
keys, the only valid values are 256 and 456, and the default is 256.
|
keys, the only valid values are 256 and 456, and the default is 256.
|
||||||
|
|
||||||
**-e**
|
``-e``
|
||||||
For RSA keys only, use a large exponent.
|
For RSA keys only, this option specifies use of a large exponent.
|
||||||
|
|
||||||
**-i** id
|
``-i id``
|
||||||
Create key objects with id. The id is either an unsigned short 2 byte
|
This option creates key objects with ``id``. The ID is either an unsigned short 2-byte
|
||||||
or an unsigned long 4 byte number.
|
or an unsigned long 4-byte number.
|
||||||
|
|
||||||
**-m** module
|
``-m module``
|
||||||
Specify the PKCS#11 provider module. This must be the full path to a
|
This option specifies the PKCS#11 provider module. This must be the full path to a
|
||||||
shared library object implementing the PKCS#11 API for the device.
|
shared library object implementing the PKCS#11 API for the device.
|
||||||
|
|
||||||
**-P**
|
``-P``
|
||||||
Set the new private key to be non-sensitive and extractable. The
|
This option sets the new private key to be non-sensitive and extractable, and
|
||||||
allows the private key data to be read from the PKCS#11 device. The
|
allows the private key data to be read from the PKCS#11 device. The
|
||||||
default is for private keys to be sensitive and non-extractable.
|
default is for private keys to be sensitive and non-extractable.
|
||||||
|
|
||||||
**-p** PIN
|
``-p PIN``
|
||||||
Specify the PIN for the device. If no PIN is provided on the command
|
This option specifies the ``PIN`` for the device. If no ``PIN`` is provided on the command
|
||||||
line, ``pkcs11-keygen`` will prompt for it.
|
line, ``pkcs11-keygen`` prompts for it.
|
||||||
|
|
||||||
**-q**
|
``-q``
|
||||||
Quiet mode: suppress unnecessary output.
|
This option sets quiet mode, which suppresses unnecessary output.
|
||||||
|
|
||||||
**-S**
|
``-S``
|
||||||
For Diffie-Hellman (DH) keys only, use a special prime of 768, 1024
|
For Diffie-Hellman (DH) keys only, this option specifies use of a special prime of 768-, 1024-,
|
||||||
or 1536 bit size and base (aka generator) 2. If not specified, bit
|
or 1536-bit size and base (AKA generator) 2. If not specified, bit
|
||||||
size will default to 1024.
|
size defaults to 1024.
|
||||||
|
|
||||||
**-s** slot
|
``-s slot``
|
||||||
Open the session with the given PKCS#11 slot. The default is slot 0.
|
This option opens the session with the given PKCS#11 slot. The default is slot 0.
|
||||||
|
|
||||||
See Also
|
See Also
|
||||||
~~~~~~~~
|
~~~~~~~~
|
||||||
|
|||||||
+17
-17
@@ -31,34 +31,34 @@ pkcs11-list - list PKCS#11 objects
|
|||||||
Description
|
Description
|
||||||
~~~~~~~~~~~
|
~~~~~~~~~~~
|
||||||
|
|
||||||
``pkcs11-list`` lists the PKCS#11 objects with ``ID`` or ``label`` or by
|
``pkcs11-list`` lists the PKCS#11 objects with ``ID`` or ``label`` or, by
|
||||||
default all objects. The object class, label, and ID are displayed for
|
default, all objects. The object class, label, and ID are displayed for
|
||||||
all keys. For private or secret keys, the extractability attribute is
|
all keys. For private or secret keys, the extractability attribute is
|
||||||
also displayed, as either ``true``, ``false``, or ``never``.
|
also displayed, as either ``true``, ``false``, or ``never``.
|
||||||
|
|
||||||
Arguments
|
Options
|
||||||
~~~~~~~~~
|
~~~~~~~
|
||||||
|
|
||||||
**-P**
|
``-P``
|
||||||
List only the public objects. (Note that on some PKCS#11 devices, all
|
This option lists only the public objects. (Note that on some PKCS#11 devices, all
|
||||||
objects are private.)
|
objects are private.)
|
||||||
|
|
||||||
**-m** module
|
``-m module``
|
||||||
Specify the PKCS#11 provider module. This must be the full path to a
|
This option specifies the PKCS#11 provider module. This must be the full path to a
|
||||||
shared library object implementing the PKCS#11 API for the device.
|
shared library object implementing the PKCS#11 API for the device.
|
||||||
|
|
||||||
**-s** slot
|
``-s slot``
|
||||||
Open the session with the given PKCS#11 slot. The default is slot 0.
|
This option opens the session with the given PKCS#11 slot. The default is slot 0.
|
||||||
|
|
||||||
**-i** ID
|
``-i ID``
|
||||||
List only key objects with the given object ID.
|
This option lists only key objects with the given object ID.
|
||||||
|
|
||||||
**-l** label
|
``-l label``
|
||||||
List only key objects with the given label.
|
This option lists only key objects with the given label.
|
||||||
|
|
||||||
**-p** PIN
|
``-p PIN``
|
||||||
Specify the PIN for the device. If no PIN is provided on the command
|
This option specifies the ``PIN`` for the device. If no ``PIN`` is provided on the command
|
||||||
line, ``pkcs11-list`` will prompt for it.
|
line, ``pkcs11-list`` prompts for it.
|
||||||
|
|
||||||
See Also
|
See Also
|
||||||
~~~~~~~~
|
~~~~~~~~
|
||||||
|
|||||||
@@ -37,15 +37,15 @@ Description
|
|||||||
``pkcs11-tokens`` lists the PKCS#11 available tokens with defaults from
|
``pkcs11-tokens`` lists the PKCS#11 available tokens with defaults from
|
||||||
the slot/token scan performed at application initialization.
|
the slot/token scan performed at application initialization.
|
||||||
|
|
||||||
Arguments
|
Options
|
||||||
~~~~~~~~~
|
~~~~~~~
|
||||||
|
|
||||||
**-m** module
|
``-m module``
|
||||||
Specify the PKCS#11 provider module. This must be the full path to a
|
This option specifies the PKCS#11 provider module. This must be the full path to a
|
||||||
shared library object implementing the PKCS#11 API for the device.
|
shared library object implementing the PKCS#11 API for the device.
|
||||||
|
|
||||||
**-v**
|
``-v``
|
||||||
Make the PKCS#11 libisc initialization verbose.
|
This option makes the PKCS#11 libisc initialization verbose.
|
||||||
|
|
||||||
See Also
|
See Also
|
||||||
~~~~~~~~
|
~~~~~~~~
|
||||||
|
|||||||
+11
-11
@@ -40,7 +40,7 @@ Description
|
|||||||
Until BIND 9.12, this feature was implemented natively in ``named`` and
|
Until BIND 9.12, this feature was implemented natively in ``named`` and
|
||||||
enabled with the ``filter-aaaa`` ACL and the ``filter-aaaa-on-v4`` and
|
enabled with the ``filter-aaaa`` ACL and the ``filter-aaaa-on-v4`` and
|
||||||
``filter-aaaa-on-v6`` options. These options are now deprecated in
|
``filter-aaaa-on-v6`` options. These options are now deprecated in
|
||||||
``named.conf``, but can be passed as parameters to the
|
``named.conf`` but can be passed as parameters to the
|
||||||
``filter-aaaa.so`` plugin, for example:
|
``filter-aaaa.so`` plugin, for example:
|
||||||
|
|
||||||
::
|
::
|
||||||
@@ -60,22 +60,22 @@ necessary.
|
|||||||
Note: This mechanism can erroneously cause other servers not to give
|
Note: This mechanism can erroneously cause other servers not to give
|
||||||
AAAA records to their clients. If a recursing server with both IPv6 and
|
AAAA records to their clients. If a recursing server with both IPv6 and
|
||||||
IPv4 network connections queries an authoritative server using this
|
IPv4 network connections queries an authoritative server using this
|
||||||
mechanism via IPv4, it will be denied AAAA records even if its client is
|
mechanism via IPv4, it is denied AAAA records even if its client is
|
||||||
using IPv6.
|
using IPv6.
|
||||||
|
|
||||||
Options
|
Options
|
||||||
~~~~~~~
|
~~~~~~~
|
||||||
|
|
||||||
``filter-aaaa``
|
``filter-aaaa``
|
||||||
Specifies a list of client addresses for which AAAA filtering is to
|
This option specifies a list of client addresses for which AAAA filtering is to
|
||||||
be applied. The default is ``any``.
|
be applied. The default is ``any``.
|
||||||
|
|
||||||
``filter-aaaa-on-v4``
|
``filter-aaaa-on-v4``
|
||||||
If set to ``yes``, the DNS client is at an IPv4 address, in
|
If set to ``yes``, this option indicates that the DNS client is at an IPv4 address, in
|
||||||
``filter-aaaa``, and if the response does not include DNSSEC
|
``filter-aaaa``. If the response does not include DNSSEC
|
||||||
signatures, then all AAAA records are deleted from the response. This
|
signatures, then all AAAA records are deleted from the response. This
|
||||||
filtering applies to all responses and not only authoritative
|
filtering applies to all responses, not only authoritative
|
||||||
responses.
|
ones.
|
||||||
|
|
||||||
If set to ``break-dnssec``, then AAAA records are deleted even when
|
If set to ``break-dnssec``, then AAAA records are deleted even when
|
||||||
DNSSEC is enabled. As suggested by the name, this causes the response
|
DNSSEC is enabled. As suggested by the name, this causes the response
|
||||||
@@ -83,13 +83,13 @@ Options
|
|||||||
deletions.
|
deletions.
|
||||||
|
|
||||||
This mechanism can erroneously cause other servers not to give AAAA
|
This mechanism can erroneously cause other servers not to give AAAA
|
||||||
records to their clients. A recursing server with both IPv6 and IPv4
|
records to their clients. If a recursing server with both IPv6 and IPv4
|
||||||
network connections that queries an authoritative server using this
|
network connections queries an authoritative server using this
|
||||||
mechanism via IPv4 will be denied AAAA records even if its client is
|
mechanism via IPv4, it is denied AAAA records even if its client is
|
||||||
using IPv6.
|
using IPv6.
|
||||||
|
|
||||||
``filter-aaaa-on-v6``
|
``filter-aaaa-on-v6``
|
||||||
Identical to ``filter-aaaa-on-v4``, except it filters AAAA responses
|
This option is identical to ``filter-aaaa-on-v4``, except that it filters AAAA responses
|
||||||
to queries from IPv6 clients instead of IPv4 clients. To filter all
|
to queries from IPv6 clients instead of IPv4 clients. To filter all
|
||||||
responses, set both options to ``yes``.
|
responses, set both options to ``yes``.
|
||||||
|
|
||||||
|
|||||||
@@ -105,6 +105,9 @@ command is one of the following:\n\
|
|||||||
Add zone to given view. Requires allow-new-zones option.\n\
|
Add zone to given view. Requires allow-new-zones option.\n\
|
||||||
delzone [-clean] zone [class [view]]\n\
|
delzone [-clean] zone [class [view]]\n\
|
||||||
Removes zone from given view.\n\
|
Removes zone from given view.\n\
|
||||||
|
dnssec -status zone [class [view]]\n\
|
||||||
|
Show the DNSSEC signing state for the specified zone.\n\
|
||||||
|
Requires the zone to have a dnssec-policy.\n\
|
||||||
dnstap -reopen\n\
|
dnstap -reopen\n\
|
||||||
Close, truncate and re-open the DNSTAP output file.\n\
|
Close, truncate and re-open the DNSTAP output file.\n\
|
||||||
dnstap -roll count\n\
|
dnstap -roll count\n\
|
||||||
|
|||||||
+21
-20
@@ -24,6 +24,7 @@
|
|||||||
.. _man_rndc.conf:
|
.. _man_rndc.conf:
|
||||||
|
|
||||||
rndc.conf - rndc configuration file
|
rndc.conf - rndc configuration file
|
||||||
|
-----------------------------------
|
||||||
|
|
||||||
Synopsis
|
Synopsis
|
||||||
~~~~~~~~
|
~~~~~~~~
|
||||||
@@ -46,39 +47,39 @@ C++ style: // to end of line
|
|||||||
Unix style: # to end of line
|
Unix style: # to end of line
|
||||||
|
|
||||||
``rndc.conf`` is much simpler than ``named.conf``. The file uses three
|
``rndc.conf`` is much simpler than ``named.conf``. The file uses three
|
||||||
statements: an options statement, a server statement and a key
|
statements: an options statement, a server statement, and a key
|
||||||
statement.
|
statement.
|
||||||
|
|
||||||
The ``options`` statement contains five clauses. The ``default-server``
|
The ``options`` statement contains five clauses. The ``default-server``
|
||||||
clause is followed by the name or address of a name server. This host
|
clause is followed by the name or address of a name server. This host
|
||||||
will be used when no name server is given as an argument to ``rndc``.
|
is used when no name server is given as an argument to ``rndc``.
|
||||||
The ``default-key`` clause is followed by the name of a key which is
|
The ``default-key`` clause is followed by the name of a key, which is
|
||||||
identified by a ``key`` statement. If no ``keyid`` is provided on the
|
identified by a ``key`` statement. If no ``keyid`` is provided on the
|
||||||
rndc command line, and no ``key`` clause is found in a matching
|
rndc command line, and no ``key`` clause is found in a matching
|
||||||
``server`` statement, this default key will be used to authenticate the
|
``server`` statement, this default key is used to authenticate the
|
||||||
server's commands and responses. The ``default-port`` clause is followed
|
server's commands and responses. The ``default-port`` clause is followed
|
||||||
by the port to connect to on the remote name server. If no ``port``
|
by the port to connect to on the remote name server. If no ``port``
|
||||||
option is provided on the rndc command line, and no ``port`` clause is
|
option is provided on the rndc command line, and no ``port`` clause is
|
||||||
found in a matching ``server`` statement, this default port will be used
|
found in a matching ``server`` statement, this default port is used
|
||||||
to connect. The ``default-source-address`` and
|
to connect. The ``default-source-address`` and
|
||||||
``default-source-address-v6`` clauses which can be used to set the IPv4
|
``default-source-address-v6`` clauses can be used to set the IPv4
|
||||||
and IPv6 source addresses respectively.
|
and IPv6 source addresses respectively.
|
||||||
|
|
||||||
After the ``server`` keyword, the server statement includes a string
|
After the ``server`` keyword, the server statement includes a string
|
||||||
which is the hostname or address for a name server. The statement has
|
which is the hostname or address for a name server. The statement has
|
||||||
three possible clauses: ``key``, ``port`` and ``addresses``. The key
|
three possible clauses: ``key``, ``port``, and ``addresses``. The key
|
||||||
name must match the name of a key statement in the file. The port number
|
name must match the name of a key statement in the file. The port number
|
||||||
specifies the port to connect to. If an ``addresses`` clause is supplied
|
specifies the port to connect to. If an ``addresses`` clause is supplied,
|
||||||
these addresses will be used instead of the server name. Each address
|
these addresses are used instead of the server name. Each address
|
||||||
can take an optional port. If an ``source-address`` or
|
can take an optional port. If an ``source-address`` or
|
||||||
``source-address-v6`` of supplied then these will be used to specify the
|
``source-address-v6`` is supplied, it is used to specify the
|
||||||
IPv4 and IPv6 source addresses respectively.
|
IPv4 and IPv6 source address, respectively.
|
||||||
|
|
||||||
The ``key`` statement begins with an identifying string, the name of the
|
The ``key`` statement begins with an identifying string, the name of the
|
||||||
key. The statement has two clauses. ``algorithm`` identifies the
|
key. The statement has two clauses. ``algorithm`` identifies the
|
||||||
authentication algorithm for ``rndc`` to use; currently only HMAC-MD5
|
authentication algorithm for ``rndc`` to use; currently only HMAC-MD5
|
||||||
(for compatibility), HMAC-SHA1, HMAC-SHA224, HMAC-SHA256 (default),
|
(for compatibility), HMAC-SHA1, HMAC-SHA224, HMAC-SHA256 (default),
|
||||||
HMAC-SHA384 and HMAC-SHA512 are supported. This is followed by a secret
|
HMAC-SHA384, and HMAC-SHA512 are supported. This is followed by a secret
|
||||||
clause which contains the base-64 encoding of the algorithm's
|
clause which contains the base-64 encoding of the algorithm's
|
||||||
authentication key. The base-64 string is enclosed in double quotes.
|
authentication key. The base-64 string is enclosed in double quotes.
|
||||||
|
|
||||||
@@ -86,7 +87,7 @@ There are two common ways to generate the base-64 string for the secret.
|
|||||||
The BIND 9 program ``rndc-confgen`` can be used to generate a random
|
The BIND 9 program ``rndc-confgen`` can be used to generate a random
|
||||||
key, or the ``mmencode`` program, also known as ``mimencode``, can be
|
key, or the ``mmencode`` program, also known as ``mimencode``, can be
|
||||||
used to generate a base-64 string from known input. ``mmencode`` does
|
used to generate a base-64 string from known input. ``mmencode`` does
|
||||||
not ship with BIND 9 but is available on many systems. See the EXAMPLE
|
not ship with BIND 9 but is available on many systems. See the Example
|
||||||
section for sample command lines for each.
|
section for sample command lines for each.
|
||||||
|
|
||||||
Example
|
Example
|
||||||
@@ -127,23 +128,23 @@ Example
|
|||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
In the above example, ``rndc`` will by default use the server at
|
In the above example, ``rndc`` by default uses the server at
|
||||||
localhost (127.0.0.1) and the key called samplekey. Commands to the
|
localhost (127.0.0.1) and the key called "samplekey". Commands to the
|
||||||
localhost server will use the samplekey key, which must also be defined
|
localhost server use the "samplekey" key, which must also be defined
|
||||||
in the server's configuration file with the same name and secret. The
|
in the server's configuration file with the same name and secret. The
|
||||||
key statement indicates that samplekey uses the HMAC-SHA256 algorithm
|
key statement indicates that "samplekey" uses the HMAC-SHA256 algorithm
|
||||||
and its secret clause contains the base-64 encoding of the HMAC-SHA256
|
and its secret clause contains the base-64 encoding of the HMAC-SHA256
|
||||||
secret enclosed in double quotes.
|
secret enclosed in double quotes.
|
||||||
|
|
||||||
If ``rndc -s testserver`` is used then ``rndc`` will connect to server
|
If ``rndc -s testserver`` is used, then ``rndc`` connects to the server
|
||||||
on localhost port 5353 using the key testkey.
|
on localhost port 5353 using the key "testkey".
|
||||||
|
|
||||||
To generate a random secret with ``rndc-confgen``:
|
To generate a random secret with ``rndc-confgen``:
|
||||||
|
|
||||||
``rndc-confgen``
|
``rndc-confgen``
|
||||||
|
|
||||||
A complete ``rndc.conf`` file, including the randomly generated key,
|
A complete ``rndc.conf`` file, including the randomly generated key,
|
||||||
will be written to the standard output. Commented-out ``key`` and
|
is written to the standard output. Commented-out ``key`` and
|
||||||
``controls`` statements for ``named.conf`` are also printed.
|
``controls`` statements for ``named.conf`` are also printed.
|
||||||
|
|
||||||
To generate a base-64 secret with ``mmencode``:
|
To generate a base-64 secret with ``mmencode``:
|
||||||
|
|||||||
+182
-179
@@ -34,8 +34,8 @@ Synopsis
|
|||||||
Description
|
Description
|
||||||
~~~~~~~~~~~
|
~~~~~~~~~~~
|
||||||
|
|
||||||
``rndc`` controls the operation of a name server. It supersedes the
|
``rndc`` controls the operation of a name server; it supersedes the
|
||||||
``ndc`` utility that was provided in old BIND releases. If ``rndc`` is
|
``ndc`` utility. If ``rndc`` is
|
||||||
invoked with no command line options or arguments, it prints a short
|
invoked with no command line options or arguments, it prints a short
|
||||||
summary of the supported commands and the available options and their
|
summary of the supported commands and the available options and their
|
||||||
arguments.
|
arguments.
|
||||||
@@ -44,8 +44,8 @@ arguments.
|
|||||||
sending commands authenticated with digital signatures. In the current
|
sending commands authenticated with digital signatures. In the current
|
||||||
versions of ``rndc`` and ``named``, the only supported authentication
|
versions of ``rndc`` and ``named``, the only supported authentication
|
||||||
algorithms are HMAC-MD5 (for compatibility), HMAC-SHA1, HMAC-SHA224,
|
algorithms are HMAC-MD5 (for compatibility), HMAC-SHA1, HMAC-SHA224,
|
||||||
HMAC-SHA256 (default), HMAC-SHA384 and HMAC-SHA512. They use a shared
|
HMAC-SHA256 (default), HMAC-SHA384, and HMAC-SHA512. They use a shared
|
||||||
secret on each end of the connection. This provides TSIG-style
|
secret on each end of the connection, which provides TSIG-style
|
||||||
authentication for the command request and the name server's response.
|
authentication for the command request and the name server's response.
|
||||||
All commands sent over the channel must be signed by a key_id known to
|
All commands sent over the channel must be signed by a key_id known to
|
||||||
the server.
|
the server.
|
||||||
@@ -56,59 +56,58 @@ server and decide what algorithm and key it should use.
|
|||||||
Options
|
Options
|
||||||
~~~~~~~
|
~~~~~~~
|
||||||
|
|
||||||
**-4**
|
``-4``
|
||||||
Use IPv4 only.
|
This option indicates use of IPv4 only.
|
||||||
|
|
||||||
**-6**
|
``-6``
|
||||||
Use IPv6 only.
|
This option indicates use of IPv6 only.
|
||||||
|
|
||||||
**-b** source-address
|
``-b source-address``
|
||||||
Use source-address as the source address for the connection to the
|
This option indicates ``source-address`` as the source address for the connection to the
|
||||||
server. Multiple instances are permitted to allow setting of both the
|
server. Multiple instances are permitted, to allow setting of both the
|
||||||
IPv4 and IPv6 source addresses.
|
IPv4 and IPv6 source addresses.
|
||||||
|
|
||||||
**-c** config-file
|
``-c config-file``
|
||||||
Use config-file as the configuration file instead of the default,
|
This option indicates ``config-file`` as the configuration file instead of the default,
|
||||||
``/etc/rndc.conf``.
|
``/etc/rndc.conf``.
|
||||||
|
|
||||||
**-k** key-file
|
``-k key-file``
|
||||||
Use key-file as the key file instead of the default,
|
This option indicates ``key-file`` as the key file instead of the default,
|
||||||
``/etc/rndc.key``. The key in ``/etc/rndc.key`` will be used to
|
``/etc/rndc.key``. The key in ``/etc/rndc.key`` is used to
|
||||||
authenticate commands sent to the server if the config-file does not
|
authenticate commands sent to the server if the config-file does not
|
||||||
exist.
|
exist.
|
||||||
|
|
||||||
**-s** server
|
``-s server``
|
||||||
server is the name or address of the server which matches a server
|
``server`` is the name or address of the server which matches a server
|
||||||
statement in the configuration file for ``rndc``. If no server is
|
statement in the configuration file for ``rndc``. If no server is
|
||||||
supplied on the command line, the host named by the default-server
|
supplied on the command line, the host named by the default-server
|
||||||
clause in the options statement of the ``rndc`` configuration file
|
clause in the options statement of the ``rndc`` configuration file
|
||||||
will be used.
|
is used.
|
||||||
|
|
||||||
**-p** port
|
``-p port``
|
||||||
Send commands to TCP port port instead of BIND 9's default control
|
This option instructs BIND 9 to send commands to TCP port ``port`` instead of its default control
|
||||||
channel port, 953.
|
channel port, 953.
|
||||||
|
|
||||||
**-q**
|
``-q``
|
||||||
Quiet mode: Message text returned by the server will not be printed
|
This option sets quiet mode, where message text returned by the server is not printed
|
||||||
except when there is an error.
|
unless there is an error.
|
||||||
|
|
||||||
**-r**
|
``-r``
|
||||||
Instructs ``rndc`` to print the result code returned by ``named``
|
This option instructs ``rndc`` to print the result code returned by ``named``
|
||||||
after executing the requested command (e.g., ISC_R_SUCCESS,
|
after executing the requested command (e.g., ISC_R_SUCCESS,
|
||||||
ISC_R_FAILURE, etc).
|
ISC_R_FAILURE, etc.).
|
||||||
|
|
||||||
**-V**
|
``-V``
|
||||||
Enable verbose logging.
|
This option enables verbose logging.
|
||||||
|
|
||||||
**-y** key_id
|
``-y key_id``
|
||||||
Use the key key_id from the configuration file. key_id must be known
|
This option indicates use of the key ``key_id`` from the configuration file. For control message validation to succeed, ``key_id`` must be known
|
||||||
by ``named`` with the same algorithm and secret string in order for
|
by ``named`` with the same algorithm and secret string. If no ``key_id`` is specified,
|
||||||
control message validation to succeed. If no key_id is specified,
|
``rndc`` first looks for a key clause in the server statement of
|
||||||
``rndc`` will first look for a key clause in the server statement of
|
|
||||||
the server being used, or if no server statement is present for that
|
the server being used, or if no server statement is present for that
|
||||||
host, then the default-key clause of the options statement. Note that
|
host, then in the default-key clause of the options statement. Note that
|
||||||
the configuration file contains shared secrets which are used to send
|
the configuration file contains shared secrets which are used to send
|
||||||
authenticated control commands to name servers. It should therefore
|
authenticated control commands to name servers, and should therefore
|
||||||
not have general read or write access.
|
not have general read or write access.
|
||||||
|
|
||||||
Commands
|
Commands
|
||||||
@@ -120,121 +119,125 @@ without arguments.
|
|||||||
Currently supported commands are:
|
Currently supported commands are:
|
||||||
|
|
||||||
``addzone`` *zone* [*class* [*view*]] *configuration*
|
``addzone`` *zone* [*class* [*view*]] *configuration*
|
||||||
Add a zone while the server is running. This command requires the
|
This command adds a zone while the server is running. This command requires the
|
||||||
``allow-new-zones`` option to be set to ``yes``. The configuration
|
``allow-new-zones`` option to be set to ``yes``. The configuration
|
||||||
string specified on the command line is the zone configuration text
|
string specified on the command line is the zone configuration text
|
||||||
that would ordinarily be placed in :manpage:`named.conf(5)`.
|
that would ordinarily be placed in ``named.conf``.
|
||||||
|
|
||||||
The configuration is saved in a file called ``viewname.nzf`` (or, if
|
The configuration is saved in a file called ``viewname.nzf`` (or, if
|
||||||
:manpage:`named(8)` is compiled with liblmdb, an LMDB database file called
|
``named`` is compiled with liblmdb, an LMDB database file called
|
||||||
``viewname.nzd``). viewname is the name of the view, unless the view
|
``viewname.nzd``). ``viewname`` is the name of the view, unless the view
|
||||||
name contains characters that are incompatible with use as a file
|
name contains characters that are incompatible with use as a file
|
||||||
name, in which case a cryptographic hash of the view name is used
|
name, in which case a cryptographic hash of the view name is used
|
||||||
instead. When :manpage:`named(8)` is restarted, the file will be loaded into
|
instead. When ``named`` is restarted, the file is loaded into
|
||||||
the view configuration, so that zones that were added can persist
|
the view configuration so that zones that were added can persist
|
||||||
after a restart.
|
after a restart.
|
||||||
|
|
||||||
This sample ``addzone`` command would add the zone ``example.com`` to
|
This sample ``addzone`` command adds the zone ``example.com`` to
|
||||||
the default view:
|
the default view:
|
||||||
|
|
||||||
``$``\ ``rndc addzone example.com '{ type master; file "example.com.db"; };'``
|
``$ \ rndc addzone example.com '{ type master; file "example.com.db"; };'``
|
||||||
|
|
||||||
(Note the brackets and semi-colon around the zone configuration
|
(Note the brackets around and semi-colon after the zone configuration
|
||||||
text.)
|
text.)
|
||||||
|
|
||||||
See also ``rndc delzone`` and ``rndc modzone``.
|
See also ``rndc delzone`` and ``rndc modzone``.
|
||||||
|
|
||||||
``delzone`` [**-clean**] *zone* [*class* [*view*]]
|
``delzone`` [**-clean**] *zone* [*class* [*view*]]
|
||||||
Delete a zone while the server is running.
|
This command deletes a zone while the server is running.
|
||||||
|
|
||||||
If the ``-clean`` argument is specified, the zone's master file (and
|
If the ``-clean`` argument is specified, the zone's master file (and
|
||||||
journal file, if any) will be deleted along with the zone. Without
|
journal file, if any) are deleted along with the zone. Without
|
||||||
the ``-clean`` option, zone files must be cleaned up by hand. (If the
|
the ``-clean`` option, zone files must be deleted manually. (If the
|
||||||
zone is of type "slave" or "stub", the files needing to be cleaned up
|
zone is of type ``secondary`` or ``stub``, the files needing to be removed
|
||||||
will be reported in the output of the ``rndc delzone`` command.)
|
are reported in the output of the ``rndc delzone`` command.)
|
||||||
|
|
||||||
If the zone was originally added via ``rndc addzone``, then it will
|
If the zone was originally added via ``rndc addzone``, then it is
|
||||||
be removed permanently. However, if it was originally configured in
|
removed permanently. However, if it was originally configured in
|
||||||
``named.conf``, then that original configuration is still in place;
|
``named.conf``, then that original configuration remains in place;
|
||||||
when the server is restarted or reconfigured, the zone will come
|
when the server is restarted or reconfigured, the zone is
|
||||||
back. To remove it permanently, it must also be removed from
|
recreated. To remove it permanently, it must also be removed from
|
||||||
``named.conf``
|
``named.conf``.
|
||||||
|
|
||||||
See also ``rndc addzone`` and ``rndc modzone``.
|
See also ``rndc addzone`` and ``rndc modzone``.
|
||||||
|
|
||||||
|
``dnssec`` [**-status** *zone* [*class* [*view*]]
|
||||||
|
Show the DNSSEC signing state for the specified zone. Requires the
|
||||||
|
zone to have a "dnssec-policy".
|
||||||
|
|
||||||
``dnstap`` ( **-reopen** | **-roll** [*number*] )
|
``dnstap`` ( **-reopen** | **-roll** [*number*] )
|
||||||
Close and re-open DNSTAP output files. ``rndc dnstap -reopen`` allows
|
This command closes and re-opens DNSTAP output files. ``rndc dnstap -reopen`` allows
|
||||||
the output file to be renamed externally, so that :manpage:`named(8)` can
|
the output file to be renamed externally, so that ``named`` can
|
||||||
truncate and re-open it. ``rndc dnstap -roll`` causes the output file
|
truncate and re-open it. ``rndc dnstap -roll`` causes the output file
|
||||||
to be rolled automatically, similar to log files; the most recent
|
to be rolled automatically, similar to log files. The most recent
|
||||||
output file has ".0" appended to its name; the previous most recent
|
output file has ".0" appended to its name; the previous most recent
|
||||||
output file is moved to ".1", and so on. If number is specified, then
|
output file is moved to ".1", and so on. If ``number`` is specified, then
|
||||||
the number of backup log files is limited to that number.
|
the number of backup log files is limited to that number.
|
||||||
|
|
||||||
``dumpdb`` [**-all** | **-cache** | **-zones** | **-adb** | **-bad** | **-fail**] [*view ...*]
|
``dumpdb`` [**-all** | **-cache** | **-zones** | **-adb** | **-bad** | **-fail**] [*view ...*]
|
||||||
Dump the server's caches (default) and/or zones to the dump file for
|
This command dumps the server's caches (default) and/or zones to the dump file for
|
||||||
the specified views. If no view is specified, all views are dumped.
|
the specified views. If no view is specified, all views are dumped.
|
||||||
(See the ``dump-file`` option in the BIND 9 Administrator Reference
|
(See the ``dump-file`` option in the BIND 9 Administrator Reference
|
||||||
Manual.)
|
Manual.)
|
||||||
|
|
||||||
``flush``
|
``flush``
|
||||||
Flushes the server's cache.
|
This command flushes the server's cache.
|
||||||
|
|
||||||
``flushname`` *name* [*view*]
|
``flushname`` *name* [*view*]
|
||||||
Flushes the given name from the view's DNS cache and, if applicable,
|
This command flushes the given name from the view's DNS cache and, if applicable,
|
||||||
from the view's nameserver address database, bad server cache and
|
from the view's nameserver address database, bad server cache, and
|
||||||
SERVFAIL cache.
|
SERVFAIL cache.
|
||||||
|
|
||||||
``flushtree`` *name* [*view*]
|
``flushtree`` *name* [*view*]
|
||||||
Flushes the given name, and all of its subdomains, from the view's
|
This command flushes the given name, and all of its subdomains, from the view's
|
||||||
DNS cache, address database, bad server cache, and SERVFAIL cache.
|
DNS cache, address database, bad server cache, and SERVFAIL cache.
|
||||||
|
|
||||||
``freeze`` [*zone* [*class* [*view*]]]
|
``freeze`` [*zone* [*class* [*view*]]]
|
||||||
Suspend updates to a dynamic zone. If no zone is specified, then all
|
This command suspends updates to a dynamic zone. If no zone is specified, then all
|
||||||
zones are suspended. This allows manual edits to be made to a zone
|
zones are suspended. This allows manual edits to be made to a zone
|
||||||
normally updated by dynamic update. It also causes changes in the
|
normally updated by dynamic update, and causes changes in the
|
||||||
journal file to be synced into the master file. All dynamic update
|
journal file to be synced into the master file. All dynamic update
|
||||||
attempts will be refused while the zone is frozen.
|
attempts are refused while the zone is frozen.
|
||||||
|
|
||||||
See also ``rndc thaw``.
|
See also ``rndc thaw``.
|
||||||
|
|
||||||
``halt`` [**-p**]
|
``halt`` [**-p**]
|
||||||
Stop the server immediately. Recent changes made through dynamic
|
This command stops the server immediately. Recent changes made through dynamic
|
||||||
update or IXFR are not saved to the master files, but will be rolled
|
update or IXFR are not saved to the master files, but are rolled
|
||||||
forward from the journal files when the server is restarted. If
|
forward from the journal files when the server is restarted. If
|
||||||
``-p`` is specified :manpage:`named(8)`'s process id is returned. This allows
|
``-p`` is specified, ``named``'s process ID is returned. This allows
|
||||||
an external process to determine when :manpage:`named(8)` had completed
|
an external process to determine when ``named`` has completed
|
||||||
halting.
|
halting.
|
||||||
|
|
||||||
See also ``rndc stop``.
|
See also ``rndc stop``.
|
||||||
|
|
||||||
``loadkeys`` [*zone* [*class* [*view*]]]
|
``loadkeys`` [*zone* [*class* [*view*]]]
|
||||||
Fetch all DNSSEC keys for the given zone from the key directory. If
|
This command fetches all DNSSEC keys for the given zone from the key directory. If
|
||||||
they are within their publication period, merge them into the
|
they are within their publication period, they are merged into the
|
||||||
zone's DNSKEY RRset. Unlike ``rndc sign``, however, the zone is not
|
zone's DNSKEY RRset. Unlike ``rndc sign``, however, the zone is not
|
||||||
immediately re-signed by the new keys, but is allowed to
|
immediately re-signed by the new keys, but is allowed to
|
||||||
incrementally re-sign over time.
|
incrementally re-sign over time.
|
||||||
|
|
||||||
This command requires that zone is configured with a ``dnssec-policy``, or
|
This command requires that the zone be configured with a ``dnssec-policy``, or
|
||||||
the ``auto-dnssec`` zone option be set to ``maintain``, and also requires the
|
that the ``auto-dnssec`` zone option be set to ``maintain``, and also requires the
|
||||||
zone to be configured to allow dynamic DNS. (See "Dynamic Update Policies" in
|
zone to be configured to allow dynamic DNS. (See "Dynamic Update Policies" in
|
||||||
the Administrator Reference Manual for more details.)
|
the Administrator Reference Manual for more details.)
|
||||||
|
|
||||||
``managed-keys`` (*status* | *refresh* | *sync* | *destroy*) [*class* [*view*]]
|
``managed-keys`` (*status* | *refresh* | *sync* | *destroy*) [*class* [*view*]]
|
||||||
Inspect and control the "managed-keys" database which handles
|
This command inspects and controls the "managed-keys" database which handles
|
||||||
:rfc:`5011` DNSSEC trust anchor maintenance. If a view is specified, these
|
:rfc:`5011` DNSSEC trust anchor maintenance. If a view is specified, these
|
||||||
commands are applied to that view; otherwise they are applied to all
|
commands are applied to that view; otherwise, they are applied to all
|
||||||
views.
|
views.
|
||||||
|
|
||||||
- When run with the ``status`` keyword, prints the current status of
|
- When run with the ``status`` keyword, this prints the current status of
|
||||||
the managed-keys database.
|
the managed-keys database.
|
||||||
|
|
||||||
- When run with the ``refresh`` keyword, forces an immediate refresh
|
- When run with the ``refresh`` keyword, this forces an immediate refresh
|
||||||
query to be sent for all the managed keys, updating the
|
query to be sent for all the managed keys, updating the
|
||||||
managed-keys database if any new keys are found, without waiting
|
managed-keys database if any new keys are found, without waiting
|
||||||
the normal refresh interval.
|
the normal refresh interval.
|
||||||
|
|
||||||
- When run with the ``sync`` keyword, forces an immediate dump of
|
- When run with the ``sync`` keyword, this forces an immediate dump of
|
||||||
the managed-keys database to disk (in the file
|
the managed-keys database to disk (in the file
|
||||||
``managed-keys.bind`` or (``viewname.mkeys``). This synchronizes
|
``managed-keys.bind`` or (``viewname.mkeys``). This synchronizes
|
||||||
the database with its journal file, so that the database's current
|
the database with its journal file, so that the database's current
|
||||||
@@ -246,12 +249,12 @@ Currently supported commands are:
|
|||||||
|
|
||||||
Existing keys that are already trusted are not deleted from
|
Existing keys that are already trusted are not deleted from
|
||||||
memory; DNSSEC validation can continue after this command is used.
|
memory; DNSSEC validation can continue after this command is used.
|
||||||
However, key maintenance operations will cease until :manpage:`named(8)` is
|
However, key maintenance operations cease until ``named`` is
|
||||||
restarted or reconfigured, and all existing key maintenance state
|
restarted or reconfigured, and all existing key maintenance states
|
||||||
will be deleted.
|
are deleted.
|
||||||
|
|
||||||
Running ``rndc reconfig`` or restarting :manpage:`named(8)` immediately
|
Running ``rndc reconfig`` or restarting ``named`` immediately
|
||||||
after this command will cause key maintenance to be reinitialized
|
after this command causes key maintenance to be reinitialized
|
||||||
from scratch, just as if the server were being started for the
|
from scratch, just as if the server were being started for the
|
||||||
first time. This is primarily intended for testing, but it may
|
first time. This is primarily intended for testing, but it may
|
||||||
also be used, for example, to jumpstart the acquisition of new
|
also be used, for example, to jumpstart the acquisition of new
|
||||||
@@ -259,33 +262,33 @@ Currently supported commands are:
|
|||||||
repair for key maintenance problems.
|
repair for key maintenance problems.
|
||||||
|
|
||||||
``modzone`` *zone* [*class* [*view*]] *configuration*
|
``modzone`` *zone* [*class* [*view*]] *configuration*
|
||||||
Modify the configuration of a zone while the server is running. This
|
This command modifies the configuration of a zone while the server is running. This
|
||||||
command requires the ``allow-new-zones`` option to be set to ``yes``.
|
command requires the ``allow-new-zones`` option to be set to ``yes``.
|
||||||
As with ``addzone``, the configuration string specified on the
|
As with ``addzone``, the configuration string specified on the
|
||||||
command line is the zone configuration text that would ordinarily be
|
command line is the zone configuration text that would ordinarily be
|
||||||
placed in ``named.conf``.
|
placed in ``named.conf``.
|
||||||
|
|
||||||
If the zone was originally added via ``rndc addzone``, the
|
If the zone was originally added via ``rndc addzone``, the
|
||||||
configuration changes will be recorded permanently and will still be
|
configuration changes are recorded permanently and are still
|
||||||
in effect after the server is restarted or reconfigured. However, if
|
in effect after the server is restarted or reconfigured. However, if
|
||||||
it was originally configured in ``named.conf``, then that original
|
it was originally configured in ``named.conf``, then that original
|
||||||
configuration is still in place; when the server is restarted or
|
configuration remains in place; when the server is restarted or
|
||||||
reconfigured, the zone will revert to its original configuration. To
|
reconfigured, the zone reverts to its original configuration. To
|
||||||
make the changes permanent, it must also be modified in
|
make the changes permanent, it must also be modified in
|
||||||
``named.conf``
|
``named.conf``.
|
||||||
|
|
||||||
See also ``rndc addzone`` and ``rndc delzone``.
|
See also ``rndc addzone`` and ``rndc delzone``.
|
||||||
|
|
||||||
``notify`` *zone* [*class* [*view*]]
|
``notify`` *zone* [*class* [*view*]]
|
||||||
Resend NOTIFY messages for the zone.
|
This command resends NOTIFY messages for the zone.
|
||||||
|
|
||||||
``notrace``
|
``notrace``
|
||||||
Sets the server's debugging level to 0.
|
This command sets the server's debugging level to 0.
|
||||||
|
|
||||||
See also ``rndc trace``.
|
See also ``rndc trace``.
|
||||||
|
|
||||||
``nta`` [( **-class** *class* | **-dump** | **-force** | **-remove** | **-lifetime** *duration*)] *domain* [*view*]
|
``nta`` [( **-class** *class* | **-dump** | **-force** | **-remove** | **-lifetime** *duration*)] *domain* [*view*]
|
||||||
Sets a DNSSEC negative trust anchor (NTA) for ``domain``, with a
|
This command sets a DNSSEC negative trust anchor (NTA) for ``domain``, with a
|
||||||
lifetime of ``duration``. The default lifetime is configured in
|
lifetime of ``duration``. The default lifetime is configured in
|
||||||
``named.conf`` via the ``nta-lifetime`` option, and defaults to one
|
``named.conf`` via the ``nta-lifetime`` option, and defaults to one
|
||||||
hour. The lifetime cannot exceed one week.
|
hour. The lifetime cannot exceed one week.
|
||||||
@@ -293,15 +296,15 @@ Currently supported commands are:
|
|||||||
A negative trust anchor selectively disables DNSSEC validation for
|
A negative trust anchor selectively disables DNSSEC validation for
|
||||||
zones that are known to be failing because of misconfiguration rather
|
zones that are known to be failing because of misconfiguration rather
|
||||||
than an attack. When data to be validated is at or below an active
|
than an attack. When data to be validated is at or below an active
|
||||||
NTA (and above any other configured trust anchors), :manpage:`named(8)` will
|
NTA (and above any other configured trust anchors), ``named``
|
||||||
abort the DNSSEC validation process and treat the data as insecure
|
aborts the DNSSEC validation process and treats the data as insecure
|
||||||
rather than bogus. This continues until the NTA's lifetime is
|
rather than bogus. This continues until the NTA's lifetime has
|
||||||
elapsed.
|
elapsed.
|
||||||
|
|
||||||
NTAs persist across restarts of the :manpage:`named(8)` server. The NTAs for a
|
NTAs persist across restarts of the ``named`` server. The NTAs for a
|
||||||
view are saved in a file called ``name.nta``, where name is the name
|
view are saved in a file called ``name.nta``, where ``name`` is the name
|
||||||
of the view, or if it contains characters that are incompatible with
|
of the view; if it contains characters that are incompatible with
|
||||||
use as a file name, a cryptographic hash generated from the name of
|
use as a file name, a cryptographic hash is generated from the name of
|
||||||
the view.
|
the view.
|
||||||
|
|
||||||
An existing NTA can be removed by using the ``-remove`` option.
|
An existing NTA can be removed by using the ``-remove`` option.
|
||||||
@@ -309,18 +312,18 @@ Currently supported commands are:
|
|||||||
An NTA's lifetime can be specified with the ``-lifetime`` option.
|
An NTA's lifetime can be specified with the ``-lifetime`` option.
|
||||||
TTL-style suffixes can be used to specify the lifetime in seconds,
|
TTL-style suffixes can be used to specify the lifetime in seconds,
|
||||||
minutes, or hours. If the specified NTA already exists, its lifetime
|
minutes, or hours. If the specified NTA already exists, its lifetime
|
||||||
will be updated to the new value. Setting ``lifetime`` to zero is
|
is updated to the new value. Setting ``lifetime`` to zero is
|
||||||
equivalent to ``-remove``.
|
equivalent to ``-remove``.
|
||||||
|
|
||||||
If the ``-dump`` is used, any other arguments are ignored, and a list
|
If ``-dump`` is used, any other arguments are ignored and a list
|
||||||
of existing NTAs is printed (note that this may include NTAs that are
|
of existing NTAs is printed. Note that this may include NTAs that are
|
||||||
expired but have not yet been cleaned up).
|
expired but have not yet been cleaned up.
|
||||||
|
|
||||||
Normally, :manpage:`named(8)` will periodically test to see whether data below
|
Normally, ``named`` periodically tests to see whether data below
|
||||||
an NTA can now be validated (see the ``nta-recheck`` option in the
|
an NTA can now be validated (see the ``nta-recheck`` option in the
|
||||||
Administrator Reference Manual for details). If data can be
|
Administrator Reference Manual for details). If data can be
|
||||||
validated, then the NTA is regarded as no longer necessary, and will
|
validated, then the NTA is regarded as no longer necessary and is
|
||||||
be allowed to expire early. The ``-force`` overrides this behavior
|
allowed to expire early. The ``-force`` parameter overrides this behavior
|
||||||
and forces an NTA to persist for its entire lifetime, regardless of
|
and forces an NTA to persist for its entire lifetime, regardless of
|
||||||
whether data could be validated if the NTA were not present.
|
whether data could be validated if the NTA were not present.
|
||||||
|
|
||||||
@@ -331,65 +334,65 @@ Currently supported commands are:
|
|||||||
All of these options can be shortened, i.e., to ``-l``, ``-r``,
|
All of these options can be shortened, i.e., to ``-l``, ``-r``,
|
||||||
``-d``, ``-f``, and ``-c``.
|
``-d``, ``-f``, and ``-c``.
|
||||||
|
|
||||||
Unrecognized options are treated as errors. To reference a domain or
|
Unrecognized options are treated as errors. To refer to a domain or
|
||||||
view name that begins with a hyphen, use a double-hyphen on the
|
view name that begins with a hyphen, use a double-hyphen (--) on the
|
||||||
command line to indicate the end of options.
|
command line to indicate the end of options.
|
||||||
|
|
||||||
``querylog`` [(*on* | *off*)]
|
``querylog`` [(*on* | *off*)]
|
||||||
Enable or disable query logging. (For backward compatibility, this
|
This command enables or disables query logging. For backward compatibility, this
|
||||||
command can also be used without an argument to toggle query logging
|
command can also be used without an argument to toggle query logging
|
||||||
on and off.)
|
on and off.
|
||||||
|
|
||||||
Query logging can also be enabled by explicitly directing the
|
Query logging can also be enabled by explicitly directing the
|
||||||
``queries`` ``category`` to a ``channel`` in the ``logging`` section
|
``queries`` ``category`` to a ``channel`` in the ``logging`` section
|
||||||
of ``named.conf`` or by specifying ``querylog yes;`` in the
|
of ``named.conf``, or by specifying ``querylog yes;`` in the
|
||||||
``options`` section of ``named.conf``.
|
``options`` section of ``named.conf``.
|
||||||
|
|
||||||
``reconfig``
|
``reconfig``
|
||||||
Reload the configuration file and load new zones, but do not reload
|
This command reloads the configuration file and loads new zones, but does not reload
|
||||||
existing zone files even if they have changed. This is faster than a
|
existing zone files even if they have changed. This is faster than a
|
||||||
full ``reload`` when there is a large number of zones because it
|
full ``reload`` when there is a large number of zones, because it
|
||||||
avoids the need to examine the modification times of the zones files.
|
avoids the need to examine the modification times of the zone files.
|
||||||
|
|
||||||
``recursing``
|
``recursing``
|
||||||
Dump the list of queries :manpage:`named(8)` is currently recursing on, and the
|
This command dumps the list of queries ``named`` is currently recursing on, and the
|
||||||
list of domains to which iterative queries are currently being sent.
|
list of domains to which iterative queries are currently being sent.
|
||||||
(The second list includes the number of fetches currently active for
|
The second list includes the number of fetches currently active for
|
||||||
the given domain, and how many have been passed or dropped because of
|
the given domain, and how many have been passed or dropped because of
|
||||||
the ``fetches-per-zone`` option.)
|
the ``fetches-per-zone`` option.
|
||||||
|
|
||||||
``refresh`` *zone* [*class* [*view*]]
|
``refresh`` *zone* [*class* [*view*]]
|
||||||
Schedule zone maintenance for the given zone.
|
This command schedules zone maintenance for the given zone.
|
||||||
|
|
||||||
``reload``
|
``reload``
|
||||||
Reload configuration file and zones.
|
This command reloads the configuration file and zones.
|
||||||
|
|
||||||
``reload`` *zone* [*class* [*view*]]
|
``reload`` *zone* [*class* [*view*]]
|
||||||
Reload the given zone.
|
This command reloads the given zone.
|
||||||
|
|
||||||
``retransfer`` *zone* [*class* [*view*]]
|
``retransfer`` *zone* [*class* [*view*]]
|
||||||
Retransfer the given slave zone from the master server.
|
This command retransfers the given secondary zone from the primary server.
|
||||||
|
|
||||||
If the zone is configured to use ``inline-signing``, the signed
|
If the zone is configured to use ``inline-signing``, the signed
|
||||||
version of the zone is discarded; after the retransfer of the
|
version of the zone is discarded; after the retransfer of the
|
||||||
unsigned version is complete, the signed version will be regenerated
|
unsigned version is complete, the signed version is regenerated
|
||||||
with all new signatures.
|
with new signatures.
|
||||||
|
|
||||||
``scan``
|
``scan``
|
||||||
Scan the list of available network interfaces for changes, without
|
This command scans the list of available network interfaces for changes, without
|
||||||
performing a full ``reconfig`` or waiting for the
|
performing a full ``reconfig`` or waiting for the
|
||||||
``interface-interval`` timer.
|
``interface-interval`` timer.
|
||||||
|
|
||||||
``secroots`` [**-**] [*view* ...]
|
``secroots`` [**-**] [*view* ...]
|
||||||
Dump the security roots (i.e., trust anchors configured via
|
This command dumps the security roots (i.e., trust anchors configured via
|
||||||
``trust-anchors``, or the ``managed-keys`` or ``trusted-keys`` statements
|
``trust-anchors``, or the ``managed-keys`` or ``trusted-keys`` statements
|
||||||
(both deprecated), or ``dnssec-validation auto``) and negative trust anchors
|
[both deprecated], or ``dnssec-validation auto``) and negative trust anchors
|
||||||
for the specified views. If no view is specified, all views are
|
for the specified views. If no view is specified, all views are
|
||||||
dumped. Security roots will indicate whether they are configured as trusted
|
dumped. Security roots indicate whether they are configured as trusted
|
||||||
keys, managed keys, or initializing managed keys (managed keys that have not
|
keys, managed keys, or initializing managed keys (managed keys that have not
|
||||||
yet been updated by a successful key refresh query).
|
yet been updated by a successful key refresh query).
|
||||||
|
|
||||||
If the first argument is "-", then the output is returned via the
|
If the first argument is ``-``, then the output is returned via the
|
||||||
``rndc`` response channel and printed to the standard output.
|
``rndc`` response channel and printed to the standard output.
|
||||||
Otherwise, it is written to the secroots dump file, which defaults to
|
Otherwise, it is written to the secroots dump file, which defaults to
|
||||||
``named.secroots``, but can be overridden via the ``secroots-file``
|
``named.secroots``, but can be overridden via the ``secroots-file``
|
||||||
@@ -398,43 +401,43 @@ Currently supported commands are:
|
|||||||
See also ``rndc managed-keys``.
|
See also ``rndc managed-keys``.
|
||||||
|
|
||||||
``serve-stale`` (**on** | **off** | **reset** | **status**) [*class* [*view*]]
|
``serve-stale`` (**on** | **off** | **reset** | **status**) [*class* [*view*]]
|
||||||
Enable, disable, reset, or report the current status of the serving
|
This command enables, disables, resets, or reports the current status of the serving
|
||||||
of stale answers as configured in ``named.conf``.
|
of stale answers as configured in ``named.conf``.
|
||||||
|
|
||||||
If serving of stale answers is disabled by ``rndc-serve-stale off``,
|
If serving of stale answers is disabled by ``rndc-serve-stale off``,
|
||||||
then it will remain disabled even if :manpage:`named(8)` is reloaded or
|
then it remains disabled even if ``named`` is reloaded or
|
||||||
reconfigured. ``rndc serve-stale reset`` restores the setting as
|
reconfigured. ``rndc serve-stale reset`` restores the setting as
|
||||||
configured in ``named.conf``.
|
configured in ``named.conf``.
|
||||||
|
|
||||||
``rndc serve-stale status`` will report whether serving of stale
|
``rndc serve-stale status`` reports whether serving of stale
|
||||||
answers is currently enabled, disabled by the configuration, or
|
answers is currently enabled, disabled by the configuration, or
|
||||||
disabled by ``rndc``. It will also report the values of
|
disabled by ``rndc``. It also reports the values of
|
||||||
``stale-answer-ttl`` and ``max-stale-ttl``.
|
``stale-answer-ttl`` and ``max-stale-ttl``.
|
||||||
|
|
||||||
``showzone`` *zone* [*class* [*view*]]
|
``showzone`` *zone* [*class* [*view*]]
|
||||||
Print the configuration of a running zone.
|
This command prints the configuration of a running zone.
|
||||||
|
|
||||||
See also ``rndc zonestatus``.
|
See also ``rndc zonestatus``.
|
||||||
|
|
||||||
``sign`` *zone* [*class* [*view*]]
|
``sign`` *zone* [*class* [*view*]]
|
||||||
Fetch all DNSSEC keys for the given zone from the key directory (see
|
This command fetches all DNSSEC keys for the given zone from the key directory (see
|
||||||
the ``key-directory`` option in the BIND 9 Administrator Reference
|
the ``key-directory`` option in the BIND 9 Administrator Reference
|
||||||
Manual). If they are within their publication period, merge them into
|
Manual). If they are within their publication period, they are merged into
|
||||||
the zone's DNSKEY RRset. If the DNSKEY RRset is changed, then the
|
the zone's DNSKEY RRset. If the DNSKEY RRset is changed, then the
|
||||||
zone is automatically re-signed with the new key set.
|
zone is automatically re-signed with the new key set.
|
||||||
|
|
||||||
This command requires that the zone is configure with a ``dnssec-policy``, or
|
This command requires that the zone be configured with a ``dnssec-policy``, or
|
||||||
that the ``auto-dnssec`` zone option be set to ``allow`` or ``maintain``,
|
that the ``auto-dnssec`` zone option be set to ``allow`` or ``maintain``,
|
||||||
and also requires the zone to be configured to allow dynamic DNS. (See
|
and also requires the zone to be configured to allow dynamic DNS. (See
|
||||||
"Dynamic Update Policies" in the Administrator Reference Manual for more
|
"Dynamic Update Policies" in the BIND 9 Administrator Reference Manual for more
|
||||||
details.)
|
details.)
|
||||||
|
|
||||||
See also ``rndc loadkeys``.
|
See also ``rndc loadkeys``.
|
||||||
|
|
||||||
``signing`` [(**-list** | **-clear** *keyid/algorithm* | **-clear** *all* | **-nsec3param** ( *parameters* | none ) | **-serial** *value* ) *zone* [*class* [*view*]]
|
``signing`` [(**-list** | **-clear** *keyid/algorithm* | **-clear** *all* | **-nsec3param** ( *parameters* | none ) | **-serial** *value* ) *zone* [*class* [*view*]]
|
||||||
List, edit, or remove the DNSSEC signing state records for the
|
This command lists, edits, or removes the DNSSEC signing-state records for the
|
||||||
specified zone. The status of ongoing DNSSEC operations (such as
|
specified zone. The status of ongoing DNSSEC operations, such as
|
||||||
signing or generating NSEC3 chains) is stored in the zone in the form
|
signing or generating NSEC3 chains, is stored in the zone in the form
|
||||||
of DNS resource records of type ``sig-signing-type``.
|
of DNS resource records of type ``sig-signing-type``.
|
||||||
``rndc signing -list`` converts these records into a human-readable
|
``rndc signing -list`` converts these records into a human-readable
|
||||||
form, indicating which keys are currently signing or have finished
|
form, indicating which keys are currently signing or have finished
|
||||||
@@ -444,22 +447,22 @@ Currently supported commands are:
|
|||||||
``rndc signing -clear`` can remove a single key (specified in the
|
``rndc signing -clear`` can remove a single key (specified in the
|
||||||
same format that ``rndc signing -list`` uses to display it), or all
|
same format that ``rndc signing -list`` uses to display it), or all
|
||||||
keys. In either case, only completed keys are removed; any record
|
keys. In either case, only completed keys are removed; any record
|
||||||
indicating that a key has not yet finished signing the zone will be
|
indicating that a key has not yet finished signing the zone is
|
||||||
retained.
|
retained.
|
||||||
|
|
||||||
``rndc signing -nsec3param`` sets the NSEC3 parameters for a zone.
|
``rndc signing -nsec3param`` sets the NSEC3 parameters for a zone.
|
||||||
This is the only supported mechanism for using NSEC3 with
|
This is the only supported mechanism for using NSEC3 with
|
||||||
``inline-signing`` zones. Parameters are specified in the same format
|
``inline-signing`` zones. Parameters are specified in the same format
|
||||||
as an NSEC3PARAM resource record: hash algorithm, flags, iterations,
|
as an NSEC3PARAM resource record: ``hash algorithm``, ``flags``, ``iterations``,
|
||||||
and salt, in that order.
|
and ``salt``, in that order.
|
||||||
|
|
||||||
Currently, the only defined value for hash algorithm is ``1``,
|
Currently, the only defined value for ``hash algorithm`` is ``1``,
|
||||||
representing SHA-1. The ``flags`` may be set to ``0`` or ``1``,
|
representing SHA-1. The ``flags`` may be set to ``0`` or ``1``,
|
||||||
depending on whether you wish to set the opt-out bit in the NSEC3
|
depending on whether the opt-out bit in the NSEC3
|
||||||
chain. ``iterations`` defines the number of additional times to apply
|
chain should be set. ``iterations`` defines the number of additional times to apply
|
||||||
the algorithm when generating an NSEC3 hash. The ``salt`` is a string
|
the algorithm when generating an NSEC3 hash. The ``salt`` is a string
|
||||||
of data expressed in hexadecimal, a hyphen (`-') if no salt is to be
|
of data expressed in hexadecimal, a hyphen (`-') if no salt is to be
|
||||||
used, or the keyword ``auto``, which causes :manpage:`named(8)` to generate a
|
used, or the keyword ``auto``, which causes ``named`` to generate a
|
||||||
random 64-bit salt.
|
random 64-bit salt.
|
||||||
|
|
||||||
So, for example, to create an NSEC3 chain using the SHA-1 hash
|
So, for example, to create an NSEC3 chain using the SHA-1 hash
|
||||||
@@ -472,81 +475,81 @@ Currently supported commands are:
|
|||||||
replaces it with NSEC.
|
replaces it with NSEC.
|
||||||
|
|
||||||
``rndc signing -serial value`` sets the serial number of the zone to
|
``rndc signing -serial value`` sets the serial number of the zone to
|
||||||
value. If the value would cause the serial number to go backwards it
|
``value``. If the value would cause the serial number to go backwards, it
|
||||||
will be rejected. The primary use is to set the serial on inline
|
is rejected. The primary use of this parameter is to set the serial number on inline
|
||||||
signed zones.
|
signed zones.
|
||||||
|
|
||||||
``stats``
|
``stats``
|
||||||
Write server statistics to the statistics file. (See the
|
This command writes server statistics to the statistics file. (See the
|
||||||
``statistics-file`` option in the BIND 9 Administrator Reference
|
``statistics-file`` option in the BIND 9 Administrator Reference
|
||||||
Manual.)
|
Manual.)
|
||||||
|
|
||||||
``status``
|
``status``
|
||||||
Display status of the server. Note that the number of zones includes
|
This command displays the status of the server. Note that the number of zones includes
|
||||||
the internal ``bind/CH`` zone and the default ``./IN`` hint zone if
|
the internal ``bind/CH`` zone and the default ``./IN`` hint zone, if
|
||||||
there is not an explicit root zone configured.
|
there is no explicit root zone configured.
|
||||||
|
|
||||||
``stop`` **-p**
|
``stop`` **-p**
|
||||||
Stop the server, making sure any recent changes made through dynamic
|
This command stops the server, making sure any recent changes made through dynamic
|
||||||
update or IXFR are first saved to the master files of the updated
|
update or IXFR are first saved to the master files of the updated
|
||||||
zones. If ``-p`` is specified :manpage:`named(8)`'s process id is returned.
|
zones. If ``-p`` is specified, ``named(8)`'s process ID is returned.
|
||||||
This allows an external process to determine when :manpage:`named(8)` had
|
This allows an external process to determine when ``named`` has
|
||||||
completed stopping.
|
completed stopping.
|
||||||
|
|
||||||
See also ``rndc halt``.
|
See also ``rndc halt``.
|
||||||
|
|
||||||
``sync`` **-clean** [*zone* [*class* [*view*]]]
|
``sync`` **-clean** [*zone* [*class* [*view*]]]
|
||||||
Sync changes in the journal file for a dynamic zone to the master
|
This command syncs changes in the journal file for a dynamic zone to the master
|
||||||
file. If the "-clean" option is specified, the journal file is also
|
file. If the "-clean" option is specified, the journal file is also
|
||||||
removed. If no zone is specified, then all zones are synced.
|
removed. If no zone is specified, then all zones are synced.
|
||||||
|
|
||||||
``tcp-timeouts`` [*initial* *idle* *keepalive* *advertised*]
|
``tcp-timeouts`` [*initial* *idle* *keepalive* *advertised*]
|
||||||
When called without arguments, display the current values of the
|
When called without arguments, this command displays the current values of the
|
||||||
``tcp-initial-timeout``, ``tcp-idle-timeout``,
|
``tcp-initial-timeout``, ``tcp-idle-timeout``,
|
||||||
``tcp-keepalive-timeout`` and ``tcp-advertised-timeout`` options.
|
``tcp-keepalive-timeout``, and ``tcp-advertised-timeout`` options.
|
||||||
When called with arguments, update these values. This allows an
|
When called with arguments, these values are updated. This allows an
|
||||||
administrator to make rapid adjustments when under a denial of
|
administrator to make rapid adjustments when under a
|
||||||
service attack. See the descriptions of these options in the BIND 9
|
denial-of-service (DoS) attack. See the descriptions of these options in the BIND 9
|
||||||
Administrator Reference Manual for details of their use.
|
Administrator Reference Manual for details of their use.
|
||||||
|
|
||||||
``thaw`` [*zone* [*class* [*view*]]]
|
``thaw`` [*zone* [*class* [*view*]]]
|
||||||
Enable updates to a frozen dynamic zone. If no zone is specified,
|
This command enables updates to a frozen dynamic zone. If no zone is specified,
|
||||||
then all frozen zones are enabled. This causes the server to reload
|
then all frozen zones are enabled. This causes the server to reload
|
||||||
the zone from disk, and re-enables dynamic updates after the load has
|
the zone from disk, and re-enables dynamic updates after the load has
|
||||||
completed. After a zone is thawed, dynamic updates will no longer be
|
completed. After a zone is thawed, dynamic updates are no longer
|
||||||
refused. If the zone has changed and the ``ixfr-from-differences``
|
refused. If the zone has changed and the ``ixfr-from-differences``
|
||||||
option is in use, then the journal file will be updated to reflect
|
option is in use, the journal file is updated to reflect
|
||||||
changes in the zone. Otherwise, if the zone has changed, any existing
|
changes in the zone. Otherwise, if the zone has changed, any existing
|
||||||
journal file will be removed.
|
journal file is removed.
|
||||||
|
|
||||||
See also ``rndc freeze``.
|
See also ``rndc freeze``.
|
||||||
|
|
||||||
``trace``
|
``trace``
|
||||||
Increment the servers debugging level by one.
|
This command increments the server's debugging level by one.
|
||||||
|
|
||||||
``trace`` *level*
|
``trace`` *level*
|
||||||
Sets the server's debugging level to an explicit value.
|
This command sets the server's debugging level to an explicit value.
|
||||||
|
|
||||||
See also ``rndc notrace``.
|
See also ``rndc notrace``.
|
||||||
|
|
||||||
``tsig-delete`` *keyname* [*view*]
|
``tsig-delete`` *keyname* [*view*]
|
||||||
Delete a given TKEY-negotiated key from the server. (This does not
|
This command deletes a given TKEY-negotiated key from the server. This does not
|
||||||
apply to statically configured TSIG keys.)
|
apply to statically configured TSIG keys.
|
||||||
|
|
||||||
``tsig-list``
|
``tsig-list``
|
||||||
List the names of all TSIG keys currently configured for use by
|
This command lists the names of all TSIG keys currently configured for use by
|
||||||
:manpage:`named(8)` in each view. The list both statically configured keys and
|
``named`` in each view. The list includes both statically configured keys and
|
||||||
dynamic TKEY-negotiated keys.
|
dynamic TKEY-negotiated keys.
|
||||||
|
|
||||||
``validation`` (**on** | **off** | **status**) [*view* ...]``
|
``validation`` (**on** | **off** | **status**) [*view* ...]``
|
||||||
Enable, disable, or check the current status of DNSSEC validation. By
|
This command enables, disables, or checks the current status of DNSSEC validation. By
|
||||||
default, validation is enabled.
|
default, validation is enabled.
|
||||||
|
|
||||||
The cache is flushed when validation is turned on or off to avoid using data
|
The cache is flushed when validation is turned on or off to avoid using data
|
||||||
that might differ between states.
|
that might differ between states.
|
||||||
|
|
||||||
``zonestatus`` *zone* [*class* [*view*]]
|
``zonestatus`` *zone* [*class* [*view*]]
|
||||||
Displays the current status of the given zone, including the master
|
This command displays the current status of the given zone, including the master
|
||||||
file name and any include files from which it was loaded, when it was
|
file name and any include files from which it was loaded, when it was
|
||||||
most recently loaded, the current serial number, the number of nodes,
|
most recently loaded, the current serial number, the number of nodes,
|
||||||
whether the zone supports dynamic updates, whether the zone is DNSSEC
|
whether the zone supports dynamic updates, whether the zone is DNSSEC
|
||||||
@@ -556,9 +559,9 @@ Currently supported commands are:
|
|||||||
See also ``rndc showzone``.
|
See also ``rndc showzone``.
|
||||||
|
|
||||||
``rndc`` commands that specify zone names, such as ``reload``,
|
``rndc`` commands that specify zone names, such as ``reload``,
|
||||||
``retransfer`` or ``zonestatus``, can be ambiguous when applied to zones
|
``retransfer``, or ``zonestatus``, can be ambiguous when applied to zones
|
||||||
of type ``redirect``. Redirect zones are always called ".", and can be
|
of type ``redirect``. Redirect zones are always called ``.``, and can be
|
||||||
confused with zones of type ``hint`` or with slaved copies of the root
|
confused with zones of type ``hint`` or with secondary copies of the root
|
||||||
zone. To specify a redirect zone, use the special zone name
|
zone. To specify a redirect zone, use the special zone name
|
||||||
``-redirect``, without a trailing period. (With a trailing period, this
|
``-redirect``, without a trailing period. (With a trailing period, this
|
||||||
would specify a zone called "-redirect".)
|
would specify a zone called "-redirect".)
|
||||||
|
|||||||
@@ -76,7 +76,7 @@ TESTS += \
|
|||||||
rpzrecurse
|
rpzrecurse
|
||||||
endif HAVE_PERLMOD_NET_DNS
|
endif HAVE_PERLMOD_NET_DNS
|
||||||
|
|
||||||
TESTS += \
|
TESTS += \
|
||||||
acl \
|
acl \
|
||||||
additional \
|
additional \
|
||||||
addzone \
|
addzone \
|
||||||
@@ -107,7 +107,7 @@ TESTS += \
|
|||||||
geoip2 \
|
geoip2 \
|
||||||
glue \
|
glue \
|
||||||
idna \
|
idna \
|
||||||
include-multiplecfg \
|
include-multiplecfg \
|
||||||
inline \
|
inline \
|
||||||
integrity \
|
integrity \
|
||||||
kasp \
|
kasp \
|
||||||
@@ -209,6 +209,10 @@ TESTS += chain
|
|||||||
endif HAVE_PERLMOD_NET_DNS_NAMESERVER
|
endif HAVE_PERLMOD_NET_DNS_NAMESERVER
|
||||||
endif HAVE_PERLMOD_NET_DNS
|
endif HAVE_PERLMOD_NET_DNS
|
||||||
|
|
||||||
|
if HAVE_PYTEST
|
||||||
|
TESTS += rpzextra shutdown
|
||||||
|
endif
|
||||||
|
|
||||||
endif HAVE_PYMOD_DNS
|
endif HAVE_PYMOD_DNS
|
||||||
|
|
||||||
endif HAVE_PYTHON
|
endif HAVE_PYTHON
|
||||||
@@ -217,10 +221,6 @@ if HAVE_PKCS11
|
|||||||
TESTS += pkcs11
|
TESTS += pkcs11
|
||||||
endif
|
endif
|
||||||
|
|
||||||
if HAVE_PYTEST
|
|
||||||
TESTS += rpzextra
|
|
||||||
endif
|
|
||||||
|
|
||||||
else !HAVE_PERL
|
else !HAVE_PERL
|
||||||
check:
|
check:
|
||||||
echo Perl is not available, no tests were ran
|
echo Perl is not available, no tests were ran
|
||||||
|
|||||||
@@ -48,12 +48,12 @@ zone "." {
|
|||||||
};
|
};
|
||||||
|
|
||||||
zone "example" {
|
zone "example" {
|
||||||
type master;
|
type primary;
|
||||||
file "example.db";
|
file "example.db";
|
||||||
};
|
};
|
||||||
|
|
||||||
zone "tsigzone" {
|
zone "tsigzone" {
|
||||||
type master;
|
type primary;
|
||||||
file "tsigzone.db";
|
file "tsigzone.db";
|
||||||
allow-transfer { !key one; any; };
|
allow-transfer { !key one; any; };
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -48,12 +48,12 @@ zone "." {
|
|||||||
};
|
};
|
||||||
|
|
||||||
zone "example" {
|
zone "example" {
|
||||||
type master;
|
type primary;
|
||||||
file "example.db";
|
file "example.db";
|
||||||
};
|
};
|
||||||
|
|
||||||
zone "tsigzone" {
|
zone "tsigzone" {
|
||||||
type master;
|
type primary;
|
||||||
file "tsigzone.db";
|
file "tsigzone.db";
|
||||||
/*
|
/*
|
||||||
* 0a00::/8 and 10/8 are the same bits, but different address
|
* 0a00::/8 and 10/8 are the same bits, but different address
|
||||||
|
|||||||
@@ -61,12 +61,12 @@ zone "." {
|
|||||||
};
|
};
|
||||||
|
|
||||||
zone "example" {
|
zone "example" {
|
||||||
type master;
|
type primary;
|
||||||
file "example.db";
|
file "example.db";
|
||||||
};
|
};
|
||||||
|
|
||||||
zone "tsigzone" {
|
zone "tsigzone" {
|
||||||
type master;
|
type primary;
|
||||||
file "tsigzone.db";
|
file "tsigzone.db";
|
||||||
allow-transfer { !reject; accept; };
|
allow-transfer { !reject; accept; };
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -60,12 +60,12 @@ zone "." {
|
|||||||
};
|
};
|
||||||
|
|
||||||
zone "example" {
|
zone "example" {
|
||||||
type master;
|
type primary;
|
||||||
file "example.db";
|
file "example.db";
|
||||||
};
|
};
|
||||||
|
|
||||||
zone "tsigzone" {
|
zone "tsigzone" {
|
||||||
type master;
|
type primary;
|
||||||
file "tsigzone.db";
|
file "tsigzone.db";
|
||||||
allow-transfer { !rejectkeys; !rejectaddrs; !check1; !check2; any; };
|
allow-transfer { !rejectkeys; !rejectaddrs; !check1; !check2; any; };
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -31,6 +31,7 @@ options {
|
|||||||
ixfr-from-differences yes;
|
ixfr-from-differences yes;
|
||||||
check-integrity no;
|
check-integrity no;
|
||||||
allow-query-on { 10.53.0.2; };
|
allow-query-on { 10.53.0.2; };
|
||||||
|
blackhole { 10.53.0.8; };
|
||||||
};
|
};
|
||||||
|
|
||||||
key one {
|
key one {
|
||||||
@@ -49,12 +50,12 @@ zone "." {
|
|||||||
};
|
};
|
||||||
|
|
||||||
zone "example" {
|
zone "example" {
|
||||||
type master;
|
type primary;
|
||||||
file "example.db";
|
file "example.db";
|
||||||
};
|
};
|
||||||
|
|
||||||
zone "tsigzone" {
|
zone "tsigzone" {
|
||||||
type master;
|
type primary;
|
||||||
file "tsigzone.db";
|
file "tsigzone.db";
|
||||||
allow-transfer { !key one; any; };
|
allow-transfer { !key one; any; };
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -33,6 +33,6 @@ key rndc_key {
|
|||||||
};
|
};
|
||||||
|
|
||||||
zone "existing" {
|
zone "existing" {
|
||||||
type master;
|
type primary;
|
||||||
file "existing.db";
|
file "existing.db";
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -143,12 +143,32 @@ $DIG -p ${PORT} +tcp soa example. \
|
|||||||
@10.53.0.2 -b 10.53.0.3 > dig.out.${t}
|
@10.53.0.2 -b 10.53.0.3 > dig.out.${t}
|
||||||
grep "status: NOERROR" dig.out.${t} > /dev/null 2>&1 || { echo_i "test $t failed" ; status=1; }
|
grep "status: NOERROR" dig.out.${t} > /dev/null 2>&1 || { echo_i "test $t failed" ; status=1; }
|
||||||
|
|
||||||
|
echo_i "testing blackhole ACL processing"
|
||||||
|
t=`expr $t + 1`
|
||||||
|
ret=0
|
||||||
|
$DIG -p ${PORT} +tcp soa example. \
|
||||||
|
@10.53.0.2 -b 10.53.0.3 > dig.out.1.${t}
|
||||||
|
grep "status: NOERROR" dig.out.1.${t} > /dev/null 2>&1 || ret=1
|
||||||
|
$DIG -p ${PORT} +tcp soa example. \
|
||||||
|
@10.53.0.2 -b 10.53.0.8 > dig.out.2.${t}
|
||||||
|
grep "status: NOERROR" dig.out.2.${t} > /dev/null 2>&1 && ret=1
|
||||||
|
grep "communications error" dig.out.2.${t} > /dev/null 2>&1 || ret=1
|
||||||
|
$DIG -p ${PORT} soa example. \
|
||||||
|
@10.53.0.2 -b 10.53.0.3 > dig.out.3.${t}
|
||||||
|
grep "status: NOERROR" dig.out.3.${t} > /dev/null 2>&1 || ret=1
|
||||||
|
$DIG -p ${PORT} soa example. \
|
||||||
|
@10.53.0.2 -b 10.53.0.8 > dig.out.4.${t}
|
||||||
|
grep "status: NOERROR" dig.out.4.${t} > /dev/null 2>&1 && ret=1
|
||||||
|
grep "connection timed out" dig.out.4.${t} > /dev/null 2>&1 || ret=1
|
||||||
|
[ $ret -eq 0 ] || echo_i "failed"
|
||||||
|
status=`expr $status + $ret`
|
||||||
|
|
||||||
# AXFR tests against ns3
|
# AXFR tests against ns3
|
||||||
|
|
||||||
echo_i "testing allow-transfer ACLs against ns3 (no existing zones)"
|
echo_i "testing allow-transfer ACLs against ns3 (no existing zones)"
|
||||||
|
|
||||||
echo_i "calling addzone example.com on ns3"
|
echo_i "calling addzone example.com on ns3"
|
||||||
$RNDCCMD 10.53.0.3 addzone 'example.com {type master; file "example.db"; }; '
|
$RNDCCMD 10.53.0.3 addzone 'example.com {type primary; file "example.db"; }; '
|
||||||
sleep 1
|
sleep 1
|
||||||
|
|
||||||
t=`expr $t + 1`
|
t=`expr $t + 1`
|
||||||
@@ -177,7 +197,7 @@ status=`expr $status + $ret`
|
|||||||
echo_i "testing allow-transfer ACLs against ns4 (1 pre-existing zone)"
|
echo_i "testing allow-transfer ACLs against ns4 (1 pre-existing zone)"
|
||||||
|
|
||||||
echo_i "calling addzone example.com on ns4"
|
echo_i "calling addzone example.com on ns4"
|
||||||
$RNDCCMD 10.53.0.4 addzone 'example.com {type master; file "example.db"; }; '
|
$RNDCCMD 10.53.0.4 addzone 'example.com {type primary; file "example.db"; }; '
|
||||||
sleep 1
|
sleep 1
|
||||||
|
|
||||||
t=`expr $t + 1`
|
t=`expr $t + 1`
|
||||||
|
|||||||
@@ -30,31 +30,31 @@ controls {
|
|||||||
};
|
};
|
||||||
|
|
||||||
zone "." {
|
zone "." {
|
||||||
type master;
|
type primary;
|
||||||
file "root.db";
|
file "root.db";
|
||||||
};
|
};
|
||||||
|
|
||||||
zone "rt.example" {
|
zone "rt.example" {
|
||||||
type master;
|
type primary;
|
||||||
file "rt.db";
|
file "rt.db";
|
||||||
};
|
};
|
||||||
|
|
||||||
zone "naptr.example" {
|
zone "naptr.example" {
|
||||||
type master;
|
type primary;
|
||||||
file "naptr.db";
|
file "naptr.db";
|
||||||
};
|
};
|
||||||
|
|
||||||
zone "rt2.example" {
|
zone "rt2.example" {
|
||||||
type master;
|
type primary;
|
||||||
file "rt2.db";
|
file "rt2.db";
|
||||||
};
|
};
|
||||||
|
|
||||||
zone "naptr2.example" {
|
zone "naptr2.example" {
|
||||||
type master;
|
type primary;
|
||||||
file "naptr2.db";
|
file "naptr2.db";
|
||||||
};
|
};
|
||||||
|
|
||||||
zone "nid.example" {
|
zone "nid.example" {
|
||||||
type master;
|
type primary;
|
||||||
file "nid.db";
|
file "nid.db";
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -30,31 +30,31 @@ controls {
|
|||||||
};
|
};
|
||||||
|
|
||||||
zone "." {
|
zone "." {
|
||||||
type master;
|
type primary;
|
||||||
file "root.db";
|
file "root.db";
|
||||||
};
|
};
|
||||||
|
|
||||||
zone "rt.example" {
|
zone "rt.example" {
|
||||||
type master;
|
type primary;
|
||||||
file "rt.db";
|
file "rt.db";
|
||||||
};
|
};
|
||||||
|
|
||||||
zone "naptr.example" {
|
zone "naptr.example" {
|
||||||
type master;
|
type primary;
|
||||||
file "naptr.db";
|
file "naptr.db";
|
||||||
};
|
};
|
||||||
|
|
||||||
zone "rt2.example" {
|
zone "rt2.example" {
|
||||||
type master;
|
type primary;
|
||||||
file "rt2.db";
|
file "rt2.db";
|
||||||
};
|
};
|
||||||
|
|
||||||
zone "naptr2.example" {
|
zone "naptr2.example" {
|
||||||
type master;
|
type primary;
|
||||||
file "naptr2.db";
|
file "naptr2.db";
|
||||||
};
|
};
|
||||||
|
|
||||||
zone "nid.example" {
|
zone "nid.example" {
|
||||||
type master;
|
type primary;
|
||||||
file "nid.db";
|
file "nid.db";
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -31,31 +31,31 @@ controls {
|
|||||||
};
|
};
|
||||||
|
|
||||||
zone "." {
|
zone "." {
|
||||||
type master;
|
type primary;
|
||||||
file "root.db";
|
file "root.db";
|
||||||
};
|
};
|
||||||
|
|
||||||
zone "rt.example" {
|
zone "rt.example" {
|
||||||
type master;
|
type primary;
|
||||||
file "rt.db";
|
file "rt.db";
|
||||||
};
|
};
|
||||||
|
|
||||||
zone "naptr.example" {
|
zone "naptr.example" {
|
||||||
type master;
|
type primary;
|
||||||
file "naptr.db";
|
file "naptr.db";
|
||||||
};
|
};
|
||||||
|
|
||||||
zone "rt2.example" {
|
zone "rt2.example" {
|
||||||
type master;
|
type primary;
|
||||||
file "rt2.db";
|
file "rt2.db";
|
||||||
};
|
};
|
||||||
|
|
||||||
zone "naptr2.example" {
|
zone "naptr2.example" {
|
||||||
type master;
|
type primary;
|
||||||
file "naptr2.db";
|
file "naptr2.db";
|
||||||
};
|
};
|
||||||
|
|
||||||
zone "nid.example" {
|
zone "nid.example" {
|
||||||
type master;
|
type primary;
|
||||||
file "nid.db";
|
file "nid.db";
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -30,41 +30,41 @@ controls {
|
|||||||
};
|
};
|
||||||
|
|
||||||
zone "." {
|
zone "." {
|
||||||
type master;
|
type primary;
|
||||||
file "root.db";
|
file "root.db";
|
||||||
};
|
};
|
||||||
|
|
||||||
zone "mx.example" {
|
zone "mx.example" {
|
||||||
type master;
|
type primary;
|
||||||
file "mx.db";
|
file "mx.db";
|
||||||
};
|
};
|
||||||
|
|
||||||
zone "srv.example" {
|
zone "srv.example" {
|
||||||
type master;
|
type primary;
|
||||||
file "srv.db";
|
file "srv.db";
|
||||||
};
|
};
|
||||||
|
|
||||||
zone "rt.example" {
|
zone "rt.example" {
|
||||||
type master;
|
type primary;
|
||||||
file "rt.db";
|
file "rt.db";
|
||||||
};
|
};
|
||||||
|
|
||||||
zone "naptr.example" {
|
zone "naptr.example" {
|
||||||
type master;
|
type primary;
|
||||||
file "naptr.db";
|
file "naptr.db";
|
||||||
};
|
};
|
||||||
|
|
||||||
zone "rt2.example" {
|
zone "rt2.example" {
|
||||||
type master;
|
type primary;
|
||||||
file "rt2.db";
|
file "rt2.db";
|
||||||
};
|
};
|
||||||
|
|
||||||
zone "naptr2.example" {
|
zone "naptr2.example" {
|
||||||
type master;
|
type primary;
|
||||||
file "naptr2.db";
|
file "naptr2.db";
|
||||||
};
|
};
|
||||||
|
|
||||||
zone "nid.example" {
|
zone "nid.example" {
|
||||||
type master;
|
type primary;
|
||||||
file "nid.db";
|
file "nid.db";
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -23,6 +23,6 @@ options {
|
|||||||
};
|
};
|
||||||
|
|
||||||
zone "." {
|
zone "." {
|
||||||
type master;
|
type primary;
|
||||||
file "root.db";
|
file "root.db";
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -30,11 +30,11 @@ zone "." {
|
|||||||
};
|
};
|
||||||
|
|
||||||
zone "ex" {
|
zone "ex" {
|
||||||
type master;
|
type primary;
|
||||||
file "ex.db";
|
file "ex.db";
|
||||||
};
|
};
|
||||||
|
|
||||||
zone "ex2" {
|
zone "ex2" {
|
||||||
type master;
|
type primary;
|
||||||
file "ex2.db";
|
file "ex2.db";
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -24,7 +24,7 @@ rm -f ./ns3/*.nzd ./ns3/*.nzd-lock
|
|||||||
rm -f ./ns2/core*
|
rm -f ./ns2/core*
|
||||||
rm -f ./ns2/inline.db.jbk
|
rm -f ./ns2/inline.db.jbk
|
||||||
rm -f ./ns2/inline.db.signed
|
rm -f ./ns2/inline.db.signed
|
||||||
rm -f ./ns2/inlineslave.bk*
|
rm -f ./ns2/inlinesec.bk*
|
||||||
rm -rf ./ns2/new-zones
|
rm -rf ./ns2/new-zones
|
||||||
rm -f ./ns*/named.lock
|
rm -f ./ns*/named.lock
|
||||||
rm -f ./ns*/named.run ./ns*/named.run.prev
|
rm -f ./ns*/named.run ./ns*/named.run.prev
|
||||||
@@ -32,7 +32,7 @@ rm -f ./ns2/nzf-*
|
|||||||
rm -f ./ns3/named.conf
|
rm -f ./ns3/named.conf
|
||||||
rm -f ./ns3/*.nzf ./ns3/*.nzf~
|
rm -f ./ns3/*.nzf ./ns3/*.nzf~
|
||||||
rm -f ./ns3/*.nzd ns3/*.nzd-lock
|
rm -f ./ns3/*.nzd ns3/*.nzd-lock
|
||||||
rm -f ./ns3/inlineslave.db
|
rm -f ./ns3/inlinesec.db
|
||||||
rm -f ./ns1/redirect.db
|
rm -f ./ns1/redirect.db
|
||||||
rm -f ./ns2/redirect.db
|
rm -f ./ns2/redirect.db
|
||||||
rm -f ./ns2/redirect.bk
|
rm -f ./ns2/redirect.bk
|
||||||
|
|||||||
+1
-1
@@ -7,7 +7,7 @@
|
|||||||
; See the COPYRIGHT file distributed with this work for additional
|
; See the COPYRIGHT file distributed with this work for additional
|
||||||
; information regarding copyright ownership.
|
; information regarding copyright ownership.
|
||||||
|
|
||||||
$ORIGIN inlineslave.example.
|
$ORIGIN inlinesec.example.
|
||||||
$TTL 300 ; 5 minutes
|
$TTL 300 ; 5 minutes
|
||||||
@ IN SOA mname1. . (
|
@ IN SOA mname1. . (
|
||||||
1 ; serial
|
1 ; serial
|
||||||
@@ -33,9 +33,9 @@ zone "." {
|
|||||||
file "../../common/root.hint";
|
file "../../common/root.hint";
|
||||||
};
|
};
|
||||||
|
|
||||||
zone "inlineslave.example" {
|
zone "inlinesec.example" {
|
||||||
type master;
|
type primary;
|
||||||
file "inlineslave.db";
|
file "inlinesec.db";
|
||||||
};
|
};
|
||||||
|
|
||||||
zone "." {
|
zone "." {
|
||||||
|
|||||||
@@ -1 +1 @@
|
|||||||
zone previous.example { type master; file "previous.db"; };
|
zone previous.example { type primary; file "previous.db"; };
|
||||||
|
|||||||
@@ -31,11 +31,11 @@ zone "." {
|
|||||||
};
|
};
|
||||||
|
|
||||||
zone "normal.example" {
|
zone "normal.example" {
|
||||||
type master;
|
type primary;
|
||||||
file "normal.db";
|
file "normal.db";
|
||||||
};
|
};
|
||||||
|
|
||||||
zone "finaldot.example." {
|
zone "finaldot.example." {
|
||||||
type master;
|
type primary;
|
||||||
file "normal.db";
|
file "normal.db";
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -37,7 +37,7 @@ view internal {
|
|||||||
};
|
};
|
||||||
|
|
||||||
zone "policy" {
|
zone "policy" {
|
||||||
type master;
|
type primary;
|
||||||
file "normal.db";
|
file "normal.db";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -37,7 +37,7 @@ view internal {
|
|||||||
};
|
};
|
||||||
|
|
||||||
zone "policy" {
|
zone "policy" {
|
||||||
type master;
|
type primary;
|
||||||
file "normal.db";
|
file "normal.db";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -26,10 +26,10 @@ options {
|
|||||||
};
|
};
|
||||||
|
|
||||||
zone "." {
|
zone "." {
|
||||||
type master;
|
type primary;
|
||||||
file "redirect.db";
|
file "redirect.db";
|
||||||
};
|
};
|
||||||
|
|
||||||
masters "testmaster" {
|
primaries "test" {
|
||||||
192.5.5.241;
|
192.5.5.241;
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -53,7 +53,7 @@ fi
|
|||||||
|
|
||||||
echo_i "adding new zone ($n)"
|
echo_i "adding new zone ($n)"
|
||||||
ret=0
|
ret=0
|
||||||
$RNDCCMD 10.53.0.2 addzone 'added.example { type master; file "added.db"; };' 2>&1 | sed 's/^/I:ns2 /'
|
$RNDCCMD 10.53.0.2 addzone 'added.example { type primary; file "added.db"; };' 2>&1 | sed 's/^/I:ns2 /'
|
||||||
_check_adding_new_zone () (
|
_check_adding_new_zone () (
|
||||||
$DIG $DIGOPTS @10.53.0.2 a.added.example a > dig.out.ns2.$n &&
|
$DIG $DIGOPTS @10.53.0.2 a.added.example a > dig.out.ns2.$n &&
|
||||||
grep 'status: NOERROR' dig.out.ns2.$n > /dev/null &&
|
grep 'status: NOERROR' dig.out.ns2.$n > /dev/null &&
|
||||||
@@ -84,7 +84,8 @@ status=`expr $status + $ret`
|
|||||||
|
|
||||||
echo_i "adding a zone that requires quotes ($n)"
|
echo_i "adding a zone that requires quotes ($n)"
|
||||||
ret=0
|
ret=0
|
||||||
$RNDCCMD 10.53.0.2 addzone '"32/1.0.0.127-in-addr.added.example" { check-names ignore; type master; file "added.db"; };' 2>&1 | sed 's/^/I:ns2 /'
|
$RNDCCMD 10.53.0.2 addzone '"32/1.0.0.127-in-addr.added.example" {
|
||||||
|
check-names ignore; type primary; file "added.db"; };' 2>&1 | sed 's/^/I:ns2 /'
|
||||||
_check_zone_that_requires_quotes() (
|
_check_zone_that_requires_quotes() (
|
||||||
$DIG $DIGOPTS @10.53.0.2 "a.32/1.0.0.127-in-addr.added.example" a > dig.out.ns2.$n &&
|
$DIG $DIGOPTS @10.53.0.2 "a.32/1.0.0.127-in-addr.added.example" a > dig.out.ns2.$n &&
|
||||||
grep 'status: NOERROR' dig.out.ns2.$n > /dev/null &&
|
grep 'status: NOERROR' dig.out.ns2.$n > /dev/null &&
|
||||||
@@ -97,7 +98,7 @@ status=`expr $status + $ret`
|
|||||||
|
|
||||||
echo_i "adding a zone with a quote in the name ($n)"
|
echo_i "adding a zone with a quote in the name ($n)"
|
||||||
ret=0
|
ret=0
|
||||||
$RNDCCMD 10.53.0.2 addzone '"foo\"bar.example" { check-names ignore; type master; file "added.db"; };' 2>&1 | sed 's/^/I:ns2 /'
|
$RNDCCMD 10.53.0.2 addzone '"foo\"bar.example" { check-names ignore; type primary; file "added.db"; };' 2>&1 | sed 's/^/I:ns2 /'
|
||||||
_check_zone_with_a_quote() (
|
_check_zone_with_a_quote() (
|
||||||
$DIG $DIGOPTS @10.53.0.2 "a.foo\"bar.example" a > dig.out.ns2.$n &&
|
$DIG $DIGOPTS @10.53.0.2 "a.foo\"bar.example" a > dig.out.ns2.$n &&
|
||||||
grep 'status: NOERROR' dig.out.ns2.$n > /dev/null &&
|
grep 'status: NOERROR' dig.out.ns2.$n > /dev/null &&
|
||||||
@@ -108,11 +109,11 @@ n=`expr $n + 1`
|
|||||||
if [ $ret != 0 ]; then echo_i "failed"; fi
|
if [ $ret != 0 ]; then echo_i "failed"; fi
|
||||||
status=`expr $status + $ret`
|
status=`expr $status + $ret`
|
||||||
|
|
||||||
echo_i "adding new zone with missing master file ($n)"
|
echo_i "adding new zone with missing file ($n)"
|
||||||
ret=0
|
ret=0
|
||||||
$DIG $DIGOPTS +all @10.53.0.2 a.missing.example a > dig.out.ns2.pre.$n || ret=1
|
$DIG $DIGOPTS +all @10.53.0.2 a.missing.example a > dig.out.ns2.pre.$n || ret=1
|
||||||
grep "status: REFUSED" dig.out.ns2.pre.$n > /dev/null || ret=1
|
grep "status: REFUSED" dig.out.ns2.pre.$n > /dev/null || ret=1
|
||||||
$RNDCCMD 10.53.0.2 addzone 'missing.example { type master; file "missing.db"; };' 2> rndc.out.ns2.$n
|
$RNDCCMD 10.53.0.2 addzone 'missing.example { type primary; file "missing.db"; };' 2> rndc.out.ns2.$n
|
||||||
grep "file not found" rndc.out.ns2.$n > /dev/null || ret=1
|
grep "file not found" rndc.out.ns2.$n > /dev/null || ret=1
|
||||||
$DIG $DIGOPTS +all @10.53.0.2 a.missing.example a > dig.out.ns2.post.$n || ret=1
|
$DIG $DIGOPTS +all @10.53.0.2 a.missing.example a > dig.out.ns2.post.$n || ret=1
|
||||||
grep "status: REFUSED" dig.out.ns2.post.$n > /dev/null || ret=1
|
grep "status: REFUSED" dig.out.ns2.post.$n > /dev/null || ret=1
|
||||||
@@ -134,7 +135,7 @@ fi
|
|||||||
echo_i "checking rndc showzone with previously added zone ($n)"
|
echo_i "checking rndc showzone with previously added zone ($n)"
|
||||||
ret=0
|
ret=0
|
||||||
$RNDCCMD 10.53.0.2 showzone previous.example > rndc.out.ns2.$n
|
$RNDCCMD 10.53.0.2 showzone previous.example > rndc.out.ns2.$n
|
||||||
expected='zone "previous.example" { type master; file "previous.db"; };'
|
expected='zone "previous.example" { type primary; file "previous.db"; };'
|
||||||
[ "`cat rndc.out.ns2.$n`" = "$expected" ] || ret=1
|
[ "`cat rndc.out.ns2.$n`" = "$expected" ] || ret=1
|
||||||
n=`expr $n + 1`
|
n=`expr $n + 1`
|
||||||
if [ $ret != 0 ]; then echo_i "failed"; fi
|
if [ $ret != 0 ]; then echo_i "failed"; fi
|
||||||
@@ -212,7 +213,7 @@ status=`expr $status + $ret`
|
|||||||
echo_i "checking rndc showzone with a normally-loaded zone ($n)"
|
echo_i "checking rndc showzone with a normally-loaded zone ($n)"
|
||||||
ret=0
|
ret=0
|
||||||
$RNDCCMD 10.53.0.2 showzone normal.example > rndc.out.ns2.$n
|
$RNDCCMD 10.53.0.2 showzone normal.example > rndc.out.ns2.$n
|
||||||
expected='zone "normal.example" { type master; file "normal.db"; };'
|
expected='zone "normal.example" { type primary; file "normal.db"; };'
|
||||||
[ "`cat rndc.out.ns2.$n`" = "$expected" ] || ret=1
|
[ "`cat rndc.out.ns2.$n`" = "$expected" ] || ret=1
|
||||||
n=`expr $n + 1`
|
n=`expr $n + 1`
|
||||||
if [ $ret != 0 ]; then echo_i "failed"; fi
|
if [ $ret != 0 ]; then echo_i "failed"; fi
|
||||||
@@ -221,7 +222,7 @@ status=`expr $status + $ret`
|
|||||||
echo_i "checking rndc showzone with a normally-loaded zone with trailing dot ($n)"
|
echo_i "checking rndc showzone with a normally-loaded zone with trailing dot ($n)"
|
||||||
ret=0
|
ret=0
|
||||||
$RNDCCMD 10.53.0.2 showzone finaldot.example > rndc.out.ns2.$n
|
$RNDCCMD 10.53.0.2 showzone finaldot.example > rndc.out.ns2.$n
|
||||||
expected='zone "finaldot.example." { type master; file "normal.db"; };'
|
expected='zone "finaldot.example." { type primary; file "normal.db"; };'
|
||||||
[ "`cat rndc.out.ns2.$n`" = "$expected" ] || ret=1
|
[ "`cat rndc.out.ns2.$n`" = "$expected" ] || ret=1
|
||||||
n=`expr $n + 1`
|
n=`expr $n + 1`
|
||||||
if [ $ret != 0 ]; then echo_i "failed"; fi
|
if [ $ret != 0 ]; then echo_i "failed"; fi
|
||||||
@@ -271,79 +272,79 @@ n=`expr $n + 1`
|
|||||||
if [ $ret != 0 ]; then echo_i "failed"; fi
|
if [ $ret != 0 ]; then echo_i "failed"; fi
|
||||||
status=`expr $status + $ret`
|
status=`expr $status + $ret`
|
||||||
|
|
||||||
echo_i "attempting to add master zone with inline signing ($n)"
|
echo_i "attempting to add primary zone with inline signing ($n)"
|
||||||
$RNDCCMD 10.53.0.2 addzone 'inline.example { type master; file "inline.db"; inline-signing yes; };' 2>&1 | sed 's/^/I:ns2 /'
|
$RNDCCMD 10.53.0.2 addzone 'inline.example { type primary; file "inline.db"; inline-signing yes; };' 2>&1 | sed 's/^/I:ns2 /'
|
||||||
_check_add_master_zone_with_inline() (
|
_check_add_primary_zone_with_inline() (
|
||||||
$DIG $DIGOPTS @10.53.0.2 a.inline.example a > dig.out.ns2.$n &&
|
$DIG $DIGOPTS @10.53.0.2 a.inline.example a > dig.out.ns2.$n &&
|
||||||
grep 'status: NOERROR' dig.out.ns2.$n > /dev/null &&
|
grep 'status: NOERROR' dig.out.ns2.$n > /dev/null &&
|
||||||
grep '^a.inline.example' dig.out.ns2.$n > /dev/null
|
grep '^a.inline.example' dig.out.ns2.$n > /dev/null
|
||||||
)
|
)
|
||||||
retry_quiet 5 _check_add_master_zone_with_inline || ret=1
|
retry_quiet 5 _check_add_primary_zone_with_inline || ret=1
|
||||||
n=`expr $n + 1`
|
n=`expr $n + 1`
|
||||||
if [ $ret != 0 ]; then echo_i "failed"; fi
|
if [ $ret != 0 ]; then echo_i "failed"; fi
|
||||||
status=`expr $status + $ret`
|
status=`expr $status + $ret`
|
||||||
|
|
||||||
echo_i "attempting to add master zone with inline signing and missing master ($n)"
|
echo_i "attempting to add primary zone with inline signing and missing file ($n)"
|
||||||
ret=0
|
ret=0
|
||||||
$RNDCCMD 10.53.0.2 addzone 'inlinemissing.example { type master; file "missing.db"; inline-signing yes; };' 2> rndc.out.ns2.$n
|
$RNDCCMD 10.53.0.2 addzone 'inlinemissing.example { type primary; file "missing.db"; inline-signing yes; };' 2> rndc.out.ns2.$n
|
||||||
grep "file not found" rndc.out.ns2.$n > /dev/null || ret=1
|
grep "file not found" rndc.out.ns2.$n > /dev/null || ret=1
|
||||||
n=`expr $n + 1`
|
n=`expr $n + 1`
|
||||||
if [ $ret != 0 ]; then echo_i "failed"; fi
|
if [ $ret != 0 ]; then echo_i "failed"; fi
|
||||||
status=`expr $status + $ret`
|
status=`expr $status + $ret`
|
||||||
|
|
||||||
echo_i "attempting to add slave zone with inline signing ($n)"
|
echo_i "attempting to add secondary zone with inline signing ($n)"
|
||||||
$RNDCCMD 10.53.0.2 addzone 'inlineslave.example { type slave; masters { 10.53.0.1; }; file "inlineslave.bk"; inline-signing yes; };' 2>&1 | sed 's/^/I:ns2 /'
|
$RNDCCMD 10.53.0.2 addzone 'inlinesec.example { type secondary; primaries { 10.53.0.1; }; file "inlinesec.bk"; inline-signing yes; };' 2>&1 | sed 's/^/I:ns2 /'
|
||||||
_check_add_slave_with_inline() (
|
_check_add_secondary_with_inline() (
|
||||||
$DIG $DIGOPTS @10.53.0.2 a.inlineslave.example a > dig.out.ns2.$n &&
|
$DIG $DIGOPTS @10.53.0.2 a.inlinesec.example a > dig.out.ns2.$n &&
|
||||||
grep 'status: NOERROR' dig.out.ns2.$n > /dev/null &&
|
grep 'status: NOERROR' dig.out.ns2.$n > /dev/null &&
|
||||||
grep '^a.inlineslave.example' dig.out.ns2.$n > /dev/null
|
grep '^a.inlinesec.example' dig.out.ns2.$n > /dev/null
|
||||||
)
|
)
|
||||||
retry_quiet 5 _check_add_slave_with_inline || ret=1
|
retry_quiet 5 _check_add_secondary_with_inline || ret=1
|
||||||
n=`expr $n + 1`
|
n=`expr $n + 1`
|
||||||
if [ $ret != 0 ]; then echo_i "failed"; fi
|
if [ $ret != 0 ]; then echo_i "failed"; fi
|
||||||
status=`expr $status + $ret`
|
status=`expr $status + $ret`
|
||||||
|
|
||||||
echo_i "attempting to delete slave zone with inline signing ($n)"
|
echo_i "attempting to delete secondary zone with inline signing ($n)"
|
||||||
ret=0
|
ret=0
|
||||||
retry_quiet 10 test -f ns2/inlineslave.bk.signed -a -f ns2/inlineslave.bk || ret=1
|
retry_quiet 10 test -f ns2/inlinesec.bk.signed -a -f ns2/inlinesec.bk || ret=1
|
||||||
$RNDCCMD 10.53.0.2 delzone inlineslave.example > rndc.out2.test$n 2>&1 || ret=1
|
$RNDCCMD 10.53.0.2 delzone inlinesec.example > rndc.out2.test$n 2>&1 || ret=1
|
||||||
test -f inlineslave.bk ||
|
test -f inlinesec.bk ||
|
||||||
grep '^inlineslave.bk$' rndc.out2.test$n > /dev/null || {
|
grep '^inlinesec.bk$' rndc.out2.test$n > /dev/null || {
|
||||||
echo_i "failed to report inlineslave.bk"; ret=1;
|
echo_i "failed to report inlinesec.bk"; ret=1;
|
||||||
}
|
}
|
||||||
test ! -f inlineslave.bk.signed ||
|
test ! -f inlinesec.bk.signed ||
|
||||||
grep '^inlineslave.bk.signed$' rndc.out2.test$n > /dev/null || {
|
grep '^inlinesec.bk.signed$' rndc.out2.test$n > /dev/null || {
|
||||||
echo_i "failed to report inlineslave.bk.signed"; ret=1;
|
echo_i "failed to report inlinesec.bk.signed"; ret=1;
|
||||||
}
|
}
|
||||||
n=`expr $n + 1`
|
n=`expr $n + 1`
|
||||||
status=`expr $status + $ret`
|
status=`expr $status + $ret`
|
||||||
|
|
||||||
echo_i "restoring slave zone with inline signing ($n)"
|
echo_i "restoring secondary zone with inline signing ($n)"
|
||||||
$RNDCCMD 10.53.0.2 addzone 'inlineslave.example { type slave; masters { 10.53.0.1; }; file "inlineslave.bk"; inline-signing yes; };' 2>&1 | sed 's/^/I:ns2 /'
|
$RNDCCMD 10.53.0.2 addzone 'inlinesec.example { type secondary; primaries { 10.53.0.1; }; file "inlinesec.bk"; inline-signing yes; };' 2>&1 | sed 's/^/I:ns2 /'
|
||||||
_check_restoring_slave_with_inline() (
|
_check_restoring_secondary_with_inline() (
|
||||||
$DIG $DIGOPTS @10.53.0.2 a.inlineslave.example a > dig.out.ns2.$n &&
|
$DIG $DIGOPTS @10.53.0.2 a.inlinesec.example a > dig.out.ns2.$n &&
|
||||||
grep 'status: NOERROR' dig.out.ns2.$n > /dev/null &&
|
grep 'status: NOERROR' dig.out.ns2.$n > /dev/null &&
|
||||||
grep '^a.inlineslave.example' dig.out.ns2.$n > /dev/null
|
grep '^a.inlinesec.example' dig.out.ns2.$n > /dev/null
|
||||||
)
|
)
|
||||||
retry_quiet 5 _check_restoring_slave_with_inline || ret=1
|
retry_quiet 5 _check_restoring_secondary_with_inline || ret=1
|
||||||
n=`expr $n + 1`
|
n=`expr $n + 1`
|
||||||
if [ $ret != 0 ]; then echo_i "failed"; fi
|
if [ $ret != 0 ]; then echo_i "failed"; fi
|
||||||
status=`expr $status + $ret`
|
status=`expr $status + $ret`
|
||||||
|
|
||||||
echo_i "deleting slave zone with automatic zone file removal ($n)"
|
echo_i "deleting secondary zone with automatic zone file removal ($n)"
|
||||||
ret=0
|
ret=0
|
||||||
retry_quiet 10 test -f ns2/inlineslave.bk.signed -a -f ns2/inlineslave.bk || ret=1
|
retry_quiet 10 test -f ns2/inlinesec.bk.signed -a -f ns2/inlinesec.bk || ret=1
|
||||||
$RNDCCMD 10.53.0.2 delzone -clean inlineslave.example > /dev/null 2>&1
|
$RNDCCMD 10.53.0.2 delzone -clean inlinesec.example > /dev/null 2>&1
|
||||||
retry_quiet 10 test ! -f ns2/inlineslave.bk.signed -a ! -f ns2/inlineslave.bk
|
retry_quiet 10 test ! -f ns2/inlinesec.bk.signed -a ! -f ns2/inlinesec.bk
|
||||||
n=`expr $n + 1`
|
n=`expr $n + 1`
|
||||||
status=`expr $status + $ret`
|
status=`expr $status + $ret`
|
||||||
|
|
||||||
echo_i "modifying zone configuration ($n)"
|
echo_i "modifying zone configuration ($n)"
|
||||||
ret=0
|
ret=0
|
||||||
$RNDCCMD 10.53.0.2 addzone 'mod.example { type master; file "added.db"; };' 2>&1 | sed 's/^/ns2 /' | cat_i
|
$RNDCCMD 10.53.0.2 addzone 'mod.example { type primary; file "added.db"; };' 2>&1 | sed 's/^/ns2 /' | cat_i
|
||||||
$DIG +norec $DIGOPTS @10.53.0.2 mod.example ns > dig.out.ns2.1.$n || ret=1
|
$DIG +norec $DIGOPTS @10.53.0.2 mod.example ns > dig.out.ns2.1.$n || ret=1
|
||||||
grep 'status: NOERROR' dig.out.ns2.1.$n > /dev/null || ret=1
|
grep 'status: NOERROR' dig.out.ns2.1.$n > /dev/null || ret=1
|
||||||
$RNDCCMD 10.53.0.2 modzone 'mod.example { type master; file "added.db"; allow-query { none; }; };' 2>&1 | sed 's/^/ns2 /' | cat_i
|
$RNDCCMD 10.53.0.2 modzone 'mod.example { type primary; file "added.db"; allow-query { none; }; };' 2>&1 | sed 's/^/ns2 /' | cat_i
|
||||||
$DIG +norec $DIGOPTS @10.53.0.2 mod.example ns > dig.out.ns2.2.$n || ret=1
|
$DIG +norec $DIGOPTS @10.53.0.2 mod.example ns > dig.out.ns2.2.$n || ret=1
|
||||||
$RNDCCMD 10.53.0.2 showzone mod.example | grep 'allow-query { "none"; };' > /dev/null 2>&1 || ret=1
|
$RNDCCMD 10.53.0.2 showzone mod.example | grep 'allow-query { "none"; };' > /dev/null 2>&1 || ret=1
|
||||||
n=`expr $n + 1`
|
n=`expr $n + 1`
|
||||||
@@ -352,7 +353,7 @@ status=`expr $status + $ret`
|
|||||||
|
|
||||||
echo_i "check that adding a 'stub' zone works ($n)"
|
echo_i "check that adding a 'stub' zone works ($n)"
|
||||||
ret=0
|
ret=0
|
||||||
$RNDCCMD 10.53.0.2 addzone 'stub.example { type stub; masters { 1.2.3.4; }; file "stub.example.bk"; };' > rndc.out.ns2.$n 2>&1 || ret=1
|
$RNDCCMD 10.53.0.2 addzone 'stub.example { type stub; primaries { 1.2.3.4; }; file "stub.example.bk"; };' > rndc.out.ns2.$n 2>&1 || ret=1
|
||||||
n=`expr $n + 1`
|
n=`expr $n + 1`
|
||||||
if [ $ret != 0 ]; then echo_i "failed"; fi
|
if [ $ret != 0 ]; then echo_i "failed"; fi
|
||||||
status=`expr $status + $ret`
|
status=`expr $status + $ret`
|
||||||
@@ -364,22 +365,22 @@ n=`expr $n + 1`
|
|||||||
if [ $ret != 0 ]; then echo_i "failed"; fi
|
if [ $ret != 0 ]; then echo_i "failed"; fi
|
||||||
status=`expr $status + $ret`
|
status=`expr $status + $ret`
|
||||||
|
|
||||||
echo_i "check that adding a 'master redirect' zone works ($n)"
|
echo_i "check that adding a 'primary redirect' zone works ($n)"
|
||||||
ret=0
|
ret=0
|
||||||
$RNDCCMD 10.53.0.2 addzone '"." { type redirect; file "redirect.db"; };' > rndc.out.ns2.$n 2>&1 || ret=1
|
$RNDCCMD 10.53.0.2 addzone '"." { type redirect; file "redirect.db"; };' > rndc.out.ns2.$n 2>&1 || ret=1
|
||||||
_check_add_master_redirect() (
|
_check_add_primary_redirect() (
|
||||||
$RNDCCMD 10.53.0.2 showzone -redirect > showzone.out.ns2.$n 2>&1 &&
|
$RNDCCMD 10.53.0.2 showzone -redirect > showzone.out.ns2.$n 2>&1 &&
|
||||||
grep "type redirect;" showzone.out.ns2.$n > /dev/null &&
|
grep "type redirect;" showzone.out.ns2.$n > /dev/null &&
|
||||||
$RNDCCMD 10.53.0.2 zonestatus -redirect > zonestatus.out.ns2.$n 2>&1 &&
|
$RNDCCMD 10.53.0.2 zonestatus -redirect > zonestatus.out.ns2.$n 2>&1 &&
|
||||||
grep "type: redirect" zonestatus.out.ns2.$n > /dev/null &&
|
grep "type: redirect" zonestatus.out.ns2.$n > /dev/null &&
|
||||||
grep "serial: 0" zonestatus.out.ns2.$n > /dev/null
|
grep "serial: 0" zonestatus.out.ns2.$n > /dev/null
|
||||||
)
|
)
|
||||||
retry_quiet 10 _check_add_master_redirect || ret=1
|
retry_quiet 10 _check_add_primary_redirect || ret=1
|
||||||
n=`expr $n + 1`
|
n=`expr $n + 1`
|
||||||
if [ $ret != 0 ]; then echo_i "failed"; fi
|
if [ $ret != 0 ]; then echo_i "failed"; fi
|
||||||
status=`expr $status + $ret`
|
status=`expr $status + $ret`
|
||||||
|
|
||||||
echo_i "check that reloading a added 'master redirect' zone works ($n)"
|
echo_i "check that reloading a added 'primary redirect' zone works ($n)"
|
||||||
ret=0
|
ret=0
|
||||||
sleep 1
|
sleep 1
|
||||||
cp -f ns2/redirect.db.2 ns2/redirect.db
|
cp -f ns2/redirect.db.2 ns2/redirect.db
|
||||||
@@ -389,63 +390,63 @@ n=`expr $n + 1`
|
|||||||
if [ $ret != 0 ]; then echo_i "failed"; fi
|
if [ $ret != 0 ]; then echo_i "failed"; fi
|
||||||
status=`expr $status + $ret`
|
status=`expr $status + $ret`
|
||||||
|
|
||||||
echo_i "check that retransfer of a added 'master redirect' zone fails ($n)"
|
echo_i "check that retransfer of a added 'primary redirect' zone fails ($n)"
|
||||||
ret=0
|
ret=0
|
||||||
$RNDCCMD 10.53.0.2 retransfer -redirect > rndc.out.ns2.$n 2>&1 && ret=1
|
$RNDCCMD 10.53.0.2 retransfer -redirect > rndc.out.ns2.$n 2>&1 && ret=1
|
||||||
n=`expr $n + 1`
|
n=`expr $n + 1`
|
||||||
if [ $ret != 0 ]; then echo_i "failed"; fi
|
if [ $ret != 0 ]; then echo_i "failed"; fi
|
||||||
status=`expr $status + $ret`
|
status=`expr $status + $ret`
|
||||||
|
|
||||||
echo_i "check that deleting a 'master redirect' zone works ($n)"
|
echo_i "check that deleting a 'primary redirect' zone works ($n)"
|
||||||
ret=0
|
ret=0
|
||||||
$RNDCCMD 10.53.0.2 delzone -redirect > rndc.out.ns2.$n 2>&1 || ret=1
|
$RNDCCMD 10.53.0.2 delzone -redirect > rndc.out.ns2.$n 2>&1 || ret=1
|
||||||
_check_deleting_master_redirect() (
|
_check_deleting_primary_redirect() (
|
||||||
$RNDCCMD 10.53.0.2 showzone -redirect > showzone.out.ns2.$n 2>&1 || true
|
$RNDCCMD 10.53.0.2 showzone -redirect > showzone.out.ns2.$n 2>&1 || true
|
||||||
grep 'not found' showzone.out.ns2.$n > /dev/null
|
grep 'not found' showzone.out.ns2.$n > /dev/null
|
||||||
)
|
)
|
||||||
retry_quiet 10 _check_deleting_master_redirect || ret=1
|
retry_quiet 10 _check_deleting_primary_redirect || ret=1
|
||||||
n=`expr $n + 1`
|
n=`expr $n + 1`
|
||||||
if [ $ret != 0 ]; then echo_i "failed"; fi
|
if [ $ret != 0 ]; then echo_i "failed"; fi
|
||||||
status=`expr $status + $ret`
|
status=`expr $status + $ret`
|
||||||
|
|
||||||
echo_i "check that adding a 'slave redirect' zone works ($n)"
|
echo_i "check that adding a 'secondary redirect' zone works ($n)"
|
||||||
ret=0
|
ret=0
|
||||||
$RNDCCMD 10.53.0.2 addzone '"." { type redirect; masters { 10.53.0.3;}; file "redirect.bk"; };' > rndc.out.ns2.$n 2>&1 || ret=1
|
$RNDCCMD 10.53.0.2 addzone '"." { type redirect; primaries { 10.53.0.3;}; file "redirect.bk"; };' > rndc.out.ns2.$n 2>&1 || ret=1
|
||||||
_check_adding_slave_redirect() (
|
_check_adding_secondary_redirect() (
|
||||||
$RNDCCMD 10.53.0.2 showzone -redirect > showzone.out.ns2.$n 2>&1 &&
|
$RNDCCMD 10.53.0.2 showzone -redirect > showzone.out.ns2.$n 2>&1 &&
|
||||||
grep "type redirect;" showzone.out.ns2.$n > /dev/null &&
|
grep "type redirect;" showzone.out.ns2.$n > /dev/null &&
|
||||||
$RNDCCMD 10.53.0.2 zonestatus -redirect > zonestatus.out.ns2.$n 2>&1 &&
|
$RNDCCMD 10.53.0.2 zonestatus -redirect > zonestatus.out.ns2.$n 2>&1 &&
|
||||||
grep "type: redirect" zonestatus.out.ns2.$n > /dev/null &&
|
grep "type: redirect" zonestatus.out.ns2.$n > /dev/null &&
|
||||||
grep "serial: 0" zonestatus.out.ns2.$n > /dev/null
|
grep "serial: 0" zonestatus.out.ns2.$n > /dev/null
|
||||||
)
|
)
|
||||||
retry_quiet 10 _check_adding_slave_redirect || ret=1
|
retry_quiet 10 _check_adding_secondary_redirect || ret=1
|
||||||
n=`expr $n + 1`
|
n=`expr $n + 1`
|
||||||
if [ $ret != 0 ]; then echo_i "failed"; fi
|
if [ $ret != 0 ]; then echo_i "failed"; fi
|
||||||
status=`expr $status + $ret`
|
status=`expr $status + $ret`
|
||||||
|
|
||||||
echo_i "check that retransfering a added 'slave redirect' zone works ($n)"
|
echo_i "check that retransfering a added 'secondary redirect' zone works ($n)"
|
||||||
ret=0
|
ret=0
|
||||||
cp -f ns3/redirect.db.2 ns3/redirect.db
|
cp -f ns3/redirect.db.2 ns3/redirect.db
|
||||||
$RNDCCMD 10.53.0.3 reload . > showzone.out.ns3.$n 2>&1 || ret=1
|
$RNDCCMD 10.53.0.3 reload . > showzone.out.ns3.$n 2>&1 || ret=1
|
||||||
_check_retransfering_slave_redirect() (
|
_check_retransfering_secondary_redirect() (
|
||||||
$RNDCCMD 10.53.0.2 retransfer -redirect > rndc.out.ns2.$n 2>&1 &&
|
$RNDCCMD 10.53.0.2 retransfer -redirect > rndc.out.ns2.$n 2>&1 &&
|
||||||
$RNDCCMD 10.53.0.2 zonestatus -redirect > zonestatus.out.ns2.$n 2>&1 &&
|
$RNDCCMD 10.53.0.2 zonestatus -redirect > zonestatus.out.ns2.$n 2>&1 &&
|
||||||
grep "type: redirect" zonestatus.out.ns2.$n > /dev/null &&
|
grep "type: redirect" zonestatus.out.ns2.$n > /dev/null &&
|
||||||
grep "serial: 1" zonestatus.out.ns2.$n > /dev/null
|
grep "serial: 1" zonestatus.out.ns2.$n > /dev/null
|
||||||
)
|
)
|
||||||
retry_quiet 10 _check_retransfering_slave_redirect || ret=1
|
retry_quiet 10 _check_retransfering_secondary_redirect || ret=1
|
||||||
n=`expr $n + 1`
|
n=`expr $n + 1`
|
||||||
if [ $ret != 0 ]; then echo_i "failed"; fi
|
if [ $ret != 0 ]; then echo_i "failed"; fi
|
||||||
status=`expr $status + $ret`
|
status=`expr $status + $ret`
|
||||||
|
|
||||||
echo_i "check that deleting a 'slave redirect' zone works ($n)"
|
echo_i "check that deleting a 'secondary redirect' zone works ($n)"
|
||||||
ret=0
|
ret=0
|
||||||
$RNDCCMD 10.53.0.2 delzone -redirect > rndc.out.ns2.$n 2>&1 || ret=1
|
$RNDCCMD 10.53.0.2 delzone -redirect > rndc.out.ns2.$n 2>&1 || ret=1
|
||||||
_check_deleting_slave_redirect() (
|
_check_deleting_secondary_redirect() (
|
||||||
$RNDCCMD 10.53.0.2 showzone -redirect > showzone.out.ns2.$n 2>&1 || true
|
$RNDCCMD 10.53.0.2 showzone -redirect > showzone.out.ns2.$n 2>&1 || true
|
||||||
grep 'not found' showzone.out.ns2.$n > /dev/null
|
grep 'not found' showzone.out.ns2.$n > /dev/null
|
||||||
)
|
)
|
||||||
retry_quiet 10 _check_deleting_slave_redirect || ret=1
|
retry_quiet 10 _check_deleting_secondary_redirect || ret=1
|
||||||
n=`expr $n + 1`
|
n=`expr $n + 1`
|
||||||
if [ $ret != 0 ]; then echo_i "failed"; fi
|
if [ $ret != 0 ]; then echo_i "failed"; fi
|
||||||
status=`expr $status + $ret`
|
status=`expr $status + $ret`
|
||||||
@@ -499,7 +500,7 @@ $DIG +norec $DIGOPTS @10.53.0.2 -b 10.53.0.2 a.added.example a > dig.out.ns2.int
|
|||||||
grep 'status: NOERROR' dig.out.ns2.intpre.$n > /dev/null || ret=1
|
grep 'status: NOERROR' dig.out.ns2.intpre.$n > /dev/null || ret=1
|
||||||
$DIG +norec $DIGOPTS @10.53.0.4 -b 10.53.0.4 a.added.example a > dig.out.ns2.extpre.$n || ret=1
|
$DIG +norec $DIGOPTS @10.53.0.4 -b 10.53.0.4 a.added.example a > dig.out.ns2.extpre.$n || ret=1
|
||||||
grep 'status: REFUSED' dig.out.ns2.extpre.$n > /dev/null || ret=1
|
grep 'status: REFUSED' dig.out.ns2.extpre.$n > /dev/null || ret=1
|
||||||
$RNDCCMD 10.53.0.2 addzone 'added.example in external { type master; file "added.db"; };' 2>&1 | sed 's/^/I:ns2 /'
|
$RNDCCMD 10.53.0.2 addzone 'added.example in external { type primary; file "added.db"; };' 2>&1 | sed 's/^/I:ns2 /'
|
||||||
$DIG +norec $DIGOPTS @10.53.0.2 -b 10.53.0.2 a.added.example a > dig.out.ns2.int.$n || ret=1
|
$DIG +norec $DIGOPTS @10.53.0.2 -b 10.53.0.2 a.added.example a > dig.out.ns2.int.$n || ret=1
|
||||||
grep 'status: NOERROR' dig.out.ns2.int.$n > /dev/null || ret=1
|
grep 'status: NOERROR' dig.out.ns2.int.$n > /dev/null || ret=1
|
||||||
$DIG +norec $DIGOPTS @10.53.0.4 -b 10.53.0.4 a.added.example a > dig.out.ns2.ext.$n || ret=1
|
$DIG +norec $DIGOPTS @10.53.0.4 -b 10.53.0.4 a.added.example a > dig.out.ns2.ext.$n || ret=1
|
||||||
@@ -546,9 +547,9 @@ status=`expr $status + $ret`
|
|||||||
echo_i "checking rndc showzone with newly added zone ($n)"
|
echo_i "checking rndc showzone with newly added zone ($n)"
|
||||||
_check_rndc_showzone_newly_added() (
|
_check_rndc_showzone_newly_added() (
|
||||||
if [ -z "$NZD" ]; then
|
if [ -z "$NZD" ]; then
|
||||||
expected='zone "added.example" in external { type master; file "added.db"; };'
|
expected='zone "added.example" in external { type primary; file "added.db"; };'
|
||||||
else
|
else
|
||||||
expected='zone "added.example" { type master; file "added.db"; };'
|
expected='zone "added.example" { type primary; file "added.db"; };'
|
||||||
fi
|
fi
|
||||||
$RNDCCMD 10.53.0.2 showzone added.example in external > rndc.out.ns2.$n 2>/dev/null &&
|
$RNDCCMD 10.53.0.2 showzone added.example in external > rndc.out.ns2.$n 2>/dev/null &&
|
||||||
[ "`cat rndc.out.ns2.$n`" = "$expected" ]
|
[ "`cat rndc.out.ns2.$n`" = "$expected" ]
|
||||||
@@ -575,7 +576,7 @@ echo_i "attempting to add zone to internal view ($n)"
|
|||||||
ret=0
|
ret=0
|
||||||
$DIG +norec $DIGOPTS @10.53.0.2 -b 10.53.0.2 a.added.example a > dig.out.ns2.pre.$n || ret=1
|
$DIG +norec $DIGOPTS @10.53.0.2 -b 10.53.0.2 a.added.example a > dig.out.ns2.pre.$n || ret=1
|
||||||
grep 'status: NOERROR' dig.out.ns2.pre.$n > /dev/null || ret=1
|
grep 'status: NOERROR' dig.out.ns2.pre.$n > /dev/null || ret=1
|
||||||
$RNDCCMD 10.53.0.2 addzone 'added.example in internal { type master; file "added.db"; };' 2> rndc.out.ns2.$n
|
$RNDCCMD 10.53.0.2 addzone 'added.example in internal { type primary; file "added.db"; };' 2> rndc.out.ns2.$n
|
||||||
grep "permission denied" rndc.out.ns2.$n > /dev/null || ret=1
|
grep "permission denied" rndc.out.ns2.$n > /dev/null || ret=1
|
||||||
$DIG $DIGOPTS @10.53.0.2 -b 10.53.0.2 a.added.example a > dig.out.ns2.int.$n || ret=1
|
$DIG $DIGOPTS @10.53.0.2 -b 10.53.0.2 a.added.example a > dig.out.ns2.int.$n || ret=1
|
||||||
grep 'status: NOERROR' dig.out.ns2.int.$n > /dev/null || ret=1
|
grep 'status: NOERROR' dig.out.ns2.int.$n > /dev/null || ret=1
|
||||||
@@ -595,7 +596,7 @@ status=`expr $status + $ret`
|
|||||||
|
|
||||||
echo_i "adding new zone again to external view ($n)"
|
echo_i "adding new zone again to external view ($n)"
|
||||||
ret=0
|
ret=0
|
||||||
$RNDCCMD 10.53.0.2 addzone 'added.example in external { type master; file "added.db"; };' 2>&1 | sed 's/^/I:ns2 /'
|
$RNDCCMD 10.53.0.2 addzone 'added.example in external { type primary; file "added.db"; };' 2>&1 | sed 's/^/I:ns2 /'
|
||||||
_check_adding_new_zone_again_external() (
|
_check_adding_new_zone_again_external() (
|
||||||
$DIG +norec $DIGOPTS @10.53.0.2 -b 10.53.0.2 a.added.example a > dig.out.ns2.int.$n &&
|
$DIG +norec $DIGOPTS @10.53.0.2 -b 10.53.0.2 a.added.example a > dig.out.ns2.int.$n &&
|
||||||
grep 'status: NOERROR' dig.out.ns2.int.$n > /dev/null &&
|
grep 'status: NOERROR' dig.out.ns2.int.$n > /dev/null &&
|
||||||
@@ -640,7 +641,7 @@ $DIG +norec $DIGOPTS @10.53.0.4 -b 10.53.0.4 a.added.example a > dig.out.ns2.ext
|
|||||||
grep 'status: REFUSED' dig.out.ns2.extpre.$n > /dev/null || ret=1
|
grep 'status: REFUSED' dig.out.ns2.extpre.$n > /dev/null || ret=1
|
||||||
$DIG +norec $DIGOPTS @10.53.0.5 -b 10.53.0.5 a.added.example a > dig.out.ns2.dirpre.$n || ret=1
|
$DIG +norec $DIGOPTS @10.53.0.5 -b 10.53.0.5 a.added.example a > dig.out.ns2.dirpre.$n || ret=1
|
||||||
grep 'status: REFUSED' dig.out.ns2.dirpre.$n > /dev/null || ret=1
|
grep 'status: REFUSED' dig.out.ns2.dirpre.$n > /dev/null || ret=1
|
||||||
$RNDCCMD 10.53.0.2 addzone 'added.example in directory { type master; file "added.db"; };' 2>&1 | sed 's/^/I:ns2 /'
|
$RNDCCMD 10.53.0.2 addzone 'added.example in directory { type primary; file "added.db"; };' 2>&1 | sed 's/^/I:ns2 /'
|
||||||
$DIG +norec $DIGOPTS @10.53.0.2 -b 10.53.0.2 a.added.example a > dig.out.ns2.int.$n || ret=1
|
$DIG +norec $DIGOPTS @10.53.0.2 -b 10.53.0.2 a.added.example a > dig.out.ns2.int.$n || ret=1
|
||||||
grep 'status: NOERROR' dig.out.ns2.int.$n > /dev/null || ret=1
|
grep 'status: NOERROR' dig.out.ns2.int.$n > /dev/null || ret=1
|
||||||
$DIG +norec $DIGOPTS @10.53.0.4 -b 10.53.0.4 a.added.example a > dig.out.ns2.ext.$n || ret=1
|
$DIG +norec $DIGOPTS @10.53.0.4 -b 10.53.0.4 a.added.example a > dig.out.ns2.ext.$n || ret=1
|
||||||
@@ -686,10 +687,10 @@ status=`expr $status + $ret`
|
|||||||
|
|
||||||
echo_i "check delzone after reconfig failure ($n)"
|
echo_i "check delzone after reconfig failure ($n)"
|
||||||
ret=0
|
ret=0
|
||||||
$RNDCCMD 10.53.0.3 addzone 'inlineslave.example. IN { type slave; file "inlineslave.db"; masterfile-format text; masters { testmaster; }; };' > /dev/null 2>&1 || ret=1
|
$RNDCCMD 10.53.0.3 addzone 'inlinesec.example. IN { type secondary; file "inlinesec.db"; masterfile-format text; primaries { test; }; };' > /dev/null 2>&1 || ret=1
|
||||||
copy_setports ns3/named2.conf.in ns3/named.conf
|
copy_setports ns3/named2.conf.in ns3/named.conf
|
||||||
rndc_reconfig ns3 10.53.0.3
|
rndc_reconfig ns3 10.53.0.3
|
||||||
$RNDCCMD 10.53.0.3 delzone inlineslave.example > /dev/null 2>&1 || ret=1
|
$RNDCCMD 10.53.0.3 delzone inlinesec.example > /dev/null 2>&1 || ret=1
|
||||||
n=`expr $n + 1`
|
n=`expr $n + 1`
|
||||||
if [ $ret != 0 ]; then echo_i "failed"; fi
|
if [ $ret != 0 ]; then echo_i "failed"; fi
|
||||||
status=`expr $status + $ret`
|
status=`expr $status + $ret`
|
||||||
@@ -698,9 +699,9 @@ if ! $FEATURETEST --with-lmdb
|
|||||||
then
|
then
|
||||||
echo_i "check that addzone is fully reversed on failure (--with-lmdb=no) ($n)"
|
echo_i "check that addzone is fully reversed on failure (--with-lmdb=no) ($n)"
|
||||||
ret=0
|
ret=0
|
||||||
$RNDCCMD 10.53.0.3 addzone "test1.baz" '{ type master; file "e.db"; };' > /dev/null 2>&1 || ret=1
|
$RNDCCMD 10.53.0.3 addzone "test1.baz" '{ type primary; file "e.db"; };' > /dev/null 2>&1 || ret=1
|
||||||
$RNDCCMD 10.53.0.3 addzone "test2.baz" '{ type master; file "dne.db"; };' > /dev/null 2>&1 && ret=1
|
$RNDCCMD 10.53.0.3 addzone "test2.baz" '{ type primary; file "dne.db"; };' > /dev/null 2>&1 && ret=1
|
||||||
$RNDCCMD 10.53.0.3 addzone "test3.baz" '{ type master; file "e.db"; };' > /dev/null 2>&1 || ret=1
|
$RNDCCMD 10.53.0.3 addzone "test3.baz" '{ type primary; file "e.db"; };' > /dev/null 2>&1 || ret=1
|
||||||
$RNDCCMD 10.53.0.3 delzone "test3.baz" > /dev/null 2>&1 || ret=1
|
$RNDCCMD 10.53.0.3 delzone "test3.baz" > /dev/null 2>&1 || ret=1
|
||||||
grep test2.baz ns3/_default.nzf > /dev/null && ret=1
|
grep test2.baz ns3/_default.nzf > /dev/null && ret=1
|
||||||
n=`expr $n + 1`
|
n=`expr $n + 1`
|
||||||
@@ -715,13 +716,13 @@ _check_version_bind() (
|
|||||||
|
|
||||||
echo_i "check that named restarts with multiple added zones ($n)"
|
echo_i "check that named restarts with multiple added zones ($n)"
|
||||||
ret=0
|
ret=0
|
||||||
$RNDCCMD 10.53.0.3 addzone "test4.baz" '{ type master; file "e.db"; };' > /dev/null 2>&1 || ret=1
|
$RNDCCMD 10.53.0.3 addzone "test4.baz" '{ type primary; file "e.db"; };' > /dev/null 2>&1 || ret=1
|
||||||
$RNDCCMD 10.53.0.3 addzone "test5.baz" '{ type master; file "e.db"; };' > /dev/null 2>&1 || ret=1
|
$RNDCCMD 10.53.0.3 addzone "test5.baz" '{ type primary; file "e.db"; };' > /dev/null 2>&1 || ret=1
|
||||||
$RNDCCMD 10.53.0.3 addzone '"test/.baz"' '{ type master; check-names ignore; file "e.db"; };' > /dev/null 2>&1 || ret=1
|
$RNDCCMD 10.53.0.3 addzone '"test/.baz"' '{ type primary; check-names ignore; file "e.db"; };' > /dev/null 2>&1 || ret=1
|
||||||
$RNDCCMD 10.53.0.3 addzone '"test\".baz"' '{ type master; check-names ignore; file "e.db"; };' > /dev/null 2>&1 || ret=1
|
$RNDCCMD 10.53.0.3 addzone '"test\".baz"' '{ type primary; check-names ignore; file "e.db"; };' > /dev/null 2>&1 || ret=1
|
||||||
$RNDCCMD 10.53.0.3 addzone '"test\\.baz"' '{ type master; check-names ignore; file "e.db"; };' > /dev/null 2>&1 || ret=1
|
$RNDCCMD 10.53.0.3 addzone '"test\\.baz"' '{ type primary; check-names ignore; file "e.db"; };' > /dev/null 2>&1 || ret=1
|
||||||
$RNDCCMD 10.53.0.3 addzone '"test\032.baz"' '{ type master; check-names ignore; file "e.db"; };' > /dev/null 2>&1 || ret=1
|
$RNDCCMD 10.53.0.3 addzone '"test\032.baz"' '{ type primary; check-names ignore; file "e.db"; };' > /dev/null 2>&1 || ret=1
|
||||||
$RNDCCMD 10.53.0.3 addzone '"test\010.baz"' '{ type master; check-names ignore; file "e.db"; };' > /dev/null 2>&1 || ret=1
|
$RNDCCMD 10.53.0.3 addzone '"test\010.baz"' '{ type primary; check-names ignore; file "e.db"; };' > /dev/null 2>&1 || ret=1
|
||||||
stop_server addzone ns3
|
stop_server addzone ns3
|
||||||
start_server --noclean --restart --port ${PORT} addzone ns3 || ret=1
|
start_server --noclean --restart --port ${PORT} addzone ns3 || ret=1
|
||||||
retry_quiet 10 _check_version_bind || ret=1
|
retry_quiet 10 _check_version_bind || ret=1
|
||||||
|
|||||||
@@ -18,6 +18,6 @@ options {
|
|||||||
};
|
};
|
||||||
|
|
||||||
zone "." {
|
zone "." {
|
||||||
type master;
|
type primary;
|
||||||
file "root.db";
|
file "root.db";
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -25,6 +25,6 @@ zone "." {
|
|||||||
};
|
};
|
||||||
|
|
||||||
zone "normal.example" {
|
zone "normal.example" {
|
||||||
type master;
|
type primary;
|
||||||
file "generic.db";
|
file "generic.db";
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -26,6 +26,6 @@ zone "." {
|
|||||||
};
|
};
|
||||||
|
|
||||||
zone "normal.example" {
|
zone "normal.example" {
|
||||||
type master;
|
type primary;
|
||||||
file "generic.db";
|
file "generic.db";
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -26,6 +26,6 @@ zone "." {
|
|||||||
};
|
};
|
||||||
|
|
||||||
zone "normal.example" {
|
zone "normal.example" {
|
||||||
type master;
|
type primary;
|
||||||
file "generic.db";
|
file "generic.db";
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -26,6 +26,6 @@ zone "." {
|
|||||||
};
|
};
|
||||||
|
|
||||||
zone "normal.example" {
|
zone "normal.example" {
|
||||||
type master;
|
type primary;
|
||||||
file "generic.db";
|
file "generic.db";
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -26,6 +26,6 @@ zone "." {
|
|||||||
};
|
};
|
||||||
|
|
||||||
zone "normal.example" {
|
zone "normal.example" {
|
||||||
type master;
|
type primary;
|
||||||
file "generic.db";
|
file "generic.db";
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -26,6 +26,6 @@ zone "." {
|
|||||||
};
|
};
|
||||||
|
|
||||||
zone "normal.example" {
|
zone "normal.example" {
|
||||||
type master;
|
type primary;
|
||||||
file "generic.db";
|
file "generic.db";
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -28,6 +28,6 @@ zone "." {
|
|||||||
};
|
};
|
||||||
|
|
||||||
zone "normal.example" {
|
zone "normal.example" {
|
||||||
type master;
|
type primary;
|
||||||
file "generic.db";
|
file "generic.db";
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -28,6 +28,6 @@ zone "." {
|
|||||||
};
|
};
|
||||||
|
|
||||||
zone "normal.example" {
|
zone "normal.example" {
|
||||||
type master;
|
type primary;
|
||||||
file "generic.db";
|
file "generic.db";
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -28,6 +28,6 @@ zone "." {
|
|||||||
};
|
};
|
||||||
|
|
||||||
zone "normal.example" {
|
zone "normal.example" {
|
||||||
type master;
|
type primary;
|
||||||
file "generic.db";
|
file "generic.db";
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -31,6 +31,6 @@ zone "." {
|
|||||||
};
|
};
|
||||||
|
|
||||||
zone "normal.example" {
|
zone "normal.example" {
|
||||||
type master;
|
type primary;
|
||||||
file "generic.db";
|
file "generic.db";
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -37,6 +37,6 @@ zone "." {
|
|||||||
};
|
};
|
||||||
|
|
||||||
zone "normal.example" {
|
zone "normal.example" {
|
||||||
type master;
|
type primary;
|
||||||
file "generic.db";
|
file "generic.db";
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -31,6 +31,6 @@ zone "." {
|
|||||||
};
|
};
|
||||||
|
|
||||||
zone "normal.example" {
|
zone "normal.example" {
|
||||||
type master;
|
type primary;
|
||||||
file "generic.db";
|
file "generic.db";
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -27,7 +27,7 @@ view "internal" {
|
|||||||
};
|
};
|
||||||
|
|
||||||
zone "normal.example" {
|
zone "normal.example" {
|
||||||
type master;
|
type primary;
|
||||||
file "generic.db";
|
file "generic.db";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -29,7 +29,7 @@ view "internal" {
|
|||||||
};
|
};
|
||||||
|
|
||||||
zone "normal.example" {
|
zone "normal.example" {
|
||||||
type master;
|
type primary;
|
||||||
file "generic.db";
|
file "generic.db";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -29,7 +29,7 @@ view "internal" {
|
|||||||
};
|
};
|
||||||
|
|
||||||
zone "normal.example" {
|
zone "normal.example" {
|
||||||
type master;
|
type primary;
|
||||||
file "generic.db";
|
file "generic.db";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -29,7 +29,7 @@ view "internal" {
|
|||||||
};
|
};
|
||||||
|
|
||||||
zone "normal.example" {
|
zone "normal.example" {
|
||||||
type master;
|
type primary;
|
||||||
file "generic.db";
|
file "generic.db";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -29,7 +29,7 @@ view "internal" {
|
|||||||
};
|
};
|
||||||
|
|
||||||
zone "normal.example" {
|
zone "normal.example" {
|
||||||
type master;
|
type primary;
|
||||||
file "generic.db";
|
file "generic.db";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -29,7 +29,7 @@ view "internal" {
|
|||||||
};
|
};
|
||||||
|
|
||||||
zone "normal.example" {
|
zone "normal.example" {
|
||||||
type master;
|
type primary;
|
||||||
file "generic.db";
|
file "generic.db";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -31,7 +31,7 @@ view "internal" {
|
|||||||
};
|
};
|
||||||
|
|
||||||
zone "normal.example" {
|
zone "normal.example" {
|
||||||
type master;
|
type primary;
|
||||||
file "generic.db";
|
file "generic.db";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -31,7 +31,7 @@ view "internal" {
|
|||||||
};
|
};
|
||||||
|
|
||||||
zone "normal.example" {
|
zone "normal.example" {
|
||||||
type master;
|
type primary;
|
||||||
file "generic.db";
|
file "generic.db";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -31,7 +31,7 @@ view "internal" {
|
|||||||
};
|
};
|
||||||
|
|
||||||
zone "normal.example" {
|
zone "normal.example" {
|
||||||
type master;
|
type primary;
|
||||||
file "generic.db";
|
file "generic.db";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -34,7 +34,7 @@ view "internal" {
|
|||||||
};
|
};
|
||||||
|
|
||||||
zone "normal.example" {
|
zone "normal.example" {
|
||||||
type master;
|
type primary;
|
||||||
file "generic.db";
|
file "generic.db";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user